diff options
Diffstat (limited to 'ext/socket/sockport.h')
-rw-r--r-- | ext/socket/sockport.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/ext/socket/sockport.h b/ext/socket/sockport.h new file mode 100644 index 0000000000..99bec91a1a --- /dev/null +++ b/ext/socket/sockport.h @@ -0,0 +1,43 @@ +/************************************************ + + sockport.h - + + $Author$ + $Date$ + created at: Fri Apr 30 23:19:34 JST 1999 + +************************************************/ + +#ifndef SOCKPORT_H +#define SOCKPORT_H + +#ifndef SA_LEN +# ifdef HAVE_SA_LEN +# define SA_LEN(sa) (sa)->sa_len +# else +# ifdef INET6 +# define SA_LEN(sa) \ + (((sa)->sa_family == AF_INET6) ? sizeof(struct sockaddr_in6) \ + : sizeof(struct sockaddr)) +# else + /* by tradition, sizeof(struct sockaddr) covers most of the sockaddrs */ +# define SA_LEN(sa) (sizeof(struct sockaddr)) +# endif +# endif +#endif + +#ifdef HAVE_SA_LEN +# define SET_SA_LEN(sa, len) (sa)->sa_len = (len) +#else +# define SET_SA_LEN(sa, len) (len) +#endif + +#ifdef HAVE_SIN_LEN +# define SIN_LEN(si) (si)->sin_len +# define SET_SIN_LEN(si,len) (si)->sin_len = (len) +#else +# define SIN_LEN(si) sizeof(struct sockaddr_in) +# define SET_SIN_LEN(si,len) (len) +#endif + +#endif |