24 lines
791 B
C
24 lines
791 B
C
|
#ifndef COSMOPOLITAN_LIBC_DNS_DNSHEADER_H_
|
||
|
#define COSMOPOLITAN_LIBC_DNS_DNSHEADER_H_
|
||
|
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
||
|
COSMOPOLITAN_C_START_
|
||
|
|
||
|
struct DnsHeader {
|
||
|
uint16_t id; /* transaction id */
|
||
|
uint8_t bf1; /* bit field 1 */
|
||
|
uint8_t bf2; /* bit field 2 */
|
||
|
uint16_t qdcount; /* question count */
|
||
|
uint16_t ancount; /* answer count */
|
||
|
uint16_t nscount; /* nameserver count */
|
||
|
uint16_t arcount; /* additional record count */
|
||
|
};
|
||
|
|
||
|
int serializednsheader(uint8_t *buf, size_t size,
|
||
|
const struct DnsHeader header);
|
||
|
int deserializednsheader(struct DnsHeader *header, const uint8_t *buf,
|
||
|
size_t size);
|
||
|
|
||
|
COSMOPOLITAN_C_END_
|
||
|
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
||
|
#endif /* COSMOPOLITAN_LIBC_DNS_DNSHEADER_H_ */
|