Postfix3.3.1
データ構造 | マクロ定義 | 関数
myaddrinfo.h ファイル
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <string.h>
#include <errno.h>
#include <limits.h>

[ソースコード]

データ構造

struct  MAI_HOSTNAME_STR
 
struct  MAI_HOSTADDR_STR
 
struct  MAI_SERVNAME_STR
 
struct  MAI_SERVPORT_STR
 

マクロ定義

#define INET_ADDRSTRLEN   16
 
#define MAI_HOSTADDR_STRSIZE   INET_ADDRSTRLEN
 
#define MAI_HOSTNAME_STRSIZE   1025
 
#define MAI_SERVNAME_STRSIZE   32
 
#define MAI_SERVPORT_STRSIZE   sizeof("65535")
 
#define MAI_V4ADDR_BITS   32
 
#define MAI_V6ADDR_BITS   128
 
#define MAI_V4ADDR_BYTES   ((MAI_V4ADDR_BITS + (CHAR_BIT - 1))/CHAR_BIT)
 
#define MAI_V6ADDR_BYTES   ((MAI_V6ADDR_BITS + (CHAR_BIT - 1))/CHAR_BIT)
 
#define MAI_CTL_END   0 /* list terminator */
 
#define MAI_STRERROR(e)   ((e) == EAI_SYSTEM ? strerror(errno) : gai_strerror(e))
 
#define hostname_to_sockaddr(host, serv, sock, res)   hostname_to_sockaddr_pf((host), PF_UNSPEC, (serv), (sock), (res))
 
#define HOSTNAME_TO_SOCKADDR_PF(host, pf, serv, sock, res)
 
#define HOSTNAME_TO_SOCKADDR(host, serv, sock, res)   HOSTNAME_TO_SOCKADDR_PF((host), PF_UNSPEC, (serv), (sock), (res))
 
#define HOSTADDR_TO_SOCKADDR(host, serv, sock, res)
 
#define SOCKADDR_TO_HOSTADDR(sa, salen, host, port, sock)
 
#define SOCKADDR_TO_HOSTNAME(sa, salen, host, service, sock)
 

関数

int WARN_UNUSED_RESULT hostname_to_sockaddr_pf (const char *, int, const char *, int, struct addrinfo **)
 
int WARN_UNUSED_RESULT hostaddr_to_sockaddr (const char *, const char *, int, struct addrinfo **)
 
int WARN_UNUSED_RESULT sockaddr_to_hostaddr (const struct sockaddr *, SOCKADDR_SIZE, MAI_HOSTADDR_STR *, MAI_SERVPORT_STR *, int)
 
int WARN_UNUSED_RESULT sockaddr_to_hostname (const struct sockaddr *, SOCKADDR_SIZE, MAI_HOSTNAME_STR *, MAI_SERVNAME_STR *, int)
 
void myaddrinfo_control (int,...)
 

マクロ定義詳解

#define HOSTADDR_TO_SOCKADDR (   host,
  serv,
  sock,
  res 
)
値:
do { \
int _aierr; \
_aierr = hostaddr_to_sockaddr((host), (serv), (sock), (res)); \
if (_aierr) \
msg_fatal("hostaddr_to_sockaddr: %s", MAI_STRERROR(_aierr)); \
} while (0)
int WARN_UNUSED_RESULT hostaddr_to_sockaddr(const char *, const char *, int, struct addrinfo **)
Definition: myaddrinfo.c:464
NORETURN msg_fatal(const char *fmt,...)
Definition: msg.c:249
int int
Definition: smtpd_proxy.h:21
#define MAI_STRERROR(e)
Definition: myaddrinfo.h:169

myaddrinfo.h189 行目に定義があります。

#define hostname_to_sockaddr (   host,
  serv,
  sock,
  res 
)    hostname_to_sockaddr_pf((host), PF_UNSPEC, (serv), (sock), (res))

myaddrinfo.h171 行目に定義があります。

#define HOSTNAME_TO_SOCKADDR (   host,
  serv,
  sock,
  res 
)    HOSTNAME_TO_SOCKADDR_PF((host), PF_UNSPEC, (serv), (sock), (res))

myaddrinfo.h186 行目に定義があります。

#define HOSTNAME_TO_SOCKADDR_PF (   host,
  pf,
  serv,
  sock,
  res 
)
値:
do { \
int _aierr; \
_aierr = hostname_to_sockaddr_pf((host), (pf), (serv), (sock), (res)); \
if (_aierr) \
msg_fatal("hostname_to_sockaddr_pf: %s", MAI_STRERROR(_aierr)); \
} while (0)
int WARN_UNUSED_RESULT hostname_to_sockaddr_pf(const char *, int, const char *, int, struct addrinfo **)
Definition: myaddrinfo.c:295
NORETURN msg_fatal(const char *fmt,...)
Definition: msg.c:249
int int
Definition: smtpd_proxy.h:21
#define MAI_STRERROR(e)
Definition: myaddrinfo.h:169

