X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/fe3253b9b8fad9e75f863157eba0780418182f17..refs/heads/tcpdump-4.9:/nameser.h diff --git a/nameser.h b/nameser.h index 517544cf..808ac9d0 100644 --- a/nameser.h +++ b/nameser.h @@ -70,20 +70,6 @@ /* number of bytes of fixed size data in resource record */ #define RRFIXEDSZ 10 -/* - * Internet nameserver port number - */ -#define NAMESERVER_PORT 53 - -/* - * Port for multicast DNS; see - * - * http://files.multicastdns.org/draft-cheshire-dnsext-multicastdns.txt - * - * for the current mDNS spec. - */ -#define MULTICASTDNS_PORT 5353 - /* * Currently defined opcodes */ @@ -224,13 +210,13 @@ * Structure for query header. */ typedef struct { - u_int16_t id; /* query identification number */ - u_int8_t flags1; /* first byte of flags */ - u_int8_t flags2; /* second byte of flags */ - u_int16_t qdcount; /* number of question entries */ - u_int16_t ancount; /* number of answer entries */ - u_int16_t nscount; /* number of authority entries */ - u_int16_t arcount; /* number of resource entries */ + uint16_t id; /* query identification number */ + uint8_t flags1; /* first byte of flags */ + uint8_t flags2; /* second byte of flags */ + uint16_t qdcount; /* number of question entries */ + uint16_t ancount; /* number of answer entries */ + uint16_t nscount; /* number of authority entries */ + uint16_t arcount; /* number of resource entries */ } HEADER; /* @@ -250,8 +236,11 @@ typedef struct { /* * Defines for handling compressed domain names, EDNS0 labels, etc. */ -#define INDIR_MASK 0xc0 /* 11.... */ -#define EDNS0_MASK 0x40 /* 01.... */ +#define TYPE_MASK 0xc0 /* mask for the type bits of the item */ +#define TYPE_INDIR 0xc0 /* 11.... - pointer */ +#define TYPE_RESERVED 0x80 /* 10.... - reserved */ +#define TYPE_EDNS0 0x40 /* 01.... - EDNS(0) label */ +#define TYPE_LABEL 0x00 /* 00.... - regular label */ # define EDNS0_ELT_BITLABEL 0x01 /* @@ -261,36 +250,36 @@ struct rrec { int16_t r_zone; /* zone number */ int16_t r_class; /* class number */ int16_t r_type; /* type number */ - u_int32_t r_ttl; /* time to live */ + uint32_t r_ttl; /* time to live */ int r_size; /* size of data area */ char *r_data; /* pointer to data */ }; /* * Inline versions of get/put short/long. Pointer is advanced. - * We also assume that a "u_int16_t" holds 2 "chars" - * and that a "u_int32_t" holds 4 "chars". + * We also assume that a "uint16_t" holds 2 "chars" + * and that a "uint32_t" holds 4 "chars". * * These macros demonstrate the property of C whereby it can be * portable or it can be elegant but never both. */ #define GETSHORT(s, cp) { \ register u_char *t_cp = (u_char *)(cp); \ - (s) = ((u_int16_t)t_cp[0] << 8) | (u_int16_t)t_cp[1]; \ + (s) = ((uint16_t)t_cp[0] << 8) | (uint16_t)t_cp[1]; \ (cp) += 2; \ } #define GETLONG(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])); \ + (l) = (((uint32_t)t_cp[0]) << 24) \ + | (((uint32_t)t_cp[1]) << 16) \ + | (((uint32_t)t_cp[2]) << 8) \ + | (((uint32_t)t_cp[3])); \ (cp) += 4; \ } #define PUTSHORT(s, cp) { \ - register u_int16_t t_s = (u_int16_t)(s); \ + register uint16_t t_s = (uint16_t)(s); \ register u_char *t_cp = (u_char *)(cp); \ *t_cp++ = t_s >> 8; \ *t_cp = t_s; \ @@ -302,7 +291,7 @@ struct rrec { * were depending on this "feature", you will lose. */ #define PUTLONG(l, cp) { \ - register u_int32_t t_l = (u_int32_t)(l); \ + register uint32_t t_l = (uint32_t)(l); \ register u_char *t_cp = (u_char *)(cp); \ *t_cp++ = t_l >> 24; \ *t_cp++ = t_l >> 16; \