ConOpSys V2970  P004.07
ANVILEX control operating system
Classes | Macros | Variables
dns.h File Reference
#include "lwip/arch.h"
Include dependency graph for dns.h:

Go to the source code of this file.

Classes

struct  dns_hdr
 

Macros

#define DNS_SERVER_PORT   53
 
#define DNS_RRTYPE_A   1 /* a host address */
 
#define DNS_RRTYPE_NS   2 /* an authoritative name server */
 
#define DNS_RRTYPE_MD   3 /* a mail destination (Obsolete - use MX) */
 
#define DNS_RRTYPE_MF   4 /* a mail forwarder (Obsolete - use MX) */
 
#define DNS_RRTYPE_CNAME   5 /* the canonical name for an alias */
 
#define DNS_RRTYPE_SOA   6 /* marks the start of a zone of authority */
 
#define DNS_RRTYPE_MB   7 /* a mailbox domain name (EXPERIMENTAL) */
 
#define DNS_RRTYPE_MG   8 /* a mail group member (EXPERIMENTAL) */
 
#define DNS_RRTYPE_MR   9 /* a mail rename domain name (EXPERIMENTAL) */
 
#define DNS_RRTYPE_NULL   10 /* a null RR (EXPERIMENTAL) */
 
#define DNS_RRTYPE_WKS   11 /* a well known service description */
 
#define DNS_RRTYPE_PTR   12 /* a domain name pointer */
 
#define DNS_RRTYPE_HINFO   13 /* host information */
 
#define DNS_RRTYPE_MINFO   14 /* mailbox or mail list information */
 
#define DNS_RRTYPE_MX   15 /* mail exchange */
 
#define DNS_RRTYPE_TXT   16 /* text strings */
 
#define DNS_RRTYPE_AAAA   28 /* IPv6 address */
 
#define DNS_RRTYPE_SRV   33 /* service location */
 
#define DNS_RRTYPE_ANY   255 /* any type */
 
#define DNS_RRCLASS_IN   1 /* the Internet */
 
#define DNS_RRCLASS_CS   2 /* the CSNET class (Obsolete - used only for examples in some obsolete RFCs) */
 
#define DNS_RRCLASS_CH   3 /* the CHAOS class */
 
#define DNS_RRCLASS_HS   4 /* Hesiod [Dyer 87] */
 
#define DNS_RRCLASS_ANY   255 /* any class */
 
#define DNS_RRCLASS_FLUSH   0x800 /* Flush bit */
 
#define DNS_FLAG1_RESPONSE   0x80
 
#define DNS_FLAG1_OPCODE_STATUS   0x10
 
#define DNS_FLAG1_OPCODE_INVERSE   0x08
 
#define DNS_FLAG1_OPCODE_STANDARD   0x00
 
#define DNS_FLAG1_AUTHORATIVE   0x04
 
#define DNS_FLAG1_TRUNC   0x02
 
#define DNS_FLAG1_RD   0x01
 
#define DNS_FLAG2_RA   0x80
 
#define DNS_FLAG2_ERR_MASK   0x0f
 
#define DNS_FLAG2_ERR_NONE   0x00
 
#define DNS_FLAG2_ERR_NAME   0x03
 
#define DNS_HDR_GET_OPCODE(hdr)   ((((hdr)->flags1) >> 3) & 0xF)
 
#define SIZEOF_DNS_HDR   12
 
#define DNS_MQUERY_PORT   5353
 
#define DNS_MQUERY_IPV4_GROUP_INIT   IPADDR4_INIT_BYTES(224,0,0,251)
 
#define DNS_MQUERY_IPV6_GROUP_INIT   IPADDR6_INIT_HOST(0xFF020000,0,0,0xFB)
 

Variables

PACK_STRUCT_BEGIN struct dns_hdr PACK_STRUCT_STRUCT
 

Detailed Description

DNS - host name to IP address resolver.

Macro Definition Documentation

◆ DNS_FLAG1_AUTHORATIVE

#define DNS_FLAG1_AUTHORATIVE   0x04

◆ DNS_FLAG1_OPCODE_INVERSE

#define DNS_FLAG1_OPCODE_INVERSE   0x08

◆ DNS_FLAG1_OPCODE_STANDARD

#define DNS_FLAG1_OPCODE_STANDARD   0x00

◆ DNS_FLAG1_OPCODE_STATUS

#define DNS_FLAG1_OPCODE_STATUS   0x10

◆ DNS_FLAG1_RD

#define DNS_FLAG1_RD   0x01

◆ DNS_FLAG1_RESPONSE

#define DNS_FLAG1_RESPONSE   0x80

◆ DNS_FLAG1_TRUNC

