# if defined(AMITCP) || defined(AS225)

#   include <sys/types.h>
#   include <sys/errno.h>
#   include <sys/ioctl.h>
#   include <sys/socket.h>
#   include <netinet/in.h>
#   include <netdb.h>

#   ifdef AMITCP
#     include <clib/socket_protos.h>
extern struct Library *SocketBase;
#   endif /* AMITCP */

#   ifdef AS225
extern struct Library *SockBase;
#   endif

# else  /* define what is used for simulation */

#  define EMSGSIZE     40
#  define ENETUNREACH  51
#  define EHOSTUNREACH 65
#  define EADDRINUSE   48
#  define ETIMEDOUT    60
#  define ECONNRESET   54
#  define ENOBUFS      55

#  define SOCK_STREAM 0
#  define SOCK_DGRAM 1

#  define SOL_SOCKET 0
#  define SO_REUSEADDR 0

#  define AF_INET         2

#  define INADDR_ANY 0

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 */
};

#endif
