📄 jwawindns.pas
字号:
DNS_RCODE_NO_ERROR = DNS_RCODE_NOERROR;
{$EXTERNALSYM DNS_RCODE_NO_ERROR}
DNS_RCODE_FORMAT_ERROR = DNS_RCODE_FORMERR;
{$EXTERNALSYM DNS_RCODE_FORMAT_ERROR}
DNS_RCODE_SERVER_FAILURE = DNS_RCODE_SERVFAIL;
{$EXTERNALSYM DNS_RCODE_SERVER_FAILURE}
DNS_RCODE_NAME_ERROR = DNS_RCODE_NXDOMAIN;
{$EXTERNALSYM DNS_RCODE_NAME_ERROR}
DNS_RCODE_NOT_IMPLEMENTED = DNS_RCODE_NOTIMPL;
{$EXTERNALSYM DNS_RCODE_NOT_IMPLEMENTED}
//
// DNS Classes
//
// Classes are on the wire as WORDs.
//
// _CLASS_ defines in host order.
// _RCLASS_ defines in net byte order.
//
// Generally we'll avoid byte flip and test class in net byte order.
//
DNS_CLASS_INTERNET = $0001; // 1
{$EXTERNALSYM DNS_CLASS_INTERNET}
DNS_CLASS_CSNET = $0002; // 2
{$EXTERNALSYM DNS_CLASS_CSNET}
DNS_CLASS_CHAOS = $0003; // 3
{$EXTERNALSYM DNS_CLASS_CHAOS}
DNS_CLASS_HESIOD = $0004; // 4
{$EXTERNALSYM DNS_CLASS_HESIOD}
DNS_CLASS_NONE = $00fe; // 254
{$EXTERNALSYM DNS_CLASS_NONE}
DNS_CLASS_ALL = $00ff; // 255
{$EXTERNALSYM DNS_CLASS_ALL}
DNS_CLASS_ANY = $00ff; // 255
{$EXTERNALSYM DNS_CLASS_ANY}
DNS_RCLASS_INTERNET = $0100; // 1
{$EXTERNALSYM DNS_RCLASS_INTERNET}
DNS_RCLASS_CSNET = $0200; // 2
{$EXTERNALSYM DNS_RCLASS_CSNET}
DNS_RCLASS_CHAOS = $0300; // 3
{$EXTERNALSYM DNS_RCLASS_CHAOS}
DNS_RCLASS_HESIOD = $0400; // 4
{$EXTERNALSYM DNS_RCLASS_HESIOD}
DNS_RCLASS_NONE = $fe00; // 254
{$EXTERNALSYM DNS_RCLASS_NONE}
DNS_RCLASS_ALL = $ff00; // 255
{$EXTERNALSYM DNS_RCLASS_ALL}
DNS_RCLASS_ANY = $ff00; // 255
{$EXTERNALSYM DNS_RCLASS_ANY}
//
// DNS Record Types
//
// _TYPE_ defines are in host byte order.
// _RTYPE_ defines are in net byte order.
//
// Generally always deal with types in host byte order as we index
// resource record functions by type.
//
DNS_TYPE_ZERO = $0000;
{$EXTERNALSYM DNS_TYPE_ZERO}
// RFC 1034/1035
DNS_TYPE_A = $0001; // 1
{$EXTERNALSYM DNS_TYPE_A}
DNS_TYPE_NS = $0002; // 2
{$EXTERNALSYM DNS_TYPE_NS}
DNS_TYPE_MD = $0003; // 3
{$EXTERNALSYM DNS_TYPE_MD}
DNS_TYPE_MF = $0004; // 4
{$EXTERNALSYM DNS_TYPE_MF}
DNS_TYPE_CNAME = $0005; // 5
{$EXTERNALSYM DNS_TYPE_CNAME}
DNS_TYPE_SOA = $0006; // 6
{$EXTERNALSYM DNS_TYPE_SOA}
DNS_TYPE_MB = $0007; // 7
{$EXTERNALSYM DNS_TYPE_MB}
DNS_TYPE_MG = $0008; // 8
{$EXTERNALSYM DNS_TYPE_MG}
DNS_TYPE_MR = $0009; // 9
{$EXTERNALSYM DNS_TYPE_MR}
DNS_TYPE_NULL = $000a; // 10
{$EXTERNALSYM DNS_TYPE_NULL}
DNS_TYPE_WKS = $000b; // 11
{$EXTERNALSYM DNS_TYPE_WKS}
DNS_TYPE_PTR = $000c; // 12
{$EXTERNALSYM DNS_TYPE_PTR}
DNS_TYPE_HINFO = $000d; // 13
{$EXTERNALSYM DNS_TYPE_HINFO}
DNS_TYPE_MINFO = $000e; // 14
{$EXTERNALSYM DNS_TYPE_MINFO}
DNS_TYPE_MX = $000f; // 15
{$EXTERNALSYM DNS_TYPE_MX}
DNS_TYPE_TEXT = $0010; // 16
{$EXTERNALSYM DNS_TYPE_TEXT}
// RFC 1183
DNS_TYPE_RP = $0011; // 17
{$EXTERNALSYM DNS_TYPE_RP}
DNS_TYPE_AFSDB = $0012; // 18
{$EXTERNALSYM DNS_TYPE_AFSDB}
DNS_TYPE_X25 = $0013; // 19
{$EXTERNALSYM DNS_TYPE_X25}
DNS_TYPE_ISDN = $0014; // 20
{$EXTERNALSYM DNS_TYPE_ISDN}
DNS_TYPE_RT = $0015; // 21
{$EXTERNALSYM DNS_TYPE_RT}
// RFC 1348
DNS_TYPE_NSAP = $0016; // 22
{$EXTERNALSYM DNS_TYPE_NSAP}
DNS_TYPE_NSAPPTR = $0017; // 23
{$EXTERNALSYM DNS_TYPE_NSAPPTR}
// RFC 2065 (DNS security)
DNS_TYPE_SIG = $0018; // 24
{$EXTERNALSYM DNS_TYPE_SIG}
DNS_TYPE_KEY = $0019; // 25
{$EXTERNALSYM DNS_TYPE_KEY}
// RFC 1664 (X.400 mail)
DNS_TYPE_PX = $001a; // 26
{$EXTERNALSYM DNS_TYPE_PX}
// RFC 1712 (Geographic position)
DNS_TYPE_GPOS = $001b; // 27
{$EXTERNALSYM DNS_TYPE_GPOS}
// RFC 1886 (IPv6 Address)
DNS_TYPE_AAAA = $001c; // 28
{$EXTERNALSYM DNS_TYPE_AAAA}
// RFC 1876 (Geographic location)
DNS_TYPE_LOC = $001d; // 29
{$EXTERNALSYM DNS_TYPE_LOC}
// RFC 2065 (Secure negative response)
DNS_TYPE_NXT = $001e; // 30
{$EXTERNALSYM DNS_TYPE_NXT}
// Patton (Endpoint Identifier)
DNS_TYPE_EID = $001f; // 31
{$EXTERNALSYM DNS_TYPE_EID}
// Patton (Nimrod Locator)
DNS_TYPE_NIMLOC = $0020; // 32
{$EXTERNALSYM DNS_TYPE_NIMLOC}
// RFC 2052 (Service location)
DNS_TYPE_SRV = $0021; // 33
{$EXTERNALSYM DNS_TYPE_SRV}
// ATM Standard something-or-another (ATM Address)
DNS_TYPE_ATMA = $0022; // 34
{$EXTERNALSYM DNS_TYPE_ATMA}
// RFC 2168 (Naming Authority Pointer)
DNS_TYPE_NAPTR = $0023; // 35
{$EXTERNALSYM DNS_TYPE_NAPTR}
// RFC 2230 (Key Exchanger)
DNS_TYPE_KX = $0024; // 36
{$EXTERNALSYM DNS_TYPE_KX}
// RFC 2538 (CERT)
DNS_TYPE_CERT = $0025; // 37
{$EXTERNALSYM DNS_TYPE_CERT}
// A6 Draft (A6)
DNS_TYPE_A6 = $0026; // 38
{$EXTERNALSYM DNS_TYPE_A6}
// DNAME Draft (DNAME)
DNS_TYPE_DNAME = $0027; // 39
{$EXTERNALSYM DNS_TYPE_DNAME}
// Eastlake (Kitchen Sink)
DNS_TYPE_SINK = $0028; // 40
{$EXTERNALSYM DNS_TYPE_SINK}
// RFC 2671 (EDNS OPT)
DNS_TYPE_OPT = $0029; // 41
{$EXTERNALSYM DNS_TYPE_OPT}
//
// IANA Reserved
//
DNS_TYPE_UINFO = $0064; // 100
{$EXTERNALSYM DNS_TYPE_UINFO}
DNS_TYPE_UID = $0065; // 101
{$EXTERNALSYM DNS_TYPE_UID}
DNS_TYPE_GID = $0066; // 102
{$EXTERNALSYM DNS_TYPE_GID}
DNS_TYPE_UNSPEC = $0067; // 103
{$EXTERNALSYM DNS_TYPE_UNSPEC}
//
// Query only types (1035, 1995)
// - Crawford (ADDRS)
// - TKEY draft (TKEY)
// - TSIG draft (TSIG)
// - RFC 1995 (IXFR)
// - RFC 1035 (AXFR up)
//
DNS_TYPE_ADDRS = $00f8; // 248
{$EXTERNALSYM DNS_TYPE_ADDRS}
DNS_TYPE_TKEY = $00f9; // 249
{$EXTERNALSYM DNS_TYPE_TKEY}
DNS_TYPE_TSIG = $00fa; // 250
{$EXTERNALSYM DNS_TYPE_TSIG}
DNS_TYPE_IXFR = $00fb; // 251
{$EXTERNALSYM DNS_TYPE_IXFR}
DNS_TYPE_AXFR = $00fc; // 252
{$EXTERNALSYM DNS_TYPE_AXFR}
DNS_TYPE_MAILB = $00fd; // 253
{$EXTERNALSYM DNS_TYPE_MAILB}
DNS_TYPE_MAILA = $00fe; // 254
{$EXTERNALSYM DNS_TYPE_MAILA}
DNS_TYPE_ALL = $00ff; // 255
{$EXTERNALSYM DNS_TYPE_ALL}
DNS_TYPE_ANY = $00ff; // 255
{$EXTERNALSYM DNS_TYPE_ANY}
//
// Temp Microsoft types -- use until get IANA approval for real type
//
DNS_TYPE_WINS = $ff01; // 64K - 255
{$EXTERNALSYM DNS_TYPE_WINS}
DNS_TYPE_WINSR = $ff02; // 64K - 254
{$EXTERNALSYM DNS_TYPE_WINSR}
DNS_TYPE_NBSTAT = (DNS_TYPE_WINSR);
{$EXTERNALSYM DNS_TYPE_NBSTAT}
//
// DNS Record Types -- Net Byte Order
//
DNS_RTYPE_A = $0100; // 1
{$EXTERNALSYM DNS_RTYPE_A}
DNS_RTYPE_NS = $0200; // 2
{$EXTERNALSYM DNS_RTYPE_NS}
DNS_RTYPE_MD = $0300; // 3
{$EXTERNALSYM DNS_RTYPE_MD}
DNS_RTYPE_MF = $0400; // 4
{$EXTERNALSYM DNS_RTYPE_MF}
DNS_RTYPE_CNAME = $0500; // 5
{$EXTERNALSYM DNS_RTYPE_CNAME}
DNS_RTYPE_SOA = $0600; // 6
{$EXTERNALSYM DNS_RTYPE_SOA}
DNS_RTYPE_MB = $0700; // 7
{$EXTERNALSYM DNS_RTYPE_MB}
DNS_RTYPE_MG = $0800; // 8
{$EXTERNALSYM DNS_RTYPE_MG}
DNS_RTYPE_MR = $0900; // 9
{$EXTERNALSYM DNS_RTYPE_MR}
DNS_RTYPE_NULL = $0a00; // 10
{$EXTERNALSYM DNS_RTYPE_NULL}
DNS_RTYPE_WKS = $0b00; // 11
{$EXTERNALSYM DNS_RTYPE_WKS}
DNS_RTYPE_PTR = $0c00; // 12
{$EXTERNALSYM DNS_RTYPE_PTR}
DNS_RTYPE_HINFO = $0d00; // 13
{$EXTERNALSYM DNS_RTYPE_HINFO}
DNS_RTYPE_MINFO = $0e00; // 14
{$EXTERNALSYM DNS_RTYPE_MINFO}
DNS_RTYPE_MX = $0f00; // 15
{$EXTERNALSYM DNS_RTYPE_MX}
DNS_RTYPE_TEXT = $1000; // 16
{$EXTERNALSYM DNS_RTYPE_TEXT}
DNS_RTYPE_RP = $1100; // 17
{$EXTERNALSYM DNS_RTYPE_RP}
DNS_RTYPE_AFSDB = $1200; // 18
{$EXTERNALSYM DNS_RTYPE_AFSDB}
DNS_RTYPE_X25 = $1300; // 19
{$EXTERNALSYM DNS_RTYPE_X25}
DNS_RTYPE_ISDN = $1400; // 20
{$EXTERNALSYM DNS_RTYPE_ISDN}
DNS_RTYPE_RT = $1500; // 21
{$EXTERNALSYM DNS_RTYPE_RT}
DNS_RTYPE_NSAP = $1600; // 22
{$EXTERNALSYM DNS_RTYPE_NSAP}
DNS_RTYPE_NSAPPTR = $1700; // 23
{$EXTERNALSYM DNS_RTYPE_NSAPPTR}
DNS_RTYPE_SIG = $1800; // 24
{$EXTERNALSYM DNS_RTYPE_SIG}
DNS_RTYPE_KEY = $1900; // 25
{$EXTERNALSYM DNS_RTYPE_KEY}
DNS_RTYPE_PX = $1a00; // 26
{$EXTERNALSYM DNS_RTYPE_PX}
DNS_RTYPE_GPOS = $1b00; // 27
{$EXTERNALSYM DNS_RTYPE_GPOS}
DNS_RTYPE_AAAA = $1c00; // 28
{$EXTERNALSYM DNS_RTYPE_AAAA}
DNS_RTYPE_LOC = $1d00; // 29
{$EXTERNALSYM DNS_RTYPE_LOC}
DNS_RTYPE_NXT = $1e00; // 30
{$EXTERNALSYM DNS_RTYPE_NXT}
DNS_RTYPE_EID = $1f00; // 31
{$EXTERNALSYM DNS_RTYPE_EID}
DNS_RTYPE_NIMLOC = $2000; // 32
{$EXTERNALSYM DNS_RTYPE_NIMLOC}
DNS_RTYPE_SRV = $2100; // 33
{$EXTERNALSYM DNS_RTYPE_SRV}
DNS_RTYPE_ATMA = $2200; // 34
{$EXTERNALSYM DNS_RTYPE_ATMA}
DNS_RTYPE_NAPTR = $2300; // 35
{$EXTERNALSYM DNS_RTYPE_NAPTR}
DNS_RTYPE_KX = $2400; // 36
{$EXTERNALSYM DNS_RTYPE_KX}
DNS_RTYPE_CERT = $2500; // 37
{$EXTERNALSYM DNS_RTYPE_CERT}
DNS_RTYPE_A6 = $2600; // 38
{$EXTERNALSYM DNS_RTYPE_A6}
DNS_RTYPE_DNAME = $2700; // 39
{$EXTERNALSYM DNS_RTYPE_DNAME}
DNS_RTYPE_SINK = $2800; // 40
{$EXTERNALSYM DNS_RTYPE_SINK}
DNS_RTYPE_OPT = $2900; // 41
{$EXTERNALSYM DNS_RTYPE_OPT}
//
// IANA Reserved
//
DNS_RTYPE_UINFO = $6400; // 100
{$EXTERNALSYM DNS_RTYPE_UINFO}
DNS_RTYPE_UID = $6500; // 101
{$EXTERNALSYM DNS_RTYPE_UID}
DNS_RTYPE_GID = $6600; // 102
{$EXTERNALSYM DNS_RTYPE_GID}
DNS_RTYPE_UNSPEC = $6700; // 103
{$EXTERNALSYM DNS_RTYPE_UNSPEC}
//
// Query only types
//
DNS_RTYPE_TKEY = $f900; // 249
{$EXTERNALSYM DNS_RTYPE_TKEY}
DNS_RTYPE_TSIG = $fa00; // 250
{$EXTERNALSYM DNS_RTYPE_TSIG}
DNS_RTYPE_IXFR = $fb00; // 251
{$EXTERNALSYM DNS_RTYPE_IXFR}
DNS_RTYPE_AXFR = $fc00; // 252
{$EXTERNALSYM DNS_RTYPE_AXFR}
DNS_RTYPE_MAILB = $fd00; // 253
{$EXTERNALSYM DNS_RTYPE_MAILB}
DNS_RTYPE_MAILA = $fe00; // 254
{$EXTERNALSYM DNS_RTYPE_MAILA}
DNS_RTYPE_ALL = $ff00; // 255
{$EXTERNALSYM DNS_RTYPE_ALL}
DNS_RTYPE_ANY = $ff00; // 255
{$EXTERNALSYM DNS_RTYPE_ANY}
//
// Temp Microsoft types -- use until get IANA approval for real type
//
DNS_RTYPE_WINS = $01ff; // 64K - 255
{$EXTERNALSYM DNS_RTYPE_WINS}
DNS_RTYPE_WINSR = $02ff; // 64K - 254
{$EXTERNALSYM DNS_RTYPE_WINSR}
//
// Record type specific definitions
//
//
// ATMA (ATM address type) formats
//
// Define these directly for any environment (ex NT4)
// without winsock2 ATM support (ws2atm.h)
//
{$IFNDEF ATMA_E164}
DNS_ATMA_FORMAT_E164 = 1;
{$EXTERNALSYM DNS_ATMA_FORMAT_E164}
DNS_ATMA_FORMAT_AESA = 2;
{$EXTERNALSYM DNS_ATMA_FORMAT_AESA}
DNS_ATMA_MAX_ADDR_LENGTH = (20);
{$EXTERNALSYM DNS_ATMA_MAX_ADDR_LENGTH}
{$ELSE}
DNS_ATMA_FORMAT_E164 = ATM_E164;
{$EXTERNALSYM DNS_ATMA_FORMAT_E164}
DNS_ATMA_FORMAT_AESA = ATM_AESA;
{$EXTERNALSYM DNS_ATMA_FORMAT_AESA}
DNS_ATMA_MAX_ADDR_LENGTH = ATM_ADDR_SIZE;
{$EXTERNALSYM DNS_ATMA_MAX_ADDR_LENGTH}
{$ENDIF}
DNS_ATMA_AESA_ADDR_LENGTH = (20);
{$EXTERNALSYM DNS_ATMA_AESA_ADDR_LENGTH}
DNS_ATMA_MAX_RECORD_LENGTH = (DNS_ATMA_MAX_ADDR_LENGTH+1);
{$EXTERNALSYM DNS_ATMA_MAX_RECORD_LENGTH}
//
// DNSSEC defs
//
// DNSSEC algorithms
DNSSEC_ALGORITHM_RSAMD5 = 1;
{$EXTERNALSYM DNSSEC_ALGORITHM_RSAMD5}
DNSSEC_ALGORITHM_NULL = 253;
{$EXTERNALSYM DNSSEC_ALGORITHM_NULL}
DNSSEC_ALGORITHM_PRIVATE = 254;
{$EXTERNALSYM DNSSEC_ALGORITHM_PRIVATE}
// DNSSEC KEY protocol table
DNSSEC_PROTOCOL_NONE = 0;
{$EXTERNALSYM DNSSEC_PROTOCOL_NONE}
DNSSEC_PROTOCOL_TLS = 1;
{$EXTERNALSYM DNSSEC_PROTOCOL_TLS}
DNSSEC_PROTOCOL_EMAIL = 2;
{$EXTERNALSYM DNSSEC_PROTOCOL_EMAIL}
DNSSEC_PROTOCOL_DNSSEC = 3;
{$EXTERNALSYM DNSSEC_PROTOCOL_DNSSEC}
DNSSEC_PROTOCOL_IPSEC = 4;
{$EXTERNALSYM DNSSEC_PROTOCOL_IPSEC}
// DNSSEC KEY flag field
DNSSEC_KEY_FLAG_NOAUTH = $0001;
{$EXTERNALSYM DNSSEC_KEY_FLAG_NOAUTH}
DNSSEC_KEY_FLAG_NOCONF = $0002;
{$EXTERNALSYM DNSSEC_KEY_FLAG_NOCONF}
DNSSEC_KEY_FLAG_FLAG2 = $0004;
{$EXTERNALSYM DNSSEC_KEY_FLAG_FLAG2}
DNSSEC_KEY_FLAG_EXTEND = $0008;
{$EXTERNALSYM DNSSEC_KEY_FLAG_EXTEND}
{$DEFINE DNSSEC_KEY_FLAG_}
DNSSEC_KEY_FLAG_FLAG4 = $0010;
{$EXTERNALSYM DNSSEC_KEY_FLAG_FLAG4}
DNSSEC_KEY_FLAG_FLAG5 = $0020;
{$EXTERNALSYM DNSSEC_KEY_FLAG_FLAG5}
// bits 6,7 are name type
DNSSEC_KEY_FLAG_USER = $0000;
{$EXTERNALSYM DNSSEC_KEY_FLAG_USER}
DNSSEC_KEY_FLAG_ZONE = $0040;
{$EXTERNALSYM DNSSEC_KEY_FLAG_ZONE}
DNSSEC_KEY_FLAG_HOST = $0080;
{$EXTERNALSYM DNSSEC_KEY_FLAG_HOST}
DNSSEC_KEY_FLAG_NTPE3 = $00c0;
{$EXTERNALSYM DNSSEC_KEY_FLAG_NTPE3}
// bits 8-11 are reserved for future use
DNSSEC_KEY_FLAG_FLAG8 = $0100;
{$EXTERNALSYM DNSSEC_KEY_FLAG_FLAG8}
DNSSEC_KEY_FLAG_FLAG9 = $0200;
{$EXTERNALSYM DNSSEC_KEY_FLAG_FLAG9}
DNSSEC_KEY_FLAG_FLAG10 = $0400;
{$EXTERNALSYM DNSSEC_KEY_FLAG_FLAG10}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -