Riferimenti per il file irc_getaddrinfo.c

#include "stdinc.h"
#include <stdarg.h>
#include "irc_getaddrinfo.h"
#include "ircd_defs.h"

Vai al codice sorgente di questo file.

Strutture dati

struct  afd
struct  explore

Definizioni

#define N_INET6   0
#define N_INET   1
#define WILD_AF(ex)   ((ex)->e_wild & 0x01)
#define WILD_SOCKTYPE(ex)   ((ex)->e_wild & 0x02)
#define WILD_PROTOCOL(ex)   ((ex)->e_wild & 0x04)
#define PTON_MAX   16
#define GET_AI(ai, afd, addr)
#define GET_PORT(ai, serv)
#define ERR(err)
#define MATCH_FAMILY(x, y, w)   ((x) == (y) || (/*CONSTCOND*/(w) && ((x) == PF_UNSPEC || (y) == PF_UNSPEC)))
#define MATCH(x, y, w)   ((x) == (y) || (/*CONSTCOND*/(w) && ((x) == ANY || (y) == ANY)))

Funzioni

static int str_isnumber (const char *)
static int explore_null (const struct addrinfo *, const char *, struct addrinfo **)
static int explore_numeric (const struct addrinfo *, const char *, const char *, struct addrinfo **)
static struct addrinfo * get_ai (const struct addrinfo *, const struct afd *, const char *)
static int get_portmatch (const struct addrinfo *, const char *)
static int get_port (struct addrinfo *, const char *, int)
static struct afdfind_afd (int)
void irc_freeaddrinfo (struct addrinfo *ai)
int irc_getaddrinfo (const char *hostname, const char *servname, const struct addrinfo *hints, struct addrinfo **res)

Variabili

static const char in_addrany [] = { 0, 0, 0, 0 }
static const char in_loopback [] = { 127, 0, 0, 1 }
static const char in6_addrany []
static const char in6_loopback []
static struct afd afdl []
static struct explore explore []


Documentazione delle definizioni

#define ERR ( err   ) 

Valore:

do { \
        /* external reference: error, and label bad */ \
        error = (err); \
        goto bad; \
        /*NOTREACHED*/ \
} while (/*CONSTCOND*/0)

Definizione alla linea 149 del file irc_getaddrinfo.c.

Referenziato da explore_numeric(), e irc_getaddrinfo().

#define GET_AI ( ai,
afd,
addr   ) 

Valore:

do { \
        /* external reference: pai, error, and label free */ \
        (ai) = get_ai(pai, (afd), (addr)); \
        if ((ai) == NULL) { \
                error = EAI_MEMORY; \
                goto free; \
        } \
} while (/*CONSTCOND*/0)

Definizione alla linea 131 del file irc_getaddrinfo.c.

Referenziato da explore_null(), e explore_numeric().

#define GET_PORT ( ai,
serv   ) 

Valore:

do { \
        /* external reference: error and label free */ \
        error = get_port((ai), (serv), 0); \
        if (error != 0) \
                goto free; \
} while (/*CONSTCOND*/0)

Definizione alla linea 141 del file irc_getaddrinfo.c.

Referenziato da explore_null(), e explore_numeric().

#define MATCH ( x,
y,
 )     ((x) == (y) || (/*CONSTCOND*/(w) && ((x) == ANY || (y) == ANY)))

Definizione alla linea 159 del file irc_getaddrinfo.c.

Referenziato da irc_getaddrinfo().

#define MATCH_FAMILY ( x,
y,
 )     ((x) == (y) || (/*CONSTCOND*/(w) && ((x) == PF_UNSPEC || (y) == PF_UNSPEC)))

Definizione alla linea 157 del file irc_getaddrinfo.c.

Referenziato da irc_getaddrinfo().

#define N_INET   1

#define N_INET6   0

#define PTON_MAX   16

Definizione alla linea 97 del file irc_getaddrinfo.c.

Referenziato da explore_numeric().

#define WILD_AF ( ex   )     ((ex)->e_wild & 0x01)

Definizione alla linea 77 del file irc_getaddrinfo.c.

Referenziato da irc_getaddrinfo().

#define WILD_PROTOCOL ( ex   )     ((ex)->e_wild & 0x04)

Definizione alla linea 79 del file irc_getaddrinfo.c.

Referenziato da irc_getaddrinfo().

#define WILD_SOCKTYPE ( ex   )     ((ex)->e_wild & 0x02)

Definizione alla linea 78 del file irc_getaddrinfo.c.

Referenziato da irc_getaddrinfo().


Documentazione delle funzioni

static int explore_null ( const struct addrinfo *  pai,
const char *  servname,
struct addrinfo **  res 
) [static]

static int explore_numeric ( const struct addrinfo *  pai,
const char *  hostname,
const char *  servname,
struct addrinfo **  res 
) [static]

Definizione alla linea 434 del file irc_getaddrinfo.c.

Riferimenti afd::a_af, EAI_FAMILY, ERR, find_afd(), GET_AI, GET_PORT, get_portmatch(), irc_freeaddrinfo(), e PTON_MAX.

Referenziato da irc_getaddrinfo().

static struct afd * find_afd ( int  af  )  [static, read]

Definizione alla linea 603 del file irc_getaddrinfo.c.

Riferimenti afd::a_af, e afdl.

Referenziato da explore_null(), e explore_numeric().

static struct addrinfo * get_ai ( const struct addrinfo *  pai,
const struct afd afd,
const char *  addr 
) [static, read]

Definizione alla linea 497 del file irc_getaddrinfo.c.

Riferimenti afd::a_addrlen, afd::a_af, afd::a_off, e afd::a_socklen.

static int get_port ( struct addrinfo *  ai,
const char *  servname,
int  matchonly 
) [static]

Definizione alla linea 526 del file irc_getaddrinfo.c.

Riferimenti ANY, EAI_SERVICE, EAI_SOCKTYPE, e str_isnumber().

Referenziato da get_portmatch().

static int get_portmatch ( const struct addrinfo *  ai,
const char *  servname 
) [static]

Definizione alla linea 518 del file irc_getaddrinfo.c.

Riferimenti get_port().

Referenziato da explore_null(), explore_numeric(), e irc_getaddrinfo().

void irc_freeaddrinfo ( struct addrinfo *  ai  ) 

int irc_getaddrinfo ( const char *  hostname,
const char *  servname,
const struct addrinfo *  hints,
struct addrinfo **  res 
)

static int str_isnumber ( const char *  p  )  [static]

Definizione alla linea 189 del file irc_getaddrinfo.c.

Riferimenti NO, e YES.

Referenziato da get_port().


Documentazione delle variabili

struct afd afdl[] [static]

Referenziato da find_afd(), e irc_getnameinfo().

struct explore explore[] [static]

Valore iniziale:

 {





        { PF_INET, SOCK_DGRAM, IPPROTO_UDP, "udp", 0x07 },
        { PF_INET, SOCK_STREAM, IPPROTO_TCP, "tcp", 0x07 },
        { PF_INET, SOCK_RAW, ANY, NULL, 0x05 },
        { PF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, "udp", 0x07 },
        { PF_UNSPEC, SOCK_STREAM, IPPROTO_TCP, "tcp", 0x07 },
        { PF_UNSPEC, SOCK_RAW, ANY, NULL, 0x05 },
        { -1, 0, 0, NULL, 0 },
}

Definizione alla linea 82 del file irc_getaddrinfo.c.

const char in6_addrany[] [static]

Valore iniziale:

 {
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}

Definizione alla linea 40 del file irc_getaddrinfo.c.

const char in6_loopback[] [static]

Valore iniziale:

 {
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1
}

Definizione alla linea 43 del file irc_getaddrinfo.c.

const char in_addrany[] = { 0, 0, 0, 0 } [static]

Definizione alla linea 38 del file irc_getaddrinfo.c.

const char in_loopback[] = { 127, 0, 0, 1 } [static]

Definizione alla linea 39 del file irc_getaddrinfo.c.


Generato il Wed Apr 15 00:19:20 2009 per ircd-hybrid da  doxygen 1.5.6