Postfix3.3.1
データ構造 | マクロ定義 | 型定義 | 関数
dns_lookup.c ファイル
#include <sys_defs.h>
#include <netdb.h>
#include <string.h>
#include <ctype.h>
#include <mymalloc.h>
#include <vstring.h>
#include <msg.h>
#include <valid_hostname.h>
#include <stringops.h>
#include <mail_params.h>
#include "dns.h"

[ソースコード]

データ構造

struct  DNS_REPLY
 

マクロ定義

#define LIBDNS_INTERNAL
 
#define DEF_DNS_REPLY_SIZE   4096 /* in case we're using TCP */
 
#define MAX_DNS_REPLY_SIZE   65536 /* in case we're using TCP */
 
#define MAX_DNS_QUERY_SIZE   2048 /* XXX */
 
#define TEST_HAVE_DNS_REPLY_PACKET(r)   ((r)->end > (r)->buf)
 
#define SET_HAVE_DNS_REPLY_PACKET(r, l)   ((r)->end = (r)->buf + (l))
 
#define SET_NO_DNS_REPLY_PACKET(r)   ((r)->end = (r)->buf)
 
#define INET_ADDR_LEN   4 /* XXX */
 
#define INET6_ADDR_LEN   16 /* XXX */
 
#define NO_MKQUERY_DATA_BUF   ((unsigned char *) 0)
 
#define NO_MKQUERY_DATA_LEN   ((int) 0)
 
#define NO_MKQUERY_NEWRR   ((unsigned char *) 0)
 
#define NOT_FOUND_H_ERRNO(he)   ((he) == HOST_NOT_FOUND || (he) == NO_DATA)
 
#define USER_FLAGS   (RES_DEBUG | RES_DNSRCH | RES_DEFNAMES | RES_USE_DNSSEC)
 
#define XTRA_FLAGS   (RES_USE_EDNS0)
 
#define SAVE_FLAGS   (USER_FLAGS | XTRA_FLAGS)
 
#define PASS_NAME   1
 
#define REJECT_NAME   0
 
#define MIN2(a, b)   ((unsigned)(a) < (unsigned)(b) ? (a) : (b))
 
#define CORRUPT(status)
 
#define SAVE_HPREF_STATUS()
 
#define RESTORE_HPREF_STATUS()
 

型定義

typedef struct DNS_REPLY DNS_REPLY
 

関数

int dns_lookup_x (const char *name, unsigned type, unsigned flags, DNS_RR **rrlist, VSTRING *fqdn, VSTRING *why, int *rcode, unsigned lflags)
 
int dns_lookup_rl (const char *name, unsigned flags, DNS_RR **rrlist, VSTRING *fqdn, VSTRING *why, int *rcode, int lflags,...)
 
int dns_lookup_rv (const char *name, unsigned flags, DNS_RR **rrlist, VSTRING *fqdn, VSTRING *why, int *rcode, int lflags, unsigned *types)
 

マクロ定義詳解

#define CORRUPT (   status)
値:
{ \
if (rrlist && *rrlist) { \
dns_rr_free(*rrlist); \
*rrlist = 0; \
} \
return (status); \
}
void dns_rr_free(DNS_RR *)
Definition: dns_rr.c:137
#define DEF_DNS_REPLY_SIZE   4096 /* in case we're using TCP */

dns_lookup.c251 行目に定義があります。

#define INET6_ADDR_LEN   16 /* XXX */

dns_lookup.c278 行目に定義があります。

#define INET_ADDR_LEN   4 /* XXX */

dns_lookup.c277 行目に定義があります。

#define LIBDNS_INTERNAL

dns_lookup.c243 行目に定義があります。

#define MAX_DNS_QUERY_SIZE   2048 /* XXX */

dns_lookup.c253 行目に定義があります。

#define MAX_DNS_REPLY_SIZE   65536 /* in case we're using TCP */

dns_lookup.c252 行目に定義があります。

#define MIN2 (   a,
 
)    ((unsigned)(a) < (unsigned)(b) ? (a) : (b))
#define NO_MKQUERY_DATA_BUF   ((unsigned char *) 0)
#define NO_MKQUERY_DATA_LEN   ((int) 0)
#define NO_MKQUERY_NEWRR   ((unsigned char *) 0)
#define NOT_FOUND_H_ERRNO (   he)    ((he) == HOST_NOT_FOUND || (he) == NO_DATA)
#define PASS_NAME   1
#define REJECT_NAME   0
#define RESTORE_HPREF_STATUS ( )
値:
do { \
status = hpref_status; \
if (rcode) \
*rcode = hpref_rcode; \
if (why && status != DNS_OK) \
vstring_strcpy(why, vstring_str(hpref_rtext)); \
SET_H_ERRNO(hpref_h_errno); \
} while (0)
#define vstring_str(vp)
Definition: vstring.h:71
VSTRING * vstring_strcpy(VSTRING *vp, const char *src)
Definition: vstring.c:431
#define DNS_OK
Definition: dns.h:284
#define SET_H_ERRNO(err)
Definition: sys_defs.h:1695
#define SAVE_FLAGS   (USER_FLAGS | XTRA_FLAGS)
#define SAVE_HPREF_STATUS ( )
値:
do { \
hpref_status = status; \
if (rcode) \
hpref_rcode = *rcode; \
if (why && status != DNS_OK) \
vstring_strcpy(hpref_rtext ? hpref_rtext : \
(hpref_rtext = vstring_alloc(VSTRING_LEN(why))), \
vstring_str(why)); \
hpref_h_errno = h_errno; \
} while (0)
#define vstring_str(vp)
Definition: vstring.h:71
#define VSTRING_LEN(vp)
Definition: vstring.h:72
VSTRING * vstring_strcpy(VSTRING *vp, const char *src)
Definition: vstring.c:431
#define DNS_OK
Definition: dns.h:284
VSTRING * vstring_alloc(ssize_t len)
Definition: vstring.c:353
#define SET_HAVE_DNS_REPLY_PACKET (   r,
 
)    ((r)->end = (r)->buf + (l))

dns_lookup.c274 行目に定義があります。

#define SET_NO_DNS_REPLY_PACKET (   r)    ((r)->end = (r)->buf)

dns_lookup.c275 行目に定義があります。

#define TEST_HAVE_DNS_REPLY_PACKET (   r)    ((r)->end > (r)->buf)

dns_lookup.c273 行目に定義があります。

#define USER_FLAGS   (RES_DEBUG | RES_DNSRCH | RES_DEFNAMES | RES_USE_DNSSEC)
#define XTRA_FLAGS   (RES_USE_EDNS0)

型定義詳解

typedef struct DNS_REPLY DNS_REPLY

関数詳解

int dns_lookup_rl ( const char *  name,
unsigned  flags,
DNS_RR **  rrlist,
VSTRING fqdn,
VSTRING why,
int rcode,
int  lflags,
  ... 
)

dns_lookup.c1054 行目に定義があります。

int dns_lookup_rv ( const char *  name,
unsigned  flags,
DNS_RR **  rrlist,
VSTRING fqdn,
VSTRING why,
int rcode,
int  lflags,
unsigned *  types 
)

dns_lookup.c1130 行目に定義があります。

int dns_lookup_x ( const char *  name,
unsigned  type,
unsigned  flags,
DNS_RR **  rrlist,
VSTRING fqdn,
VSTRING why,
int rcode,
unsigned  lflags 
)

dns_lookup.c914 行目に定義があります。