[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