DNS protocol header.
More...
#include <stdint.h>
#include <stddef.h>
#include <sys/types.h>
Go to the source code of this file.
|
| enum | rcode_e {
RCODE_NO_ERROR = 0
, RCODE_FORMAT_ERROR
, RCODE_SERVER_FAIL
, RCODE_NAME_ERROR
,
RCODE_NOT_IMPLEMENTED
, RCODE_REFUSED
} |
| enum | qtype_e { TYPE_NAPTR = 35
, QTYPE_ALL = 255
} |
| enum | qclass_e { CLASS_IN = 1
, QCLASS_ANY = 256
} |
|
|
struct | __attribute__ ((packed)) |
|
ssize_t | dns_parse_hdr (void *buf, size_t len, dns_hdr_t *out) |
|
size_t | dns_parse_question (void *buf, size_t len, dns_question_t *q) |
|
ssize_t | dns_serialize_error (void *buf, size_t len, const dns_hdr_t *recvhdr, void *recv, size_t recv_size, int error) |
|
ssize_t | dns_serialize_rdata_naptr (void *buf, size_t len, uint16_t order, uint16_t preference, const char *flags, const char *services, const char *regex) |
|
ssize_t | dns_serialize_rr (void *buf, size_t len, const char *qto, uint16_t type, uint16_t class, uint32_t ttl, uint16_t rdlength, void *rdata) |
|
ssize_t | dns_serialize_answer (void *buf, size_t len, const dns_hdr_t *recvhdr, void *recv, size_t recv_size, void *rr, size_t rrsize) |
◆ DNS_FLAG_AA
◆ DNS_FLAG_OPCODE
| #define DNS_FLAG_OPCODE |
( |
| x | ) |
|
◆ DNS_FLAG_QR
◆ DNS_FLAG_RA
◆ DNS_FLAG_RCODE
| #define DNS_FLAG_RCODE |
( |
| x | ) |
|
◆ DNS_FLAG_RD
◆ DNS_FLAG_TC
◆ DNS_FLAG_Z
◆ DNS_SET_FLAG_AA
| #define DNS_SET_FLAG_AA |
( |
| x | ) |
|
Value:(((x) << 10) & 0b1111101111111111)
◆ DNS_SET_FLAG_OPCODE
| #define DNS_SET_FLAG_OPCODE |
( |
| x | ) |
|
Value:(((x) << 11) & 0b1000011111111111)
◆ DNS_SET_FLAG_QR
| #define DNS_SET_FLAG_QR |
( |
| x | ) |
|
Value:(((x) << 15) & 0b0111111111111111)
◆ DNS_SET_FLAG_RA
| #define DNS_SET_FLAG_RA |
( |
| x | ) |
|
Value:(((x) << 7) & 0b1111111101111111)
◆ DNS_SET_FLAG_RCODE
| #define DNS_SET_FLAG_RCODE |
( |
| x | ) |
|
Value:((x) & 0b1111111111110000)
◆ DNS_SET_FLAG_RD
| #define DNS_SET_FLAG_RD |
( |
| x | ) |
|
Value:(((x) << 8) & 0b1111111011111111)
◆ DNS_SET_FLAG_TC
| #define DNS_SET_FLAG_TC |
( |
| x | ) |
|
Value:(((x) << 9) & 0b1111110111111111)
◆ DNS_SET_FLAG_Z
| #define DNS_SET_FLAG_Z |
( |
| x | ) |
|
Value:(((x) << 4) & 0b1111111110001111)