#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_rr |
| struct | _ns_flagdata |
| struct | ns_tcp_tsig_state |
| struct | ns_tsig_key |
Defines | |
| #define | BIND_4_COMPAT |
| #define | __NAMESER 19991006 |
| #define | NS_PACKETSZ 512 |
| #define | NS_MAXDNAME 1025 |
| #define | NS_MAXCDNAME 255 |
| #define | NS_MAXLABEL 63 |
| #define | NS_HFIXEDSZ 12 |
| #define | NS_QFIXEDSZ 4 |
| #define | NS_RRFIXEDSZ 10 |
| #define | NS_INT32SZ 4 |
| #define | NS_INT16SZ 2 |
| #define | NS_INT8SZ 1 |
| #define | NS_INADDRSZ 4 |
| #define | NS_IN6ADDRSZ 16 |
| #define | NS_CMPRSFLGS 0xc0 |
| #define | NS_DEFAULTPORT 53 |
| #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) ((ns_type)((rr).type + 0)) |
| #define | ns_rr_class(rr) ((ns_class)((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_TSIG_FUDGE 300 |
| #define | NS_TSIG_TCP_COUNT 100 |
| #define | NS_TSIG_ALG_HMAC_MD5 "HMAC-MD5.SIG-ALG.REG.INT" |
| #define | NS_TSIG_ERROR_NO_TSIG -10 |
| #define | NS_TSIG_ERROR_NO_SPACE -11 |
| #define | NS_TSIG_ERROR_FORMERR -12 |
| #define | ns_t_qt_p(t) |
| #define | ns_t_mrr_p(t) ((t) == ns_t_tsig || (t) == ns_t_opt) |
| #define | ns_t_rr_p(t) (!ns_t_qt_p(t) && !ns_t_mrr_p(t)) |
| #define | ns_t_udp_p(t) ((t) != ns_t_axfr && (t) != ns_t_zxfr) |
| #define | ns_t_xfr_p(t) |
| #define | NS_KEY_TYPEMASK 0xC000 |
| #define | NS_KEY_TYPE_AUTH_CONF 0x0000 |
| #define | NS_KEY_TYPE_CONF_ONLY 0x8000 |
| #define | NS_KEY_TYPE_AUTH_ONLY 0x4000 |
| #define | NS_KEY_TYPE_NO_KEY 0xC000 |
| #define | NS_KEY_NO_AUTH 0x8000 |
| #define | NS_KEY_NO_CONF 0x4000 |
| #define | NS_KEY_RESERVED2 0x2000 |
| #define | NS_KEY_EXTENDED_FLAGS 0x1000 |
| #define | NS_KEY_RESERVED4 0x0800 |
| #define | NS_KEY_RESERVED5 0x0400 |
| #define | NS_KEY_NAME_TYPE 0x0300 |
| #define | NS_KEY_NAME_USER 0x0000 |
| #define | NS_KEY_NAME_ENTITY 0x0200 |
| #define | NS_KEY_NAME_ZONE 0x0100 |
| #define | NS_KEY_NAME_RESERVED 0x0300 |
| #define | NS_KEY_RESERVED8 0x0080 |
| #define | NS_KEY_RESERVED9 0x0040 |
| #define | NS_KEY_RESERVED10 0x0020 |
| #define | NS_KEY_RESERVED11 0x0010 |
| #define | NS_KEY_SIGNATORYMASK 0x000F |
| #define | NS_KEY_RESERVED_BITMASK |
| #define | NS_KEY_RESERVED_BITMASK2 0xFFFF |
| #define | NS_ALG_MD5RSA 1 |
| #define | NS_ALG_DH 2 |
| #define | NS_ALG_DSA 3 |
| #define | NS_ALG_DSS NS_ALG_DSA |
| #define | NS_ALG_EXPIRE_ONLY 253 |
| #define | NS_ALG_PRIVATE_OID 254 |
| #define | NS_KEY_PROT_TLS 1 |
| #define | NS_KEY_PROT_EMAIL 2 |
| #define | NS_KEY_PROT_DNSSEC 3 |
| #define | NS_KEY_PROT_IPSEC 4 |
| #define | NS_KEY_PROT_ANY 255 |
| #define | NS_MD5RSA_MIN_BITS 512 |
| #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_MD5RSA_MIN_SIZE ((NS_MD5RSA_MIN_BITS+7)/8) |
| #define | NS_MD5RSA_MAX_SIZE ((NS_MD5RSA_MAX_BITS+7)/8) |
| #define | NS_DSA_SIG_SIZE 41 |
| #define | NS_DSA_MIN_SIZE 213 |
| #define | NS_DSA_MAX_BYTES 405 |
| #define | NS_SIG_TYPE 0 |
| #define | NS_SIG_ALG 2 |
| #define | NS_SIG_LABELS 3 |
| #define | NS_SIG_OTTL 4 |
| #define | NS_SIG_EXPIR 8 |
| #define | NS_SIG_SIGNED 12 |
| #define | NS_SIG_FOOT 16 |
| #define | NS_SIG_SIGNER 18 |
| #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_NXT_MAX 127 |
| #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_skiprr __ns_skiprr |
| #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_datetosecs __ns_datetosecs |
| #define | ns_name_ntol __ns_name_ntol |
| #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 |
| #define | ns_name_skip __ns_name_skip |
| #define | ns_name_rollback __ns_name_rollback |
| #define | ns_sign __ns_sign |
| #define | ns_sign_tcp __ns_sign_tcp |
| #define | ns_sign_tcp_init __ns_sign_tcp_init |
| #define | ns_find_tsig __ns_find_tsig |
| #define | ns_verify __ns_verify |
| #define | ns_verify_tcp __ns_verify_tcp |
| #define | ns_verify_tcp_init __ns_verify_tcp_init |
| #define | ns_samedomain __ns_samedomain |
| #define | ns_subdomain __ns_subdomain |
| #define | ns_makecanon __ns_makecanon |
| #define | ns_samename __ns_samename |
Typedefs | |
| typedef enum __ns_sect | ns_sect |
| typedef __ns_msg | ns_msg |
| typedef __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 ns_tsig_key | ns_tsig_key |
| typedef ns_tcp_tsig_state | ns_tcp_tsig_state |
| typedef enum __ns_type | ns_type |
| typedef enum __ns_class | ns_class |
| typedef enum __ns_key_types | ns_key_types |
| typedef enum __ns_cert_types | ns_cert_types |
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, ns_r_badsig = 16, ns_r_badkey = 17, ns_r_badtime = 18 } |
| enum | __ns_update_operation { ns_uop_delete = 0, ns_uop_add = 1, ns_uop_max = 2 } |
| enum | __ns_type { ns_t_invalid = 0, 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_kx = 36, ns_t_cert = 37, ns_t_a6 = 38, ns_t_dname = 39, ns_t_sink = 40, ns_t_opt = 41, ns_t_tsig = 250, ns_t_ixfr = 251, ns_t_axfr = 252, ns_t_mailb = 253, ns_t_maila = 254, ns_t_any = 255, ns_t_zxfr = 256, ns_t_max__ } |
| enum | __ns_class { ns_c_invalid = 0, ns_c_in = 1, ns_c_2 = 2, ns_c_chaos = 3, ns_c_hs = 4, ns_c_none = 254, ns_c_any = 255, ns_c_max__ } |
| enum | __ns_key_types { ns_kt_rsa = 1, ns_kt_dh = 2, ns_kt_dsa = 3, ns_kt_private = 254 } |
| enum | __ns_cert_types { cert_t_pkix = 1, cert_t_spki = 2, cert_t_pgp = 3, cert_t_url = 253, cert_t_oid = 254 } |
Variables | |
| _ns_flagdata | _ns_flagdata [] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Value: do { \ 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; \ } while (0) |
|
|
|
|
|
Value: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Value: ( NS_KEY_RESERVED2 | \ NS_KEY_RESERVED4 | \ NS_KEY_RESERVED5 | \ NS_KEY_RESERVED8 | \ NS_KEY_RESERVED9 | \ NS_KEY_RESERVED10 | \ NS_KEY_RESERVED11 ) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Value: ( \
((handle)._flags & _ns_flagdata[flag].mask) \
>> _ns_flagdata[flag].shift \
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Value: 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) |
|
|
|
|
|
Value: 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) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Value: (ns_t_xfr_p(t) || (t) == ns_t_any || \ (t) == ns_t_mailb || (t) == ns_t_maila) |
|
|
|
|
|
|
|
|
Value: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 341 of file nameser.h.
00341 {
00342 cert_t_pkix = 1, /* PKIX (X.509v3) */
00343 cert_t_spki = 2, /* SPKI */
00344 cert_t_pgp = 3, /* PGP */
00345 cert_t_url = 253, /* URL private type */
00346 cert_t_oid = 254 /* OID private type */
00347 } ns_cert_types;
|
|
|
Definition at line 320 of file nameser.h.
00320 {
00321 ns_c_invalid = 0, /* Cookie. */
00322 ns_c_in = 1, /* Internet. */
00323 ns_c_2 = 2, /* unallocated/unsupported. */
00324 ns_c_chaos = 3, /* MIT Chaos-net. */
00325 ns_c_hs = 4, /* MIT Hesiod. */
00326 /* Query class values which do not appear in resource records */
00327 ns_c_none = 254, /* for prereq. sections in update requests */
00328 ns_c_any = 255, /* Wildcard match. */
00329 ns_c_max__ // = 65536
00330 } ns_class;
|
|
|
Definition at line 163 of file nameser.h.
00163 {
00164 ns_f_qr, /* Question/Response. */
00165 ns_f_opcode, /* Operation code. */
00166 ns_f_aa, /* Authoritative Answer. */
00167 ns_f_tc, /* Truncation occurred. */
00168 ns_f_rd, /* Recursion Desired. */
00169 ns_f_ra, /* Recursion Available. */
00170 ns_f_z, /* MBZ. */
00171 ns_f_ad, /* Authentic Data (DNSSEC). */
00172 ns_f_cd, /* Checking Disabled (DNSSEC). */
00173 ns_f_rcode, /* Response code. */
00174 ns_f_max
00175 } ns_flag;
|
|
|
Definition at line 334 of file nameser.h.
00334 {
00335 ns_kt_rsa = 1, /* key type RSA/MD5 */
00336 ns_kt_dh = 2, /* Diffie Hellman */
00337 ns_kt_dsa = 3, /* Digital Signature Standard (MANDATORY) */
00338 ns_kt_private = 254 /* Private key type starts with OID */
00339 } ns_key_types;
|
|
|
Definition at line 180 of file nameser.h.
00180 {
00181 ns_o_query = 0, /* Standard query. */
00182 ns_o_iquery = 1, /* Inverse query (deprecated/unsupported). */
00183 ns_o_status = 2, /* Name server status query (unsupported). */
00184 /* Opcode 3 is undefined/reserved. */
00185 ns_o_notify = 4, /* Zone change notification. */
00186 ns_o_update = 5, /* Zone update message. */
00187 ns_o_max = 6
00188 } ns_opcode;
|
|
|
Definition at line 193 of file nameser.h.
00193 {
00194 ns_r_noerror = 0, /* No error occurred. */
00195 ns_r_formerr = 1, /* Format error. */
00196 ns_r_servfail = 2, /* Server failure. */
00197 ns_r_nxdomain = 3, /* Name error. */
00198 ns_r_notimpl = 4, /* Unimplemented. */
00199 ns_r_refused = 5, /* Operation refused. */
00200 /* these are for BIND_UPDATE */
00201 ns_r_yxdomain = 6, /* Name exists */
00202 ns_r_yxrrset = 7, /* RRset exists */
00203 ns_r_nxrrset = 8, /* RRset does not exist */
00204 ns_r_notauth = 9, /* Not authoritative for zone */
00205 ns_r_notzone = 10, /* Zone of record different from zone section */
00206 ns_r_max = 11,
00207 /* The following are TSIG extended errors */
00208 ns_r_badsig = 16,
00209 ns_r_badkey = 17,
00210 ns_r_badtime = 18
00211 } ns_rcode;
|
|
|
Definition at line 98 of file nameser.h.
00098 {
00099 ns_s_qd = 0, /* Query: Question. */
00100 ns_s_zn = 0, /* Update: Zone. */
00101 ns_s_an = 1, /* Query: Answer. */
00102 ns_s_pr = 1, /* Update: Prerequisites. */
00103 ns_s_ns = 2, /* Query: Name servers. */
00104 ns_s_ud = 2, /* Update: Update. */
00105 ns_s_ar = 3, /* Query|Update: Additional records. */
00106 ns_s_max = 4
00107 } ns_sect;
|
|
|
Definition at line 253 of file nameser.h.
00253 {
00254 ns_t_invalid = 0, /* Cookie. */
00255 ns_t_a = 1, /* Host address. */
00256 ns_t_ns = 2, /* Authoritative server. */
00257 ns_t_md = 3, /* Mail destination. */
00258 ns_t_mf = 4, /* Mail forwarder. */
00259 ns_t_cname = 5, /* Canonical name. */
00260 ns_t_soa = 6, /* Start of authority zone. */
00261 ns_t_mb = 7, /* Mailbox domain name. */
00262 ns_t_mg = 8, /* Mail group member. */
00263 ns_t_mr = 9, /* Mail rename name. */
00264 ns_t_null = 10, /* Null resource record. */
00265 ns_t_wks = 11, /* Well known service. */
00266 ns_t_ptr = 12, /* Domain name pointer. */
00267 ns_t_hinfo = 13, /* Host information. */
00268 ns_t_minfo = 14, /* Mailbox information. */
00269 ns_t_mx = 15, /* Mail routing information. */
00270 ns_t_txt = 16, /* Text strings. */
00271 ns_t_rp = 17, /* Responsible person. */
00272 ns_t_afsdb = 18, /* AFS cell database. */
00273 ns_t_x25 = 19, /* X_25 calling address. */
00274 ns_t_isdn = 20, /* ISDN calling address. */
00275 ns_t_rt = 21, /* Router. */
00276 ns_t_nsap = 22, /* NSAP address. */
00277 ns_t_nsap_ptr = 23, /* Reverse NSAP lookup (deprecated). */
00278 ns_t_sig = 24, /* Security signature. */
00279 ns_t_key = 25, /* Security key. */
00280 ns_t_px = 26, /* X.400 mail mapping. */
00281 ns_t_gpos = 27, /* Geographical position (withdrawn). */
00282 ns_t_aaaa = 28, /* Ip6 Address. */
00283 ns_t_loc = 29, /* Location Information. */
00284 ns_t_nxt = 30, /* Next domain (security). */
00285 ns_t_eid = 31, /* Endpoint identifier. */
00286 ns_t_nimloc = 32, /* Nimrod Locator. */
00287 ns_t_srv = 33, /* Server Selection. */
00288 ns_t_atma = 34, /* ATM Address */
00289 ns_t_naptr = 35, /* Naming Authority PoinTeR */
00290 ns_t_kx = 36, /* Key Exchange */
00291 ns_t_cert = 37, /* Certification record */
00292 ns_t_a6 = 38, /* IPv6 address (deprecates AAAA) */
00293 ns_t_dname = 39, /* Non-terminal DNAME (for IPv6) */
00294 ns_t_sink = 40, /* Kitchen sink (experimentatl) */
00295 ns_t_opt = 41, /* EDNS0 option (meta-RR) */
00296 ns_t_tsig = 250, /* Transaction signature. */
00297 ns_t_ixfr = 251, /* Incremental zone transfer. */
00298 ns_t_axfr = 252, /* Transfer zone of authority. */
00299 ns_t_mailb = 253, /* Transfer mailbox records. */
00300 ns_t_maila = 254, /* Transfer mail agent records. */
00301 ns_t_any = 255, /* Wildcard match. */
00302 ns_t_zxfr = 256, /* BIND-specific, nonstandard. */
00303 ns_t_max__ // = 65536
00304 } ns_type;
|
|
|
Definition at line 214 of file nameser.h.
00214 {
00215 ns_uop_delete = 0,
00216 ns_uop_add = 1,
00217 ns_uop_max = 2
00218 } ns_update_operation;
|
|
|
|
1.3.4