getnameinfo.c File Reference
`#include "ruby/config.h"`
`#include <stdio.h>`
`#include <sys/types.h>`
`#include <sys/socket.h>`
`#include <netinet/in.h>`
`#include <netdb.h>`
`#include <string.h>`
`#include <stddef.h>`
`#include "addrinfo.h"`
`#include "sockport.h"`

Go to the source code of this file.

## Data Structures

struct | sockinet
struct | afd

## Macros

#define | SUCCESS 0
#define | ANY 0
#define | YES 1
#define | NO 0
#define | N_INET 0
#define | ENI_NOSOCKET 0
#define | ENI_NOSERVNAME 1
#define | ENI_NOHOSTNAME 2
#define | ENI_MEMORY 3
#define | ENI_SYSTEM 4
#define | ENI_FAMILY 5
#define | ENI_SALEN 6

## Functions

static const char * | inet_ntop (int af, const void *addr, char *numaddr, size_t numaddr_len)
int | getnameinfo (const struct sockaddr *sa, socklen_t salen, char *host, socklen_t hostlen, char *serv, socklen_t servlen, int flags)

## Variables

static struct afd | afdl []

## Macro Definition Documentation

#define ANY 0

Definition at line 78 of file getnameinfo.c.

#define ENI_FAMILY 5

Definition at line 114 of file getnameinfo.c.

Referenced by getnameinfo().

#define ENI_MEMORY 3

Definition at line 112 of file getnameinfo.c.

Referenced by getnameinfo().

#define ENI_NOHOSTNAME 2

Definition at line 111 of file getnameinfo.c.

Referenced by getnameinfo().

#define ENI_NOSERVNAME 1

Definition at line 110 of file getnameinfo.c.

Referenced by getnameinfo().

#define ENI_NOSOCKET 0

Definition at line 109 of file getnameinfo.c.

Referenced by getnameinfo().

#define ENI_SALEN 6

Definition at line 115 of file getnameinfo.c.

Referenced by getnameinfo().

#define ENI_SYSTEM 4

Definition at line 113 of file getnameinfo.c.

Referenced by getnameinfo().

#define N_INET 0

#define NO 0

Definition at line 80 of file getnameinfo.c.

#define SUCCESS 0

Definition at line 77 of file getnameinfo.c.

Referenced by getnameinfo().

#define YES 1

Definition at line 79 of file getnameinfo.c.

## Function Documentation

int getnameinfo | ( | const struct sockaddr * | sa,
|  | socklen_t | salen,
|  | char * | host,
|  | socklen_t | hostlen,
|  | char * | serv,
|  | socklen_t | servlen,
|  | int | flags
| ) |  |

Definition at line 136 of file getnameinfo.c.

References afd::a_addrlen, afd::a_af, afd::a_off, afd::a_socklen, afdl, ENI_FAMILY, ENI_MEMORY, ENI_NOHOSTNAME, ENI_NOSERVNAME, ENI_NOSOCKET, ENI_SALEN, ENI_SYSTEM, freehostent, i, if(), IN_CLASSA_NSHIFT, IN_EXPERIMENTAL, IN_MULTICAST, inet_ntop(), len, NI_DGRAM, NI_NAMEREQD, NI_NOFQDN, NI_NUMERICHOST, NI_NUMERICSERV, NULL, p, SA_LEN, snprintf, strchr(), strlen(), SUCCESS, u_long, and u_short.

Referenced by addrinfo_getnameinfo(), addrinfo_mdump(), inspect_sockaddr(), nogvl_getnameinfo(), and rb_getnameinfo().

static const char* inet_ntop | ( | int | af,
|  | const void * | addr,
|  | char * | numaddr,
|  | size_t | numaddr_len
| ) |  |

static

Definition at line 119 of file getnameinfo.c.

References snprintf.

Referenced by getnameinfo().

## Variable Documentation

struct afd afdl[]

static

Initial value:
= {
#define N_INET
{PF_INET, sizeof(struct in_addr),
sizeof(struct sockaddr_in),
offsetof(struct sockaddr_in, sin_addr)},
{0, 0, 0, 0},
}

Referenced by getnameinfo().