[EMAIL PROTECTED] wrote: > > dreid 00/11/10 08:16:06 > > Modified: src/lib/apr/include apr_network_io.h > Log: > Add the apr_sockaddr_t type. I've added a single pointer that should be > used > to point at the address structure. The port and family are in the same > place in > either a v4 or v6 sockaddr so we don't need to worry about those, but in a > v6 > sockaddr they start at different points. > > I'll wait a while before starting to move this into the code as it's going > to break > a good few things :) > > Revision Changes Path > 1.67 +29 -0 apache-2.0/src/lib/apr/include/apr_network_io.h > > Index: apr_network_io.h > =================================================================== > RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_network_io.h,v > retrieving revision 1.66 > retrieving revision 1.67 > diff -u -r1.66 -r1.67 > --- apr_network_io.h 2000/11/10 16:11:13 1.66 > +++ apr_network_io.h 2000/11/10 16:16:06 1.67 > @@ -137,6 +137,35 @@ > /* use apr_uint16_t just in case some system has a short that isn't 16 > bits... */ > typedef apr_uint16_t apr_port_t; > > +/* we're going to roll our own sockaddr type as we want to make sure > + * we have protocol independance for APR... > + * > + * It's defined here as I think it should all be platform safe... > + */ > +typedef struct { > + apr_pool_t *pool; /* The pool to use... */ > + char *hostname; /* The hostname */ > + char *servname; /* This is either a string of the port > number or > + * the service name for the port > + */ > + apr_port_t port; /* The numeric port */ > + union { > + struct sockaddr_in sin; /* IPv4 sockaddr structure */ > +#if APR_HAVE_IPV6 > + struct sockaddr_in6 sin6; /* IPv6 sockaddr structure */ > +#endif > + } sa; > + apr_socklen_t sa_len; /* How big is the sockaddr we're using? > */ > + int addr_str_len; /* How big should the address buffer be? > + * 16 for v4 or 46 for v6 > + * used in inet_ntop... > + */ > + void *addr_ptr; /* This should be set to point to the > + * sockaddr structure address we're > using... > + * i.e. sa.sin.sin_addr or > sa.sin6.sin6_addr > + */
Do what? They're at the same address!!! Cheers, Ben. -- http://www.apache-ssl.org/ben.html "There is no limit to what a man can do or how far he can go if he doesn't mind who gets the credit." - Robert Woodruff