httpd-docs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dr...@locus.apache.org
Subject cvs commit: apache-2.0/src/lib/apr/include apr_network_io.h
Date Fri, 10 Nov 2000 16:16:06 GMT
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
  +                                    */
  +} apr_sockaddr_t;
  +
   #if APR_HAS_SENDFILE
   /* Define flags passed in on apr_sendfile() */
   #define APR_SENDFILE_DISCONNECT_SOCKET      1
  
  
  

Mime
View raw message