#define DNS_FLAG1_TRUNC   0x02

◆ DNS_FLAG2_ERR_MASK

#define DNS_FLAG2_ERR_MASK   0x0f

◆ DNS_FLAG2_ERR_NAME

#define DNS_FLAG2_ERR_NAME   0x03

◆ DNS_FLAG2_ERR_NONE

#define DNS_FLAG2_ERR_NONE   0x00

◆ DNS_FLAG2_RA

#define DNS_FLAG2_RA   0x80

◆ DNS_HDR_GET_OPCODE

#define DNS_HDR_GET_OPCODE (   hdr)    ((((hdr)->flags1) >> 3) & 0xF)

◆ DNS_MQUERY_IPV4_GROUP_INIT

#define DNS_MQUERY_IPV4_GROUP_INIT   IPADDR4_INIT_BYTES(224,0,0,251)

◆ DNS_MQUERY_IPV6_GROUP_INIT

#define DNS_MQUERY_IPV6_GROUP_INIT   IPADDR6_INIT_HOST(0xFF020000,0,0,0xFB)

◆ DNS_MQUERY_PORT

#define DNS_MQUERY_PORT   5353

UDP port for multicast DNS queries

◆ DNS_RRCLASS_ANY

#define DNS_RRCLASS_ANY   255 /* any class */

◆ DNS_RRCLASS_CH

#define DNS_RRCLASS_CH   3 /* the CHAOS class */

◆ DNS_RRCLASS_CS

#define DNS_RRCLASS_CS   2 /* the CSNET class (Obsolete - used only for examples in some obsolete RFCs) */

◆ DNS_RRCLASS_FLUSH

#define DNS_RRCLASS_FLUSH   0x800 /* Flush bit */

◆ DNS_RRCLASS_HS

#define DNS_RRCLASS_HS   4 /* Hesiod [Dyer 87] */

◆ DNS_RRCLASS_IN

#define DNS_RRCLASS_IN   1 /* the Internet */

◆ DNS_RRTYPE_A

#define DNS_RRTYPE_A   1 /* a host address */

◆ DNS_RRTYPE_AAAA

#define DNS_RRTYPE_AAAA   28 /* IPv6 address */

◆ DNS_RRTYPE_ANY

#define DNS_RRTYPE_ANY   255 /* any type */

◆ DNS_RRTYPE_CNAME

#define DNS_RRTYPE_CNAME   5 /* the canonical name for an alias */

◆ DNS_RRTYPE_HINFO

#define DNS_RRTYPE_HINFO   13 /* host information */

◆ DNS_RRTYPE_MB

#define DNS_RRTYPE_MB   7 /* a mailbox domain name (EXPERIMENTAL) */

◆ DNS_RRTYPE_MD

#define DNS_RRTYPE_MD   3 /* a mail destination (Obsolete - use MX) */

◆ DNS_RRTYPE_MF

#define DNS_RRTYPE_MF   4 /* a mail forwarder (Obsolete - use MX) */

◆ DNS_RRTYPE_MG

#define DNS_RRTYPE_MG   8 /* a mail group member (EXPERIMENTAL) */

◆ DNS_RRTYPE_MINFO

#define DNS_RRTYPE_MINFO   14 /* mailbox or mail list information */

◆ DNS_RRTYPE_MR

#define DNS_RRTYPE_MR   9 /* a mail rename domain name (EXPERIMENTAL) */

◆ DNS_RRTYPE_MX

#define DNS_RRTYPE_MX   15 /* mail exchange */

◆ DNS_RRTYPE_NS

#define DNS_RRTYPE_NS   2 /* an authoritative name server */

◆ DNS_RRTYPE_NULL

#define DNS_RRTYPE_NULL   10 /* a null RR (EXPERIMENTAL) */

◆ DNS_RRTYPE_PTR

#define DNS_RRTYPE_PTR   12 /* a domain name pointer */

◆ DNS_RRTYPE_SOA

#define DNS_RRTYPE_SOA   6 /* marks the start of a zone of authority */

◆ DNS_RRTYPE_SRV

#define DNS_RRTYPE_SRV   33 /* service location */

◆ DNS_RRTYPE_TXT

#define DNS_RRTYPE_TXT   16 /* text strings */

◆ DNS_RRTYPE_WKS

#define DNS_RRTYPE_WKS   11 /* a well known service description */

◆ DNS_SERVER_PORT

#define DNS_SERVER_PORT   53

DNS server port address

◆ SIZEOF_DNS_HDR

#define SIZEOF_DNS_HDR   12

Variable Documentation

◆ PACK_STRUCT_STRUCT

PACK_STRUCT_BEGIN struct dns_hdr PACK_STRUCT_STRUCT