/* hosts/amiga/socket_sim.h */
#ifndef SOCKET_SIM_H
#define SOCKET_SIM_H
#include "amiga.h"
#define EMSGSIZE 30
#define ENETUNREACH 31
#define EHOSTUNREACH 32
#define EADDRINUSE 33
#define ETIMEDOUT 34
#define ECONNRESET 35
#define ENOBUFS 36
#define SOCK_STREAM 0
#define SOCK_DGRAM 1
#define SOL_SOCKET 0
#define SO_REUSEADDR 0
#define AF_INET 2 /* internetwork: UDP, TCP, etc. */
typedef short SOCKET_T;
#define INADDR_ANY 0
#define htons(n) (n)
#define socket_number(s) (s)
struct in_addr {
long s_addr;
};
/* sizeof(sockaddr_in) == sizeof(sockaddr) ! */
struct sockaddr_in {
short sin_family;
unsigned short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
};
struct sockaddr {
unsigned short sa_family; /* address family */
char sa_data[14]; /* up to 14 bytes of direct address */
};
struct hostent {
char *h_name; /* official name of host */
char **h_aliases; /* alias list */
int h_addrtype; /* host address type */
int h_length; /* length of address */
char **h_addr_list; /* list of addresses from name server */
#define h_addr h_addr_list[0] /* address, for backward compatiblity */
};
#define setsockopt(s,a,b,c,d) (0)
#define listen(socket,queue_size) (0)
#define socket_ioctl(socket,code,p) (0)
#define ntohl(x) (x)
#ifndef LATTICE
#define recvfrom(s,b,c,f,a,l) (-1)
#define sendto(s,m,n,f,a,l) (-1)
#endif
extern int shutdown (int, int );
extern int write_socket (int, char * , int );
extern int read_socket (int , char * , int );
extern int find_free_socket ();
extern int socket (int , int , int );
extern int accept (int , struct sockaddr * , int * );
extern int close_socket (int);
extern int bind (int , struct sockaddr * , int );
extern int socket_select (int , fd_set * , fd_set * , fd_set *
, struct timeval * );
extern struct hostent *gethostbyname (char * );
extern int gethostname(char * , int );
extern char *inet_ntoa(struct in_addr );
extern unsigned long inet_addr (char *);
extern int getpeername (int , struct sockaddr * , int * );
#endif /* SOCKET_SIM_H */