RTEMS CPU Kit with SuperCore  4.11.3
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
nameser.h File Reference
#include <sys/types.h>
#include <sys/cdefs.h>
#include <arpa/nameser_compat.h>
Include dependency graph for nameser.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  __ns_msg
 
struct  _ns_flagdata
 
struct  __ns_rr
 
struct  ns_updrec
 

Macros

#define BIND_4_COMPAT
 
#define __NAMESER   19961001 /* New interface version stamp. */
 
#define NS_PACKETSZ   512 /* maximum packet size */
 
#define NS_MAXDNAME   1025 /* maximum domain name */
 
#define NS_MAXCDNAME   255 /* maximum compressed domain name */
 
#define NS_MAXLABEL   63 /* maximum length of domain label */
 
#define NS_HFIXEDSZ   12 /* #/bytes of fixed data in header */
 
#define NS_QFIXEDSZ   4 /* #/bytes of fixed data in query */
 
#define NS_RRFIXEDSZ   10 /* #/bytes of fixed data in r record */
 
#define NS_INT32SZ   4 /* #/bytes of data in a u_int32_t */
 
#define NS_INT16SZ   2 /* #/bytes of data in a u_int16_t */
 
#define NS_INT8SZ   1 /* #/bytes of data in a u_int8_t */
 
#define NS_INADDRSZ   4 /* IPv4 T_A */
 
#define NS_IN6ADDRSZ   16 /* IPv6 T_AAAA */
 
#define NS_CMPRSFLGS   0xc0 /* Flag bits indicating name compression. */
 
#define NS_DEFAULTPORT   53 /* For both TCP and UDP. */
 
#define ns_msg_getflag(handle, flag)
 
#define ns_msg_id(handle)   ((handle)._id + 0)
 
#define ns_msg_base(handle)   ((handle)._msg + 0)
 
#define ns_msg_end(handle)   ((handle)._eom + 0)
 
#define ns_msg_size(handle)   ((handle)._eom - (handle)._msg)
 
#define ns_msg_count(handle, section)   ((handle)._counts[section] + 0)
 
#define ns_rr_name(rr)   (((rr).name[0] != '\0') ? (rr).name : ".")
 
#define ns_rr_type(rr)   ((rr).type + 0)
 
#define ns_rr_class(rr)   ((rr).rr_class + 0)
 
#define ns_rr_ttl(rr)   ((rr).ttl + 0)
 
#define ns_rr_rdlen(rr)   ((rr).rdlength + 0)
 
#define ns_rr_rdata(rr)   ((rr).rdata + 0)
 
#define NS_KEY_TYPEMASK   0xC000 /* Mask for "type" bits */
 
#define NS_KEY_TYPE_AUTH_CONF   0x0000 /* Key usable for both */
 
#define NS_KEY_TYPE_CONF_ONLY   0x8000 /* Key usable for confidentiality */
 
#define NS_KEY_TYPE_AUTH_ONLY   0x4000 /* Key usable for authentication */
 
#define NS_KEY_TYPE_NO_KEY   0xC000 /* No key usable for either; no key */
 
#define NS_KEY_NO_AUTH   0x8000 /* Key unusable for authentication */
 
#define NS_KEY_NO_CONF   0x4000 /* Key unusable for confidentiality */
 
#define NS_KEY_EXPERIMENTAL   0x2000 /* Security is *mandatory* if bit=0 */
 
#define NS_KEY_RESERVED3   0x1000 /* reserved - must be zero */
 
#define NS_KEY_RESERVED4   0x0800 /* reserved - must be zero */
 
#define NS_KEY_USERACCOUNT   0x0400 /* key is assoc. with a user acct */
 
#define NS_KEY_ENTITY   0x0200 /* key is assoc. with entity eg host */
 
#define NS_KEY_ZONEKEY   0x0100 /* key is zone key */
 
#define NS_KEY_IPSEC   0x0080 /* key is for IPSEC (host or user)*/
 
#define NS_KEY_EMAIL   0x0040 /* key is for email (MIME security) */
 
#define NS_KEY_RESERVED10   0x0020 /* reserved - must be zero */
 
#define NS_KEY_RESERVED11   0x0010 /* reserved - must be zero */
 
#define NS_KEY_SIGNATORYMASK   0x000F /* key can sign RR's of same name */
 
#define NS_KEY_RESERVED_BITMASK
 
#define NS_ALG_MD5RSA   1 /* MD5 with RSA */
 
#define NS_ALG_EXPIRE_ONLY   253 /* No alg, no security */
 
#define NS_ALG_PRIVATE_OID   254 /* Key begins with OID giving alg */
 
#define NS_MD5RSA_MIN_BITS   512 /* Size of a mod or exp in bits */
 
