⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nameser.h

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 H
📖 第 1 页 / 共 2 页
字号:
	u_char *	r_data;		/* rdata fields as text string */	u_int16_t	r_size;		/* size of r_data field */	int		r_opcode;	/* type of operation */	/* following fields for private use by the resolver/server routines */	struct ns_updrec *r_grpnext;	/* next record when grouped */	struct databuf *r_dp;		/* databuf to process */	struct databuf *r_deldp;	/* databuf's deleted/overwritten */	u_int16_t	r_zone;		/* zone number on server */};typedef struct ns_updrec ns_updrec;/* * Currently defined type values for resources and queries. */typedef enum __ns_type {	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,		/* Ip6 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 */	/* Query type values which do not appear in resource records. */	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_max = 65536} ns_type;/* * Values for class field */typedef enum __ns_class {	ns_c_in = 1,		/* Internet. */				/* Class 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;/* * 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_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 ( NS_KEY_RESERVED3 | \				  NS_KEY_RESERVED4 | \				  NS_KEY_RESERVED10 | \				  NS_KEY_RESERVED11 )/* 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_EXPIRE_ONLY	253	/* No alg, no security */#define	NS_ALG_PRIVATE_OID	254	/* Key begins with OID giving alg *//* Signatures */#define	NS_MD5RSA_MIN_BITS	 512	/* Size of a mod or exp in bits */#define	NS_MD5RSA_MAX_BITS	2552	/* 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)/* 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)))/* * Inline versions of get/put short/long.  Pointer is advanced. */#define NS_GET16(s, cp) { \	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; \}#define NS_GET32(l, cp) { \	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; \}#define NS_PUT16(s, cp) { \	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; \}#define NS_PUT32(l, cp) { \	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; \}/* * ANSI C identifier hiding. */#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__BEGIN_DECLSu_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_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 *));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 *));__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 + -