struct apr_sockaddr_t

Overview

APRs socket address type, used to ensure protocol independence More…

#include <apr_network_io.h>

struct apr_sockaddr_t {
    // fields

    apr_pool_t* pool;
    char* hostname;
    char* servname;
    apr_port_t port;
    apr_int32_t family;
    apr_socklen_t salen;
    int ipaddr_len;
    int addr_str_len;
    void* ipaddr_ptr;
    apr_sockaddr_t* next;
    struct sockaddr_in sin;
    struct sockaddr_in6 sin6;
    struct sockaddr_storage sas;
    union apr_sockaddr_t::@0 sa;
};

Detailed Documentation

APRs socket address type, used to ensure protocol independence

Fields

apr_pool_t* pool

The pool to use…

char* hostname

The hostname

char* servname

Either a string of the port number or the service name for the port

apr_port_t port

The numeric port

apr_int32_t family

The family

apr_socklen_t salen

How big is the sockaddr we’re using?

int ipaddr_len

How big is the ip address structure 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* ipaddr_ptr

This points to the IP address structure within the appropriate sockaddr structure.

apr_sockaddr_t* next

If multiple addresses were found by apr_sockaddr_info_get(), this points to a representation of the next address.

struct sockaddr_in sin

IPv4 sockaddr structure

struct sockaddr_in6 sin6

IPv6 sockaddr structure

struct sockaddr_storage sas

Placeholder to ensure that the size of this union is not dependent on whether APR_HAVE_IPV6 is defined.

unnamed-union sa

Union of either IPv4 or IPv6 sockaddr.