#define NS_MD5RSA_MAX_BITS   2552
 
#define NS_MD5RSA_MAX_BYTES   ((NS_MD5RSA_MAX_BITS+7/8)*2+3)
 
#define NS_MD5RSA_MAX_BASE64   (((NS_MD5RSA_MAX_BYTES+2)/3)*4)
 
#define NS_SIG_TYPE   0 /* Type flags */
 
#define NS_SIG_ALG   2 /* Algorithm */
 
#define NS_SIG_LABELS   3 /* How many labels in name */
 
#define NS_SIG_OTTL   4 /* Original TTL */
 
#define NS_SIG_EXPIR   8 /* Expiration time */
 
#define NS_SIG_SIGNED   12 /* Signature time */
 
#define NS_SIG_FOOT   16 /* Key footprint */
 
#define NS_SIG_SIGNER   18 /* Domain name of who signed it */
 
#define NS_NXT_BITS   8
 
#define NS_NXT_BIT_SET( n, p)   (p[(n)/NS_NXT_BITS] |= (0x80>>((n)%NS_NXT_BITS)))
 
#define NS_NXT_BIT_CLEAR(n, p)   (p[(n)/NS_NXT_BITS] &= ~(0x80>>((n)%NS_NXT_BITS)))
 
#define NS_NXT_BIT_ISSET(n, p)   (p[(n)/NS_NXT_BITS] & (0x80>>((n)%NS_NXT_BITS)))
 
#define NS_GET16(s, cp)
 
#define NS_GET32(l, cp)
 
#define NS_PUT16(s, cp)
 
#define NS_PUT32(l, cp)
 
#define ns_get16   __ns_get16
 
#define ns_get32   __ns_get32
 
#define ns_put16   __ns_put16
 
#define ns_put32   __ns_put32
 
#define ns_initparse   __ns_initparse
 
#define ns_parserr   __ns_parserr
 
#define ns_sprintrr   __ns_sprintrr
 
#define ns_sprintrrf   __ns_sprintrrf
 
#define ns_format_ttl   __ns_format_ttl
 
#define ns_parse_ttl   __ns_parse_ttl
 
#define ns_name_ntop   __ns_name_ntop
 
#define ns_name_pton   __ns_name_pton
 
#define ns_name_unpack   __ns_name_unpack
 
#define ns_name_pack   __ns_name_pack
 
#define ns_name_compress   __ns_name_compress
 
#define ns_name_uncompress   __ns_name_uncompress
 

Typedefs

typedef enum __ns_sect ns_sect
 
typedef struct __ns_msg ns_msg
 
typedef struct __ns_rr ns_rr
 
typedef enum __ns_flag ns_flag
 
typedef enum __ns_opcode ns_opcode
 
typedef enum __ns_rcode ns_rcode
 
typedef enum __ns_update_operation ns_update_operation
 
typedef struct ns_updrec ns_updrec
 
typedef enum __ns_type ns_type
 
typedef enum __ns_class ns_class
 

Enumerations

enum  __ns_sect {
  ns_s_qd = 0, ns_s_zn = 0, ns_s_an = 1, ns_s_pr = 1,
  ns_s_ns = 2, ns_s_ud = 2, ns_s_ar = 3, ns_s_max = 4
}
 
enum  __ns_flag {
  ns_f_qr, ns_f_opcode, ns_f_aa, ns_f_tc,
  ns_f_rd, ns_f_ra, ns_f_z, ns_f_ad,
  ns_f_cd, ns_f_rcode, ns_f_max
}
 
enum  __ns_opcode {
  ns_o_query = 0, ns_o_iquery = 1, ns_o_status = 2, ns_o_notify = 4,
  ns_o_update = 5, ns_o_max = 6
}
 
enum  __ns_rcode {
  ns_r_noerror = 0, ns_r_formerr = 1, ns_r_servfail = 2, ns_r_nxdomain = 3,
  ns_r_notimpl = 4, ns_r_refused = 5, ns_r_yxdomain = 6, ns_r_yxrrset = 7,
  ns_r_nxrrset = 8, ns_r_notauth = 9, ns_r_notzone = 10, ns_r_max = 11
}
 
enum  __ns_update_operation { ns_uop_delete = 0, ns_uop_add = 1, ns_uop_max = 2 }
 
