#include <arpa/nameser.h>
arpa/nameser.h
$Id: nameser.h,v 1.16 2009/03/03 01:52:48 each Exp $
$FreeBSD$
macroNS_PACKETSZ
Define constants based on RFC0883, RFC1034, RFC 1035
#define NS_PACKETSZ 512
%< default UDP packet size
macroNS_MAXPADDR
#define NS_MAXPADDR (sizeof "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff")
macrons_sect
These can be expanded with synonyms, just keep ns_parse.c:ns_parserecord()
in synch with it.
#define ns_sect res_9_ns_sect
enum__ns_sect
| ns_s_qd | 0 | %< Query: Question. |
| ns_s_zn | 0 | %< Update: Zone. |
| ns_s_an | 1 | %< Query: Answer. |
| ns_s_pr | 1 | %< Update: Prerequisites. |
| ns_s_ns | 2 | %< Query: Name servers. |
| ns_s_ud | 2 | %< Update: Update. |
| ns_s_ar | 3 | %< Query|Update: Additional records. |
| ns_s_max | 4 |
typedefres_9_ns_sect
typedef enum __ns_sect res_9_ns_sect;
typedefns_nname
%
Network name (compressed or not) type. Equivalent to a pointer when used
in a function prototype. Can be const'd.
typedef u_char ns_nname[NS_MAXNNAME]
typedefns_nname_ct
typedef const u_char *ns_nname_ct
typedefns_nname_t
typedef u_char *ns_nname_t
structns_namemap
| ns_nname_ct | base | |
| int | len |
typedefns_namemap_t
typedef struct ns_namemap *ns_namemap_t
typedefns_namemap_ct
typedef const struct ns_namemap *ns_namemap_ct
macrons_msg
%
This is a message handle. It is caller allocated and has no dynamic data.
This structure is intended to be opaque to all but ns_parse.c, thus the
leading _'s on the member names. Use the accessor functions, not the _'s.
#define ns_msg res_9_ns_msg
struct__ns_msg
| const u_char * | _msg | |
| const u_char * | _eom | |
| u_int16_t | _id | |
| u_int16_t | _flags | |
| u_int16_t[4] | _counts | |
| const u_char *[4] | _sections | |
| res_9_ns_sect | _sect | |
| int | _rrnum | |
| const u_char * | _msg_ptr |
typedefres_9_ns_msg
typedef struct __ns_msg res_9_ns_msg;
macro_ns_flagdata
Private data structure - do not use from outside library.
#define _ns_flagdata _res_9_ns_flagdata
struct_res_9_ns_flagdata
| int | mask | |
| int | shift |
variable_res_9_ns_flagdata
extern struct _ns_flagdata _ns_flagdata[]
macrons_msg_id
#define ns_msg_id(handle) ((handle)._id + 0)
macrons_msg_base
#define ns_msg_base(handle) ((handle)._msg + 0)
macrons_msg_end
#define ns_msg_end(handle) ((handle)._eom + 0)
macrons_msg_size
#define ns_msg_size(handle) ((handle)._eom - (handle)._msg)
macrons_msg_count
#define ns_msg_count(handle, section) ((handle)._counts[section] + 0)
macrons_rr
%
This is a parsed record. It is caller allocated and has no dynamic data.
#define ns_rr res_9_ns_rr
struct__ns_rr
| char[1025] | name | |
| u_int16_t | type | |
| u_int16_t | rr_class | |
| u_int32_t | ttl | |
| u_int16_t | rdlength | |
| const u_char * | rdata |
typedefres_9_ns_rr
typedef struct __ns_rr res_9_ns_rr;
struct__ns_rr2
Same thing, but using uncompressed network binary names, and real C types.
| ns_nname | nname | |
| size_t | nnamel | |
| int | type | |
| int | rr_class | |
| u_int | ttl | |
| int | rdlength | |
| const u_char * | rdata |
macrons_rr_name
Accessor macros - this is part of the public interface.
#define ns_rr_name(rr) (((rr).name[0] != '\0') ? (rr).name : ".")
macrons_rr_nname
#define ns_rr_nname(rr) ((const ns_nname_t)(rr).nname)
macrons_rr_nnamel
#define ns_rr_nnamel(rr) ((rr).nnamel + 0)
macrons_rr_type
#define ns_rr_type(rr) ((ns_type)((rr).type + 0))
macrons_rr_class
#define ns_rr_class(rr) ((ns_class)((rr).rr_class + 0))
macrons_rr_ttl
#define ns_rr_ttl(rr) ((rr).ttl + 0)
macrons_rr_rdlen
#define ns_rr_rdlen(rr) ((rr).rdlength + 0)
macrons_rr_rdata
#define ns_rr_rdata(rr) ((rr).rdata + 0)
macrons_flag
%
These don't have to be in the same order as in the packet flags word,
and they can even overlap in some cases, but they will need to be kept
in synch with ns_parse.c:ns_flagdata[].
#define ns_flag res_9_ns_flag
enum__ns_flag
| ns_f_qr | 0 | %< Question/Response. |
| ns_f_opcode | 1 | %< Operation code. |
| ns_f_aa | 2 | %< Authoritative Answer. |
| ns_f_tc | 3 | %< Truncation occurred. |
| ns_f_rd | 4 | %< Recursion Desired. |
| ns_f_ra | 5 | %< Recursion Available. |
| ns_f_z | 6 | %< MBZ. |
| ns_f_ad | 7 | %< Authentic Data (DNSSEC). |
| ns_f_cd | 8 | %< Checking Disabled (DNSSEC). |
| ns_f_rcode | 9 | %< Response code. |
| ns_f_max | 10 |
typedefres_9_ns_flag
typedef enum __ns_flag res_9_ns_flag;
enum__ns_opcode
| ns_o_query | 0 | %< Standard query. |
| ns_o_iquery | 1 | %< Inverse query (deprecated/unsupported). |
| ns_o_status | 2 | %< Name server status query (unsupported). |
| ns_o_notify | 4 | Opcode 3 is undefined/reserved. %< Zone change notification. |
| ns_o_update | 5 | %< Zone update message. |
| ns_o_max | 6 |
typedefres_9_ns_opcode
typedef enum __ns_opcode res_9_ns_opcode;
enum__ns_rcode
| ns_r_noerror | 0 | %< No error occurred. |
| ns_r_formerr | 1 | %< Format error. |
| ns_r_servfail | 2 | %< Server failure. |
| ns_r_nxdomain | 3 | %< Name error. |
| ns_r_notimpl | 4 | %< Unimplemented. |
| ns_r_refused | 5 | %< Operation refused. |
| ns_r_yxdomain | 6 | these are for BIND_UPDATE %< Name exists |
| ns_r_yxrrset | 7 | %< RRset exists |
| ns_r_nxrrset | 8 | %< RRset does not exist |
| ns_r_notauth | 9 | %< Not authoritative for zone |
| ns_r_notzone | 10 | %< Zone of record different from zone section |
| ns_r_max | 11 | |
| ns_r_badvers | 16 | The following are EDNS extended rcodes |
| ns_r_badsig | 16 | The following are TSIG errors |
| ns_r_badkey | 17 | |
| ns_r_badtime | 18 |
typedefres_9_ns_rcode
typedef enum __ns_rcode res_9_ns_rcode;
enum__ns_update_operation
| ns_uop_delete | 0 | |
| ns_uop_add | 1 | |
| ns_uop_max | 2 |
typedefres_9_ns_update_operation
typedef enum __ns_update_operation res_9_ns_update_operation;
macrons_tsig_key
%
This structure is used for TSIG authenticated messages
#define ns_tsig_key res_9_ns_tsig_key
structres_9_ns_tsig_key
| char[1025] | name | |
| char[1025] | alg | |
| unsigned char * | data | |
| int | len |
typedefres_9_ns_tsig_key
typedef struct ns_tsig_key ns_tsig_key
macrons_tcp_tsig_state
%
This structure is used for TSIG authenticated TCP messages
#define ns_tcp_tsig_state res_9_ns_tcp_tsig_state
structres_9_ns_tcp_tsig_state
| int | counter | |
| struct dst_key * | key | |
| void * | ctx | |
| unsigned char[512] | sig | |
| int | siglen |
typedefres_9_ns_tcp_tsig_state
typedef struct ns_tcp_tsig_state ns_tcp_tsig_state
macroNS_TSIG_FUDGE
#define NS_TSIG_FUDGE 300
macroNS_TSIG_TCP_COUNT
#define NS_TSIG_TCP_COUNT 100
macroNS_TSIG_ALG_HMAC_MD5
#define NS_TSIG_ALG_HMAC_MD5 "HMAC-MD5.SIG-ALG.REG.INT"
macroNS_TSIG_ERROR_NO_TSIG
#define NS_TSIG_ERROR_NO_TSIG -10
macroNS_TSIG_ERROR_NO_SPACE
#define NS_TSIG_ERROR_NO_SPACE -11
macroNS_TSIG_ERROR_FORMERR
#define NS_TSIG_ERROR_FORMERR -12
enum__ns_type
%
Currently defined type values for resources and queries.
| ns_t_invalid | 0 | %< Cookie. |
| ns_t_a | 1 | %< Host address. |
| ns_t_ns | 2 | %< Authoritative server. |
| ns_t_md | 3 | %< Mail destination. |
| ns_t_mf | 4 | %< Mail forwarder. |
| ns_t_cname | 5 | %< Canonical name. |
| ns_t_soa | 6 | %< Start of authority zone. |
| ns_t_mb | 7 | %< Mailbox domain name. |
| ns_t_mg | 8 | %< Mail group member. |
| ns_t_mr | 9 | %< Mail rename name. |
| ns_t_null | 10 | %< Null resource record. |
| ns_t_wks | 11 | %< Well known service. |
| ns_t_ptr | 12 | %< Domain name pointer. |
| ns_t_hinfo | 13 | %< Host information. |
| ns_t_minfo | 14 | %< Mailbox information. |
| ns_t_mx | 15 | %< Mail routing information. |
| ns_t_txt | 16 | %< Text strings. |
| ns_t_rp | 17 | %< Responsible person. |
| ns_t_afsdb | 18 | %< AFS cell database. |
| ns_t_x25 | 19 | %< X_25 calling address. |
| ns_t_isdn | 20 | %< ISDN calling address. |
| ns_t_rt | 21 | %< Router. |
| ns_t_nsap | 22 | %< NSAP address. |
| ns_t_nsap_ptr | 23 | %< Reverse NSAP lookup (deprecated). |
| ns_t_sig | 24 | %< Security signature. |
| ns_t_key | 25 | %< Security key. |
| ns_t_px | 26 | %< X.400 mail mapping. |
| ns_t_gpos | 27 | %< Geographical position (withdrawn). |
| ns_t_aaaa | 28 | %< IPv6 Address. |
| ns_t_loc | 29 | %< Location Information. |
| ns_t_nxt | 30 | %< Next domain (security). |
| ns_t_eid | 31 | %< Endpoint identifier. |
| ns_t_nimloc | 32 | %< Nimrod Locator. |
| ns_t_srv | 33 | %< Server Selection. |
| ns_t_atma | 34 | %< ATM Address |
| ns_t_naptr | 35 | %< Naming Authority PoinTeR |
| ns_t_kx | 36 | %< Key Exchange |
| ns_t_cert | 37 | %< Certification record |
| ns_t_a6 | 38 | %< IPv6 address (experimental) |
| ns_t_dname | 39 | %< Non-terminal DNAME |
| ns_t_sink | 40 | %< Kitchen sink (experimentatl) |
| ns_t_opt | 41 | %< EDNS0 option (meta-RR) |
| ns_t_apl | 42 | %< Address prefix list (RFC3123) |
| ns_t_ds | 43 | %< Delegation Signer |
| ns_t_sshfp | 44 | %< SSH Fingerprint |
| ns_t_ipseckey | 45 | %< IPSEC Key |
| ns_t_rrsig | 46 | %< RRset Signature |
| ns_t_nsec | 47 | %< Negative security |
| ns_t_dnskey | 48 | %< DNS Key |
| ns_t_dhcid | 49 | %< Dynamic host configuratin identifier |
| ns_t_nsec3 | 50 | %< Negative security type 3 |
| ns_t_nsec3param | 51 | %< Negative security type 3 parameters |
| ns_t_hip | 55 | %< Host Identity Protocol |
| ns_t_spf | 99 | %< Sender Policy Framework |
| ns_t_tkey | 249 | %< Transaction key |
| ns_t_tsig | 250 | %< Transaction signature. |
| ns_t_ixfr | 251 | %< Incremental zone transfer. |
| ns_t_axfr | 252 | %< Transfer zone of authority. |
| ns_t_mailb | 253 | %< Transfer mailbox records. |
| ns_t_maila | 254 | %< Transfer mail agent records. |
| ns_t_any | 255 | %< Wildcard match. |
| ns_t_zxfr | 256 | %< BIND-specific, nonstandard. |
| ns_t_dlv | 32769 | %< DNSSEC look-aside validatation. |
| ns_t_max | 65536 |
macrons_t_qt_p
Exclusively a QTYPE? (not also an RTYPE)
#define ns_t_qt_p(t) (ns_t_xfr_p(t) || (t) == ns_t_any || (t) == ns_t_mailb || (t) == ns_t_maila)
macrons_t_mrr_p
Some kind of meta-RR? (not a QTYPE, but also not an RTYPE)
#define ns_t_mrr_p(t) ((t) == ns_t_tsig || (t) == ns_t_opt)
macrons_t_rr_p
Exclusively an RTYPE? (not also a QTYPE or a meta-RR)
#define ns_t_rr_p(t) (!ns_t_qt_p(t) && !ns_t_mrr_p(t))
macrons_t_udp_p
#define ns_t_udp_p(t) ((t) != ns_t_axfr && (t) != ns_t_zxfr)
macrons_t_xfr_p
#define ns_t_xfr_p(t) ((t) == ns_t_axfr || (t) == ns_t_ixfr || (t) == ns_t_zxfr)
enum__ns_class
| ns_c_invalid | 0 | %< Cookie. |
| ns_c_in | 1 | %< Internet. |
| ns_c_2 | 2 | %< unallocated/unsupported. |
| ns_c_chaos | 3 | %< MIT Chaos-net. |
| ns_c_hs | 4 | %< MIT Hesiod. |
| ns_c_none | 254 | Query class values which do not appear in resource records %< for prereq. sections in update requests |
| ns_c_any | 255 | %< Wildcard match. |
| ns_c_max | 65536 |
typedefres_9_ns_class
typedef enum __ns_class res_9_ns_class;
macrons_key_types
#define ns_key_types res_9_ns_key_types
enum__ns_key_types
| ns_kt_rsa | 1 | %< key type RSA/MD5 |
| ns_kt_dh | 2 | %< Diffie Hellman |
| ns_kt_dsa | 3 | %< Digital Signature Standard (MANDATORY) |
| ns_kt_private | 254 | %< Private key type starts with OID |
typedefres_9_ns_key_types
typedef enum __ns_key_types res_9_ns_key_types;
macrons_cert_types
#define ns_cert_types res_9_ns_cert_types
enum__ns_cert_types
| cert_t_pkix | 1 | %< PKIX (X.509v3) |
| cert_t_spki | 2 | %< SPKI |
| cert_t_pgp | 3 | %< PGP |
| cert_t_url | 253 | %< URL private type |
| cert_t_oid | 254 | %< OID private type |
typedefres_9_ns_cert_types
typedef enum __ns_cert_types res_9_ns_cert_types;
macroNS_KEY_TYPEMASK
Flags field of the KEY RR rdata.
#define NS_KEY_TYPEMASK 0xC000
%< Mask for "type" bits
macroNS_KEY_NO_AUTH
The type bits can also be interpreted independently, as single bits:
#define NS_KEY_NO_AUTH 0x8000
%< Key unusable for authentication
macroNS_KEY_RESERVED_BITMASK
#define NS_KEY_RESERVED_BITMASK ( NS_KEY_RESERVED2 | NS_KEY_RESERVED4 | NS_KEY_RESERVED5 | NS_KEY_RESERVED8 | NS_KEY_RESERVED9 | NS_KEY_RESERVED10 | NS_KEY_RESERVED11 )
macroNS_ALG_MD5RSA
The Algorithm field of the KEY and SIG RR's is an integer, {1..254}
#define NS_ALG_MD5RSA 1
%< MD5 with RSA
macroNS_ALG_DSS
#define NS_ALG_DSS NS_ALG_DSA
macroNS_KEY_PROT_EMAIL
#define NS_KEY_PROT_EMAIL 2
macroNS_KEY_PROT_DNSSEC
#define NS_KEY_PROT_DNSSEC 3
macroNS_KEY_PROT_IPSEC
#define NS_KEY_PROT_IPSEC 4
macroNS_KEY_PROT_ANY
#define NS_KEY_PROT_ANY 255
macroNS_MD5RSA_MAX_BITS
#define NS_MD5RSA_MAX_BITS 4096
macroNS_MD5RSA_MAX_BYTES
Total of binary mod and exp
#define NS_MD5RSA_MAX_BYTES ((NS_MD5RSA_MAX_BITS+7/8)*2+3)
macroNS_MD5RSA_MAX_BASE64
Max length of text sig block
#define NS_MD5RSA_MAX_BASE64 (((NS_MD5RSA_MAX_BYTES+2)/3)*4)
macroNS_MD5RSA_MIN_SIZE
#define NS_MD5RSA_MIN_SIZE ((NS_MD5RSA_MIN_BITS+7)/8)
macroNS_MD5RSA_MAX_SIZE
#define NS_MD5RSA_MAX_SIZE ((NS_MD5RSA_MAX_BITS+7)/8)
macroNS_DSA_SIG_SIZE
#define NS_DSA_SIG_SIZE 41
macroNS_DSA_MIN_SIZE
#define NS_DSA_MIN_SIZE 213
macroNS_DSA_MAX_BYTES
#define NS_DSA_MAX_BYTES 405
macroNS_SIG_TYPE
Offsets into SIG record rdata to find various values
#define NS_SIG_TYPE 0
%< Type flags
macroNS_NXT_BIT_SET
#define NS_NXT_BIT_SET(n, p) (p[(n)/NS_NXT_BITS] |= (0x80>>((n)%NS_NXT_BITS)))
macroNS_NXT_BIT_CLEAR
#define NS_NXT_BIT_CLEAR(n, p) (p[(n)/NS_NXT_BITS] &= ~(0x80>>((n)%NS_NXT_BITS)))
macroNS_NXT_BIT_ISSET
#define NS_NXT_BIT_ISSET(n, p) (p[(n)/NS_NXT_BITS] & (0x80>>((n)%NS_NXT_BITS)))
macroNS_NXT_MAX
#define NS_NXT_MAX 127
macroNS_OPT_DNSSEC_OK
%
EDNS0 extended flags and option codes, host order.
#define NS_OPT_DNSSEC_OK 0x8000U
macroNS_OPT_NSID
#define NS_OPT_NSID 3
macroNS_GET16
%
Inline versions of get/put short/long. Pointer is advanced.
#define NS_GET16(s, cp) do {
register const u_char *t_cp = (const u_char *)(cp);
(s) = ((u_int16_t)t_cp[0] << 8)
| ((u_int16_t)t_cp[1])
;
(cp) += NS_INT16SZ;
} while (0)macroNS_GET32
#define NS_GET32(l, cp) do {
register const u_char *t_cp = (const 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;
} while (0)macroNS_PUT16
#define NS_PUT16(s, cp) do {
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;
} while (0)macroNS_PUT32
#define NS_PUT32(l, cp) do {
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;
} while (0)macrons_msg_getflag
#define ns_msg_getflag res_9_ns_msg_getflag
macrons_get16
#define ns_get16 res_9_ns_get16
macrons_get32
#define ns_get32 res_9_ns_get32
macrons_put16
#define ns_put16 res_9_ns_put16
macrons_put32
#define ns_put32 res_9_ns_put32
macrons_initparse
#define ns_initparse res_9_ns_initparse
macrons_skiprr
#define ns_skiprr res_9_ns_skiprr
macrons_parserr
#define ns_parserr res_9_ns_parserr
macrons_parserr2
#define ns_parserr2 res_9_ns_parserr2
macrons_sprintrr
#define ns_sprintrr res_9_ns_sprintrr
macrons_sprintrrf
#define ns_sprintrrf res_9_ns_sprintrrf
macrons_format_ttl
#define ns_format_ttl res_9_ns_format_ttl
macrons_parse_ttl
#define ns_parse_ttl res_9_ns_parse_ttl
macrons_datetosecs
#define ns_datetosecs res_9_ns_datetosecs
macrons_name_ntol
#define ns_name_ntol res_9_ns_name_ntol
macrons_name_ntop
#define ns_name_ntop res_9_ns_name_ntop
macrons_name_pton
#define ns_name_pton res_9_ns_name_pton
macrons_name_pton2
#define ns_name_pton2 res_9_ns_name_pton2
macrons_name_unpack
#define ns_name_unpack res_9_ns_name_unpack
macrons_name_unpack2
#define ns_name_unpack2 res_9_ns_name_unpack2
macrons_name_pack
#define ns_name_pack res_9_ns_name_pack
macrons_name_compress
#define ns_name_compress res_9_ns_name_compress
macrons_name_uncompress
#define ns_name_uncompress res_9_ns_name_uncompress
macrons_name_skip
#define ns_name_skip res_9_ns_name_skip
macrons_name_rollback
#define ns_name_rollback res_9_ns_name_rollback
macrons_sign
#define ns_sign res_9_ns_sign
macrons_sign2
#define ns_sign2 res_9_ns_sign2
macrons_sign_tcp
#define ns_sign_tcp res_9_ns_sign_tcp
macrons_sign_tcp2
#define ns_sign_tcp2 res_9_ns_sign_tcp2
macrons_sign_tcp_init
#define ns_sign_tcp_init res_9_ns_sign_tcp_init
macrons_find_tsig
#define ns_find_tsig res_9_ns_find_tsig
macrons_verify
#define ns_verify res_9_ns_verify
macrons_verify_tcp
#define ns_verify_tcp res_9_ns_verify_tcp
macrons_verify_tcp_init
#define ns_verify_tcp_init res_9_ns_verify_tcp_init
macrons_samedomain
#define ns_samedomain res_9_ns_samedomain
macrons_subdomain
#define ns_subdomain res_9_ns_subdomain
macrons_makecanon
#define ns_makecanon res_9_ns_makecanon
macrons_samename
#define ns_samename res_9_ns_samename
macrons_rdata_unpack
#define ns_rdata_unpack res_9_ns_rdata_unpack
macrons_rdata_equal
#define ns_rdata_equal res_9_ns_rdata_equal
macrons_rdata_refers
#define ns_rdata_refers res_9_ns_rdata_refers
functionres_9_ns_msg_getflag
int ns_msg_getflag(ns_msg, int)
functionres_9_ns_get16
u_int ns_get16(const u_char *)
functionres_9_ns_get32
u_long ns_get32(const u_char *)
functionres_9_ns_put16
void ns_put16(u_int, u_char *)
functionres_9_ns_put32
void ns_put32(u_long, u_char *)
functionres_9_ns_initparse
int ns_initparse(const u_char *, int, ns_msg *)
functionres_9_ns_skiprr
int ns_skiprr(const u_char *, const u_char *, ns_sect, int)
functionres_9_ns_parserr
int ns_parserr(ns_msg *, ns_sect, int, ns_rr *)
functionres_9_ns_parserr2
int ns_parserr2(ns_msg *, ns_sect, int, ns_rr2 *)
functionres_9_ns_sprintrr
int ns_sprintrr(const ns_msg *, const ns_rr *, const char *, const char *, char *, size_t)
functionres_9_ns_sprintrrf
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)
functionres_9_ns_format_ttl
int ns_format_ttl(u_long, char *, size_t)
functionres_9_ns_parse_ttl
int ns_parse_ttl(const char *, u_long *)
functionres_9_ns_datetosecs
u_int32_t ns_datetosecs(const char *cp, int *errp)
functionres_9_ns_name_ntol
int ns_name_ntol(const u_char *, u_char *, size_t)
functionres_9_ns_name_ntop
int ns_name_ntop(const u_char *, char *, size_t)
functionres_9_ns_name_pton
int ns_name_pton(const char *, u_char *, size_t)
functionres_9_ns_name_pton2
int ns_name_pton2(const char *, u_char *, size_t, size_t *)
functionres_9_ns_name_unpack
int ns_name_unpack(const u_char *, const u_char *, const u_char *, u_char *, size_t)
functionres_9_ns_name_unpack2
int ns_name_unpack2(const u_char *, const u_char *, const u_char *, u_char *, size_t, size_t *)
functionres_9_ns_name_pack
int ns_name_pack(const u_char *, u_char *, int, const u_char **, const u_char **)
functionres_9_ns_name_uncompress
int ns_name_uncompress(const u_char *, const u_char *, const u_char *, char *, size_t)
functionres_9_ns_name_compress
int ns_name_compress(const char *, u_char *, size_t, const u_char **, const u_char **)
functionres_9_ns_name_skip
int ns_name_skip(const u_char **, const u_char *)
functionres_9_ns_name_rollback
void ns_name_rollback(const u_char *, const u_char **, const u_char **)
functionres_9_ns_sign
int ns_sign(u_char *, int *, int, int, void *, const u_char *, int, u_char *, int *, time_t)
functionres_9_ns_sign2
int ns_sign2(u_char *, int *, int, int, void *, const u_char *, int, u_char *, int *, time_t, u_char **, u_char **)
functionres_9_ns_sign_tcp
int ns_sign_tcp(u_char *, int *, int, int, ns_tcp_tsig_state *, int)
functionres_9_ns_sign_tcp2
int ns_sign_tcp2(u_char *, int *, int, int, ns_tcp_tsig_state *, int, u_char **, u_char **)
functionres_9_ns_sign_tcp_init
int ns_sign_tcp_init(void *, const u_char *, int, ns_tcp_tsig_state *)
functionres_9_ns_find_tsig
u_char *ns_find_tsig(u_char *, u_char *)
functionres_9_ns_verify
int ns_verify(u_char *, int *, void *, const u_char *, int, u_char *, int *, time_t *, int)
functionres_9_ns_verify_tcp
int ns_verify_tcp(u_char *, int *, ns_tcp_tsig_state *, int)
functionres_9_ns_verify_tcp_init
int ns_verify_tcp_init(void *, const u_char *, int, ns_tcp_tsig_state *)
functionres_9_ns_samedomain
int ns_samedomain(const char *, const char *)
functionres_9_ns_subdomain
int ns_subdomain(const char *, const char *)
functionres_9_ns_makecanon
int ns_makecanon(const char *, char *, size_t)
functionres_9_ns_samename
int ns_samename(const char *, const char *)