--- includes.h.orig Fri Jan 14 20:15:50 2000 +++ includes.h Fri Jan 14 20:20:05 2000 @@ -24,12 +24,12 @@ #include #include #include -#include #include #include #include #include #include +#include #include #include @@ -38,7 +38,6 @@ #include #include -#include #include #include #include @@ -65,5 +64,30 @@ * client program. Socketpairs do not seem to work on all systems. */ #define USE_PIPES 1 + +#if defined(__FreeBSD__) && __FreeBSD__ <= 3 +/* + * Data types. + */ +typedef u_char sa_family_t; +typedef u_int32_t socklen_t; + +/* + * bsd-api-new-02a: protocol-independent placeholder for socket addresses + */ +#define _SS_MAXSIZE 128 +#define _SS_ALIGNSIZE (sizeof(int64_t)) +#define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof(u_char) * 2) +#define _SS_PAD2SIZE (_SS_MAXSIZE - sizeof(u_char) * 2 - \ + _SS_PAD1SIZE - _SS_ALIGNSIZE) + +struct sockaddr_storage { + u_char ss_len; /* address length */ + sa_family_t ss_family; /* address family */ + char __ss_pad1[_SS_PAD1SIZE]; + int64_t __ss_align; /* force desired structure storage alignment */ + char __ss_pad2[_SS_PAD2SIZE]; +}; +#endif #endif /* INCLUDES_H */