📄 nameser.h
字号:
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 (deprecates AAAA) */ ns_t_dname = 39, /* Non-terminal DNAME (for IPv6) */ ns_t_sink = 40, /* Kitchen sink (experimentatl) */ ns_t_opt = 41, /* EDNS0 option (meta-RR) */ ns_t_apl = 42, /* Address prefix list (RFC 3123) */ 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_max = 65536} ns_type;/* 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)/* 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)/* 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))#define ns_t_udp_p(t) ((t) != ns_t_axfr && (t) != ns_t_zxfr)#define ns_t_xfr_p(t) ((t) == ns_t_axfr || (t) == ns_t_ixfr || \ (t) == ns_t_zxfr)/* * Values for class field */typedef 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. */ /* Query class values which do not appear in resource records */ ns_c_none = 254, /* for prereq. sections in update requests */ ns_c_any = 255, /* Wildcard match. */ ns_c_max = 65536} ns_class;/* DNSSEC constants. */typedef 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 */} ns_key_types;typedef 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 */} ns_cert_types;/* Flags field of the KEY RR rdata. */#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 *//* The type bits can also be interpreted independently, as single bits: */#define NS_KEY_NO_AUTH 0x8000 /* Key unusable for authentication */#define NS_KEY_NO_CONF 0x4000 /* Key unusable for confidentiality */#define NS_KEY_RESERVED2 0x2000 /* Security is *mandatory* if bit=0 */#define NS_KEY_EXTENDED_FLAGS 0x1000 /* reserved - must be zero */#define NS_KEY_RESERVED4 0x0800 /* reserved - must be zero */#define NS_KEY_RESERVED5 0x0400 /* reserved - must be zero */#define NS_KEY_NAME_TYPE 0x0300 /* these bits determine the type */#define NS_KEY_NAME_USER 0x0000 /* key is assoc. with user */#define NS_KEY_NAME_ENTITY 0x0200 /* key is assoc. with entity eg host */#define NS_KEY_NAME_ZONE 0x0100 /* key is zone key */#define NS_KEY_NAME_RESERVED 0x0300 /* reserved meaning */#define NS_KEY_RESERVED8 0x0080 /* reserved - must be zero */#define NS_KEY_RESERVED9 0x0040 /* reserved - must be zero */#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 ( NS_KEY_RESERVED2 | \ NS_KEY_RESERVED4 | \ NS_KEY_RESERVED5 | \ NS_KEY_RESERVED8 | \ NS_KEY_RESERVED9 | \ NS_KEY_RESERVED10 | \ NS_KEY_RESERVED11 )#define NS_KEY_RESERVED_BITMASK2 0xFFFF /* no bits defined here *//* The Algorithm field of the KEY and SIG RR's is an integer, {1..254} */#define NS_ALG_MD5RSA 1 /* MD5 with RSA */#define NS_ALG_DH 2 /* Diffie Hellman KEY */#define NS_ALG_DSA 3 /* DSA KEY */#define NS_ALG_DSS NS_ALG_DSA#define NS_ALG_EXPIRE_ONLY 253 /* No alg, no security */#define NS_ALG_PRIVATE_OID 254 /* Key begins with OID giving alg *//* Protocol values *//* value 0 is reserved */#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/* Signatures */#define NS_MD5RSA_MIN_BITS 512 /* Size of a mod or exp in bits */#define NS_MD5RSA_MAX_BITS 4096 /* Total of binary mod and exp */#define NS_MD5RSA_MAX_BYTES ((NS_MD5RSA_MAX_BITS+7/8)*2+3) /* Max length of text sig block */#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/* Offsets into SIG record rdata to find various values */#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 *//* How RR types are represented as bit-flags in NXT records */#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/* * EDNS0 extended flags, host order. */#define NS_OPT_DNSSEC_OK 0x8000U/* * 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)#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)#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)#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)/* * ANSI C identifier hiding for bind's lib/nameser. */#define ns_msg_getflag __ns_msg_getflag#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_sign2 __ns_sign2#define ns_sign_tcp __ns_sign_tcp#define ns_sign_tcp2 __ns_sign_tcp2#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__BEGIN_DECLSint ns_msg_getflag __P((ns_msg, int));u_int ns_get16 __P((const u_char *));u_long ns_get32 __P((const u_char *));void ns_put16 __P((u_int, u_char *));void ns_put32 __P((u_long, u_char *));int ns_initparse __P((const u_char *, int, ns_msg *));int ns_skiprr __P((const u_char *, const u_char *, ns_sect, int));int ns_parserr __P((ns_msg *, ns_sect, int, ns_rr *));int ns_sprintrr __P((const ns_msg *, const ns_rr *, const char *, const char *, char *, size_t));int ns_sprintrrf __P((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 __P((u_long, char *, size_t));int ns_parse_ttl __P((const char *, u_long *));u_int32_t ns_datetosecs __P((const char *cp, int *errp));int ns_name_ntol __P((const u_char *, u_char *, size_t));int ns_name_ntop __P((const u_char *, char *, size_t));int ns_name_pton __P((const char *, u_char *, size_t));int ns_name_unpack __P((const u_char *, const u_char *, const u_char *, u_char *, size_t));int ns_name_pack __P((const u_char *, u_char *, int, const u_char **, const u_char **));int ns_name_uncompress __P((const u_char *, const u_char *, const u_char *, char *, size_t));int ns_name_compress __P((const char *, u_char *, size_t, const u_char **, const u_char **));int ns_name_skip __P((const u_char **, const u_char *));void ns_name_rollback __P((const u_char *, const u_char **, const u_char **));int ns_sign __P((u_char *, int *, int, int, void *, const u_char *, int, u_char *, int *, time_t));int ns_sign2 __P((u_char *, int *, int, int, void *, const u_char *, int, u_char *, int *, time_t, u_char **, u_char **));int ns_sign_tcp __P((u_char *, int *, int, int, ns_tcp_tsig_state *, int));int ns_sign_tcp2 __P((u_char *, int *, int, int, ns_tcp_tsig_state *, int, u_char **, u_char **));int ns_sign_tcp_init __P((void *, const u_char *, int, ns_tcp_tsig_state *));u_char *ns_find_tsig __P((u_char *, u_char *));int ns_verify __P((u_char *, int *, void *, const u_char *, int, u_char *, int *, time_t *, int));int ns_verify_tcp __P((u_char *, int *, ns_tcp_tsig_state *, int));int ns_verify_tcp_init __P((void *, const u_char *, int, ns_tcp_tsig_state *));int ns_samedomain __P((const char *, const char *));int ns_subdomain __P((const char *, const char *));int ns_makecanon __P((const char *, char *, size_t));int ns_samename __P((const char *, const char *));__END_DECLS#ifdef BIND_4_COMPAT#include <arpa/nameser_compat.h>#endif#endif /* !_ARPA_NAMESER_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -