--- includes.h.orig Sat Jan 26 17:44:22 2002 +++ includes.h Fri Mar 8 20:59:17 2002 @@ -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 @@ -62,5 +61,46 @@ * 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 int 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]; +}; + +/* defines for comatibility with older FreeBSD releases */ +#ifndef SHUT_RD +#define SHUT_RD 0 +#endif +#ifndef SHUT_WR +#define SHUT_WR 1 +#endif +#ifndef SHUT_RDWR +#define SHUT_RDWR 2 +#endif + +#ifndef INET_ADDRSTRLEN +#define INET_ADDRSTRLEN 46 +#endif + +#endif #endif /* INCLUDES_H */