|
HOME
SIP/media Features
High Performance SIP
Small Footprint SIP
Symbian Port
FAQ
Documentation
Licensing
Download
Development (Trac)
Projects using pjsip
Mailing List
Open Source Links
About: PJLIB, PJLIB-UTIL, PJSIP, and PJMEDIA are created by: Benny Prijono <bennylp pjsip.org>
|
|
Home --> Documentations --> PJLIB-UTIL Reference
dns.h File Reference
Low level DNS message parsing and packetization.
More...
Go to the source code of this file.
Data Structures |
| struct | pj_dns_hdr |
| struct | pj_dns_parsed_query |
| struct | pj_dns_parsed_rr |
| union | pj_dns_parsed_rr::rdata |
| struct | pj_dns_parsed_rr::rdata::srv |
| struct | pj_dns_parsed_rr::rdata::cname |
| struct | pj_dns_parsed_rr::rdata::ns |
| struct | pj_dns_parsed_rr::rdata::ptr |
| struct | pj_dns_parsed_rr::rdata::a |
| struct | pj_dns_parsed_rr::rdata::aaaa |
| struct | pj_dns_parsed_packet |
Defines |
| #define | PJ_DNS_SET_RCODE(c) ((pj_uint16_t)((c) & 0x0F)) |
| #define | PJ_DNS_SET_RA(on) ((pj_uint16_t)((on) << 7)) |
| #define | PJ_DNS_SET_RD(on) ((pj_uint16_t)((on) << 8)) |
| #define | PJ_DNS_SET_TC(on) ((pj_uint16_t)((on) << 9)) |
| #define | PJ_DNS_SET_AA(on) ((pj_uint16_t)((on) << 10)) |
| #define | PJ_DNS_SET_OPCODE(o) ((pj_uint16_t)((o) << 11)) |
| #define | PJ_DNS_SET_QR(on) ((pj_uint16_t)((on) << 15)) |
| #define | PJ_DNS_GET_RCODE(val) (((val) & PJ_DNS_SET_RCODE(0x0F)) >> 0) |
| #define | PJ_DNS_GET_RA(val) (((val) & PJ_DNS_SET_RA(1)) >> 7) |
| #define | PJ_DNS_GET_RD(val) (((val) & PJ_DNS_SET_RD(1)) >> 8) |
| #define | PJ_DNS_GET_TC(val) (((val) & PJ_DNS_SET_TC(1)) >> 9) |
| #define | PJ_DNS_GET_AA(val) (((val) & PJ_DNS_SET_AA(1)) >> 10) |
| #define | PJ_DNS_GET_OPCODE(val) (((val) & PJ_DNS_SET_OPCODE(0x0F)) >> 11) |
| #define | PJ_DNS_GET_QR(val) (((val) & PJ_DNS_SET_QR(1)) >> 15) |
Enumerations |
| enum | { PJ_DNS_CLASS_IN = 1
} |
| enum | pj_dns_type {
PJ_DNS_TYPE_A = 1,
PJ_DNS_TYPE_NS = 2,
PJ_DNS_TYPE_MD = 3,
PJ_DNS_TYPE_MF = 4,
PJ_DNS_TYPE_CNAME = 5,
PJ_DNS_TYPE_SOA = 6,
PJ_DNS_TYPE_MB = 7,
PJ_DNS_TYPE_MG = 8,
PJ_DNS_TYPE_MR = 9,
PJ_DNS_TYPE_NULL = 10,
PJ_DNS_TYPE_WKS = 11,
PJ_DNS_TYPE_PTR = 12,
PJ_DNS_TYPE_HINFO = 13,
PJ_DNS_TYPE_MINFO = 14,
PJ_DNS_TYPE_MX = 15,
PJ_DNS_TYPE_TXT = 16,
PJ_DNS_TYPE_RP = 17,
PJ_DNS_TYPE_AFSB = 18,
PJ_DNS_TYPE_X25 = 19,
PJ_DNS_TYPE_ISDN = 20,
PJ_DNS_TYPE_RT = 21,
PJ_DNS_TYPE_NSAP = 22,
PJ_DNS_TYPE_NSAP_PTR = 23,
PJ_DNS_TYPE_SIG = 24,
PJ_DNS_TYPE_KEY = 25,
PJ_DNS_TYPE_PX = 26,
PJ_DNS_TYPE_GPOS = 27,
PJ_DNS_TYPE_AAAA = 28,
PJ_DNS_TYPE_LOC = 29,
PJ_DNS_TYPE_NXT = 30,
PJ_DNS_TYPE_EID = 31,
PJ_DNS_TYPE_NIMLOC = 32,
PJ_DNS_TYPE_SRV = 33,
PJ_DNS_TYPE_ATMA = 34,
PJ_DNS_TYPE_NAPTR = 35,
PJ_DNS_TYPE_KX = 36,
PJ_DNS_TYPE_CERT = 37,
PJ_DNS_TYPE_A6 = 38,
PJ_DNS_TYPE_DNAME = 39,
PJ_DNS_TYPE_OPT = 41,
PJ_DNS_TYPE_APL = 42,
PJ_DNS_TYPE_DS = 43,
PJ_DNS_TYPE_SSHFP = 44,
PJ_DNS_TYPE_IPSECKEY = 45,
PJ_DNS_TYPE_RRSIG = 46,
PJ_DNS_TYPE_NSEC = 47,
PJ_DNS_TYPE_DNSKEY = 48
} |
| enum | pj_dns_rcode {
PJ_DNS_RCODE_FORMERR = 1,
PJ_DNS_RCODE_SERVFAIL = 2,
PJ_DNS_RCODE_NXDOMAIN = 3,
PJ_DNS_RCODE_NOTIMPL = 4,
PJ_DNS_RCODE_REFUSED = 5,
PJ_DNS_RCODE_YXDOMAIN = 6,
PJ_DNS_RCODE_YXRRSET = 7,
PJ_DNS_RCODE_NXRRSET = 8,
PJ_DNS_RCODE_NOTAUTH = 9,
PJ_DNS_RCODE_NOTZONE = 10
} |
| enum | pj_dns_dup_options { PJ_DNS_NO_QD = 1,
PJ_DNS_NO_ANS = 2,
PJ_DNS_NO_NS = 4,
PJ_DNS_NO_AR = 8
} |
Functions |
| pj_status_t | pj_dns_make_query (void *packet, unsigned *size, pj_uint16_t id, int qtype, const pj_str_t *name) |
| pj_status_t | pj_dns_parse_packet (pj_pool_t *pool, const void *packet, unsigned size, pj_dns_parsed_packet **p_res) |
| void | pj_dns_packet_dup (pj_pool_t *pool, const pj_dns_parsed_packet *p, unsigned options, pj_dns_parsed_packet **p_dst) |
| const char * | pj_dns_get_type_name (int type) |
| void | pj_dns_init_srv_rr (pj_dns_parsed_rr *rec, const pj_str_t *res_name, unsigned dnsclass, unsigned ttl, unsigned prio, unsigned weight, unsigned port, const pj_str_t *target) |
| void | pj_dns_init_cname_rr (pj_dns_parsed_rr *rec, const pj_str_t *res_name, unsigned dnsclass, unsigned ttl, const pj_str_t *name) |
| void | pj_dns_init_a_rr (pj_dns_parsed_rr *rec, const pj_str_t *res_name, unsigned dnsclass, unsigned ttl, const pj_in_addr *ip_addr) |
| void | pj_dns_dump_packet (const pj_dns_parsed_packet *res) |
Detailed Description
Low level DNS message parsing and packetization.
PJLIB-UTIL Open Source, small footprint, and portable asynchronous/caching DNS resolver, text scanner, STUN client, and XML library
Copyright (C) 2006-2009 Teluu Inc.
|
|