myaddrinfo.h178 行目に定義があります。

#define INET_ADDRSTRLEN   16

myaddrinfo.h115 行目に定義があります。

#define MAI_CTL_END   0 /* list terminator */

myaddrinfo.h167 行目に定義があります。

#define MAI_HOSTADDR_STRSIZE   INET_ADDRSTRLEN

myaddrinfo.h117 行目に定義があります。

#define MAI_HOSTNAME_STRSIZE   1025

myaddrinfo.h120 行目に定義があります。

#define MAI_SERVNAME_STRSIZE   32

myaddrinfo.h121 行目に定義があります。

#define MAI_SERVPORT_STRSIZE   sizeof("65535")

myaddrinfo.h122 行目に定義があります。

#define MAI_STRERROR (   e)    ((e) == EAI_SYSTEM ? strerror(errno) : gai_strerror(e))

myaddrinfo.h169 行目に定義があります。

#define MAI_V4ADDR_BITS   32

myaddrinfo.h124 行目に定義があります。

#define MAI_V4ADDR_BYTES   ((MAI_V4ADDR_BITS + (CHAR_BIT - 1))/CHAR_BIT)

myaddrinfo.h126 行目に定義があります。

#define MAI_V6ADDR_BITS   128

myaddrinfo.h125 行目に定義があります。

#define MAI_V6ADDR_BYTES   ((MAI_V6ADDR_BITS + (CHAR_BIT - 1))/CHAR_BIT)

myaddrinfo.h127 行目に定義があります。

#define SOCKADDR_TO_HOSTADDR (   sa,
  salen,
  host,
  port,
  sock 
)
値:
do { \
int _aierr; \
_aierr = sockaddr_to_hostaddr((sa), (salen), (host), (port), (sock)); \
if (_aierr) \
msg_fatal("sockaddr_to_hostaddr: %s", MAI_STRERROR(_aierr)); \
} while (0)
int WARN_UNUSED_RESULT sockaddr_to_hostaddr(const struct sockaddr *, SOCKADDR_SIZE, MAI_HOSTADDR_STR *, MAI_SERVPORT_STR *, int)
Definition: myaddrinfo.c:580
NORETURN msg_fatal(const char *fmt,...)
Definition: msg.c:249
int int
Definition: smtpd_proxy.h:21
#define MAI_STRERROR(e)
Definition: myaddrinfo.h:169

myaddrinfo.h197 行目に定義があります。

#define SOCKADDR_TO_HOSTNAME (   sa,
  salen,
  host,
  service,
  sock 
)
値:
do { \
int _aierr; \
_aierr = sockaddr_to_hostname((sa), (salen), (host), (service), (sock)); \
if (_aierr) \
msg_fatal("sockaddr_to_hostname: %s", MAI_STRERROR(_aierr)); \
} while (0)
int WARN_UNUSED_RESULT sockaddr_to_hostname(const struct sockaddr *, SOCKADDR_SIZE, MAI_HOSTNAME_STR *, MAI_SERVNAME_STR *, int)
Definition: myaddrinfo.c:631
NORETURN msg_fatal(const char *fmt,...)
Definition: msg.c:249
int int
Definition: smtpd_proxy.h:21
#define MAI_STRERROR(e)
Definition: myaddrinfo.h:169

myaddrinfo.h205 行目に定義があります。

関数詳解

int WARN_UNUSED_RESULT hostaddr_to_sockaddr ( const char *  ,
const char *  ,
int  ,
struct addrinfo **   
)

myaddrinfo.c464 行目に定義があります。

int WARN_UNUSED_RESULT hostname_to_sockaddr_pf ( const char *  ,
int  ,
const char *  ,
int  ,
struct addrinfo **   
)

myaddrinfo.c295 行目に定義があります。

void myaddrinfo_control ( int  ,
  ... 
)

myaddrinfo.c724 行目に定義があります。

int WARN_UNUSED_RESULT sockaddr_to_hostaddr ( const struct sockaddr *  ,
SOCKADDR_SIZE  ,
MAI_HOSTADDR_STR ,
MAI_SERVPORT_STR ,
int   
)

myaddrinfo.c580 行目に定義があります。

int WARN_UNUSED_RESULT sockaddr_to_hostname ( const struct sockaddr *  ,
SOCKADDR_SIZE  ,
MAI_HOSTNAME_STR ,
MAI_SERVNAME_STR ,
int   
)

myaddrinfo.c631 行目に定義があります。