enum  __ns_type {
  ns_t_a = 1, ns_t_ns = 2, ns_t_md = 3, ns_t_mf = 4,
  ns_t_cname = 5, ns_t_soa = 6, ns_t_mb = 7, ns_t_mg = 8,
  ns_t_mr = 9, ns_t_null = 10, ns_t_wks = 11, ns_t_ptr = 12,
  ns_t_hinfo = 13, ns_t_minfo = 14, ns_t_mx = 15, ns_t_txt = 16,
  ns_t_rp = 17, ns_t_afsdb = 18, ns_t_x25 = 19, ns_t_isdn = 20,
  ns_t_rt = 21, ns_t_nsap = 22, ns_t_nsap_ptr = 23, ns_t_sig = 24,
  ns_t_key = 25, ns_t_px = 26, ns_t_gpos = 27, ns_t_aaaa = 28,
  ns_t_loc = 29, ns_t_nxt = 30, ns_t_eid = 31, ns_t_nimloc = 32,
  ns_t_srv = 33, ns_t_atma = 34, ns_t_naptr = 35, ns_t_opt = 41,
  ns_t_ixfr = 251, ns_t_axfr = 252, ns_t_mailb = 253, ns_t_maila = 254,
  ns_t_any = 255, ns_t_max = 65536
}
 
enum  __ns_class {
  ns_c_in = 1, ns_c_chaos = 3, ns_c_hs = 4, ns_c_none = 254,
  ns_c_any = 255, ns_c_max = 65536
}
 

Functions

__BEGIN_DECLS u_int ns_get16 (const u_char *)
 
u_long ns_get32 (const u_char *)
 
void ns_put16 (u_int, u_char *)
 
void ns_put32 (u_long, u_char *)
 
int ns_initparse (const u_char *, int, ns_msg *)
 
int ns_parserr (ns_msg *, ns_sect, int, ns_rr *)
 
int ns_sprintrr (const ns_msg *, const ns_rr *, const char *, const char *, char *, size_t)
 
int ns_sprintrrf (const u_char *, size_t, const char *, ns_class, ns_type, u_long, const u_char *, size_t, const char *, const char *, char *, size_t)
 
int ns_format_ttl (u_long, char *, size_t)
 
int ns_parse_ttl (const char *, u_long *)
 
int ns_name_ntop (const u_char *, char *, size_t)
 
int ns_name_pton (const char *, u_char *, size_t)
 
int ns_name_unpack (const u_char *, const u_char *, const u_char *, u_char *, size_t)
 
int ns_name_pack (const u_char *, u_char *, int, const u_char **, const u_char **)
 
int ns_name_uncompress (const u_char *, const u_char *, const u_char *, char *, size_t)
 
int ns_name_compress (const char *, u_char *, size_t, const u_char **, const u_char **)
 
int ns_name_skip (const u_char **, const u_char *)
 

Variables

struct _ns_flagdata _ns_flagdata []
 

Macro Definition Documentation

◆ NS_GET16

#define NS_GET16 (   s,
  cp 
)
Value:
{ \
register u_char *t_cp = (u_char *)(cp); \
(s) = ((u_int16_t)t_cp[0] << 8) \
| ((u_int16_t)t_cp[1]) \
; \
(cp) += NS_INT16SZ; \
}

◆ NS_GET32

#define NS_GET32 (   l,
  cp 
)
Value:
{ \
register u_char *t_cp = (u_char *)(cp); \
(l) = ((u_int32_t)t_cp[0] << 24) \
| ((u_int32_t)t_cp[1] << 16) \
| ((u_int32_t)t_cp[2] << 8) \
| ((u_int32_t)t_cp[3]) \
; \
(cp) += NS_INT32SZ; \
}

◆ NS_KEY_RESERVED_BITMASK

#define NS_KEY_RESERVED_BITMASK
Value:
( NS_KEY_RESERVED3 | \
NS_KEY_RESERVED4 | \
NS_KEY_RESERVED10 | \
NS_KEY_RESERVED11 )

◆ ns_msg_getflag

#define ns_msg_getflag (   handle,
  flag 
)
Value:
( \
((handle)._flags & _ns_flagdata[flag].mask) \
>> _ns_flagdata[flag].shift \
)
Definition: nameser.h:125

◆ NS_PUT16

#define NS_PUT16 (   s,
  cp 
)
Value:
{ \
register u_int16_t t_s = (u_int16_t)(s); \
register u_char *t_cp = (u_char *)(cp); \
*t_cp++ = t_s >> 8; \
*t_cp = t_s; \
(cp) += NS_INT16SZ; \
}

◆ NS_PUT32

#define NS_PUT32 (   l,
  cp 
)
Value:
{ \
register u_int32_t t_l = (u_int32_t)(l); \
register u_char *t_cp = (u_char *)(cp); \
*t_cp++ = t_l >> 24; \
*t_cp++ = t_l >> 16; \
*t_cp++ = t_l >> 8; \
*t_cp = t_l; \
(cp) += NS_INT32SZ; \
}