Go to the source code of this file.
Data Structures | |
struct | ldns_struct_rr |
Resource Record type. More... | |
struct | ldns_struct_rr_list |
Resource Record Set. More... | |
struct | ldns_struct_rr_descriptor |
struct to hold the whole set of rd_fields. More... | |
Defines | |
#define | LDNS_MAX_LABELLEN 63 |
Maximum length of a dname label. | |
#define | LDNS_MAX_DOMAINLEN 255 |
Maximum length of a complete dname. | |
#define | LDNS_MAX_POINTERS 65535 |
Maximum number of pointers in 1 dname. | |
#define | LDNS_MAX_RR 65535 |
Maximum number of rr's in a rr_list. | |
#define | LDNS_RR_OVERHEAD 10 |
The bytes TTL, CLASS and length use up in an rr. | |
Typedefs | |
typedef ldns_struct_rr | ldns_rr |
typedef ldns_struct_rr_list | ldns_rr_list |
typedef ldns_struct_rr_descriptor | ldns_rr_descriptor |
Enumerations | |
enum | ldns_enum_rr_class { LDNS_RR_CLASS_IN = 1, LDNS_RR_CLASS_CH = 3, LDNS_RR_CLASS_HS = 4, LDNS_RR_CLASS_ANY = 255, LDNS_RR_CLASS_FIRST = 0, LDNS_RR_CLASS_LAST = 65535, LDNS_RR_CLASS_COUNT = LDNS_RR_CLASS_LAST - LDNS_RR_CLASS_FIRST + 1 } |
The different RR classes. More... | |
enum | ldns_enum_rr_compress { LDNS_RR_COMPRESS, LDNS_RR_NO_COMPRESS } |
Used to specify whether compression is allowed. More... | |
enum | ldns_enum_rr_type { LDNS_RR_TYPE_A = 1, LDNS_RR_TYPE_NS = 2, LDNS_RR_TYPE_MD = 3, LDNS_RR_TYPE_MF = 4, LDNS_RR_TYPE_CNAME = 5, LDNS_RR_TYPE_SOA = 6, LDNS_RR_TYPE_MB = 7, LDNS_RR_TYPE_MG = 8, LDNS_RR_TYPE_MR = 9, LDNS_RR_TYPE_NULL = 10, LDNS_RR_TYPE_WKS = 11, LDNS_RR_TYPE_PTR = 12, LDNS_RR_TYPE_HINFO = 13, LDNS_RR_TYPE_MINFO = 14, LDNS_RR_TYPE_MX = 15, LDNS_RR_TYPE_TXT = 16, LDNS_RR_TYPE_RP = 17, LDNS_RR_TYPE_AFSDB = 18, LDNS_RR_TYPE_X25 = 19, LDNS_RR_TYPE_ISDN = 20, LDNS_RR_TYPE_RT = 21, LDNS_RR_TYPE_NSAP = 22, LDNS_RR_TYPE_NSAP_PTR = 23, LDNS_RR_TYPE_SIG = 24, LDNS_RR_TYPE_KEY = 25, LDNS_RR_TYPE_PX = 26, LDNS_RR_TYPE_GPOS = 27, LDNS_RR_TYPE_AAAA = 28, LDNS_RR_TYPE_LOC = 29, LDNS_RR_TYPE_NXT = 30, LDNS_RR_TYPE_EID = 31, LDNS_RR_TYPE_NIMLOC = 32, LDNS_RR_TYPE_SRV = 33, LDNS_RR_TYPE_ATMA = 34, LDNS_RR_TYPE_NAPTR = 35, LDNS_RR_TYPE_KX = 36, LDNS_RR_TYPE_CERT = 37, LDNS_RR_TYPE_A6 = 38, LDNS_RR_TYPE_DNAME = 39, LDNS_RR_TYPE_SINK = 40, LDNS_RR_TYPE_OPT = 41, LDNS_RR_TYPE_APL = 42, LDNS_RR_TYPE_DS = 43, LDNS_RR_TYPE_SSHFP = 44, LDNS_RR_TYPE_IPSECKEY = 45, LDNS_RR_TYPE_RRSIG = 46, LDNS_RR_TYPE_NSEC = 47, LDNS_RR_TYPE_DNSKEY = 48, LDNS_RR_TYPE_UINFO = 100, LDNS_RR_TYPE_UID = 101, LDNS_RR_TYPE_GID = 102, LDNS_RR_TYPE_UNSPEC = 103, LDNS_RR_TYPE_TSIG = 250, LDNS_RR_TYPE_IXFR = 251, LDNS_RR_TYPE_AXFR = 252, LDNS_RR_TYPE_MAILB = 253, LDNS_RR_TYPE_MAILA = 254, LDNS_RR_TYPE_ANY = 255, LDNS_RR_TYPE_FIRST = 0, LDNS_RR_TYPE_LAST = 65535, LDNS_RR_TYPE_COUNT = LDNS_RR_TYPE_LAST - LDNS_RR_TYPE_FIRST + 1 } |
The different RR types. More... | |
Functions | |
ldns_rr * | ldns_rr_new (void) |
creates a new rr structure. | |
ldns_rr * | ldns_rr_new_frm_type (ldns_rr_type t) |
creates a new rr structure, based on the given type. | |
void | ldns_rr_free (ldns_rr *rr) |
frees an RR structure | |
ldns_rr * | ldns_rr_new_frm_str (const char *str, uint16_t default_ttl, ldns_rdf *origin) |
creates an rr from a string. | |
ldns_rr * | ldns_rr_new_frm_fp (FILE *fp, uint16_t *default_ttl, ldns_rdf **origin) |
creates a new rr from a file containing a string. | |
ldns_rr * | ldns_rr_new_frm_fp_l (FILE *fp, uint16_t *default_ttl, ldns_rdf **origin, int *line_nr) |
creates a new rr from a file containing a string. | |
void | ldns_rr_set_owner (ldns_rr *rr, ldns_rdf *owner) |
sets the owner in the rr structure. | |
void | ldns_rr_set_ttl (ldns_rr *rr, uint32_t ttl) |
sets the ttl in the rr structure. | |
void | ldns_rr_set_rd_count (ldns_rr *rr, size_t count) |
sets the rd_count in the rr. | |
void | ldns_rr_set_type (ldns_rr *rr, ldns_rr_type rr_type) |
sets the type in the rr. | |
void | ldns_rr_set_class (ldns_rr *rr, ldns_rr_class rr_class) |
sets the class in the rr. | |
ldns_rdf * | ldns_rr_set_rdf (ldns_rr *rr, ldns_rdf *f, size_t position) |
sets a rdf member, it will be set on the position given. | |
bool | ldns_rr_push_rdf (ldns_rr *rr, ldns_rdf *f) |
sets rd_field member, it will be placed in the next available spot. | |
ldns_rdf * | ldns_rr_pop_rdf (ldns_rr *rr) |
removes a rd_field member, it will be popped from the last position. | |
ldns_rdf * | ldns_rr_rdf (const ldns_rr *rr, size_t nr) |
returns the rdata field member counter. | |
ldns_rdf * | ldns_rr_owner (const ldns_rr *rr) |
returns the owner name of an rr structure. | |
uint32_t | ldns_rr_ttl (const ldns_rr *rr) |
returns the ttl of an rr structure. | |
size_t | ldns_rr_rd_count (const ldns_rr *rr) |
returns the rd_count of an rr structure. | |
ldns_rr_type | ldns_rr_get_type (const ldns_rr *rr) |
returns the type of the rr. | |
ldns_rr_class | ldns_rr_get_class (const ldns_rr *rr) |
returns the class of the rr. | |
size_t | ldns_rr_list_rr_count (ldns_rr_list *rr_list) |
returns the number of rr's in an rr_list. | |
void | ldns_rr_list_set_rr_count (ldns_rr_list *rr_list, size_t count) |
sets the number of rr's in an rr_list. | |
ldns_rr * | ldns_rr_list_set_rr (ldns_rr_list *rr_list, ldns_rr *r, size_t count) |
ldns_rr * | ldns_rr_list_rr (ldns_rr_list *rr_list, size_t nr) |
returns a specific rr of an rrlist. | |
ldns_rr_list * | ldns_rr_list_new () |
creates a new rr_list structure. | |
void | ldns_rr_list_free (ldns_rr_list *rr_list) |
frees an rr_list structure. | |
void | ldns_rr_list_deep_free (ldns_rr_list *rr_list) |
frees an rr_list structure and all rrs contained therein. | |
bool | ldns_rr_list_cat (ldns_rr_list *left, ldns_rr_list *right) |
concatenates two ldns_rr_lists together. | |
ldns_rr_list * | ldns_rr_list_cat_clone (ldns_rr_list *left, ldns_rr_list *right) |
concatenates two ldns_rr_lists together, but makes clones of the rr's (instead of pointer copying). | |
bool | ldns_rr_list_push_rr (ldns_rr_list *rr_list, ldns_rr *rr) |
pushes an rr to an rrlist. | |
ldns_rr * | ldns_rr_list_pop_rr (ldns_rr_list *rr_list) |
pops the last rr from an rrlist. | |
bool | ldns_rr_list_contains_rr (ldns_rr_list *rr_list, ldns_rr *rr) |
returns true if the given rr is one of the rrs in the list, or if it is equal to one | |
bool | ldns_is_rrset (ldns_rr_list *rr_list) |
checks if an rr_list is a rrset. | |
bool | ldns_rr_set_push_rr (ldns_rr_list *rr_list, ldns_rr *rr) |
pushes an rr to an rrset (which really are rr_list's). | |
ldns_rr * | ldns_rr_set_pop_rr (ldns_rr_list *rr_list) |
pops the last rr from an rrset. | |
ldns_rr_list * | ldns_rr_list_pop_rrset (ldns_rr_list *rr_list) |
pops the first rrset from the list, the list must be sorted, so that all rr's from each rrset are next to each other | |
ldns_rr_type | ldns_get_rr_type_by_name (const char *name) |
retrieves a rrtype by looking up its name. | |
ldns_rr_class | ldns_get_rr_class_by_name (const char *name) |
retrieves a class by looking up its name. | |
ldns_rr * | ldns_rr_clone (const ldns_rr *rr) |
clones a rr and all its data | |
ldns_rr_list * | ldns_rr_list_clone (ldns_rr_list *rrlist) |
clones an rrlist. | |
void | ldns_rr_list_sort (ldns_rr_list *unsorted) |
sorts an rr_list (canonical wire format). | |
void | ldns_rr_list_sort_oct (ldns_rr_list *unsorted) |
sorts an rr_list (owner - class - type). | |
int | ldns_rr_compare (const ldns_rr *rr1, const ldns_rr *rr2) |
compares two rrs. | |
int | ldns_rr_compare_oct (const ldns_rr *rr1, const ldns_rr *rr2) |
compares two rrs. | |
bool | ldns_rr_compare_ds (const ldns_rr *rr1, const ldns_rr *rr2) |
returns true of the given rr's are equal. | |
size_t | ldns_rr_uncompressed_size (const ldns_rr *r) |
calculates the uncompressed size of an RR. | |
void | ldns_rr2canonical (ldns_rr *rr) |
converts each dname in a rr to its canonical form. | |
void | ldns_rr_list2canonical (ldns_rr_list *rr_list) |
converts each dname in each rr in a rr_list to its canonical form. | |
uint8_t | ldns_rr_label_count (ldns_rr *rr) |
counts the number of labels of the ownername. | |
const ldns_rr_descriptor * | ldns_rr_descript (uint16_t type) |
returns the resource record descriptor for the given rr type. | |
size_t | ldns_rr_descriptor_minimum (const ldns_rr_descriptor *descriptor) |
returns the minimum number of rdata fields of the rr type this descriptor describes. | |
size_t | ldns_rr_descriptor_maximum (const ldns_rr_descriptor *descriptor) |
returns the maximum number of rdata fields of the rr type this descriptor describes. | |
ldns_rdf_type | ldns_rr_descriptor_field_type (const ldns_rr_descriptor *descriptor, size_t field) |
returns the rdf type for the given rdata field number of the rr type for the given descriptor. | |
ldns_rr_list * | ldns_rr_list_subtype_by_rdf (ldns_rr_list *l, ldns_rdf *r, size_t pos) |
Return the rr_list which matches the rdf at position field. | |
bool | ldns_rr_list_insert_rr (ldns_rr_list *rr_list, ldns_rr *r, size_t count) |
|
Maximum length of a complete dname.
|
|
Maximum length of a dname label.
|
|
Maximum number of pointers in 1 dname.
|
|
Maximum number of rr's in a rr_list.
|
|
The bytes TTL, CLASS and length use up in an rr.
|
|
|
|
|
|
|
|
The different RR classes.
|
|
Used to specify whether compression is allowed.
|
|
The different RR types.
|
|
retrieves a class by looking up its name.
|
|
retrieves a rrtype by looking up its name.
|
|
checks if an rr_list is a rrset.
|
|
converts each dname in a rr to its canonical form.
|
|
clones a rr and all its data
|
|
compares two rrs.
|
|
returns true of the given rr's are equal. Also returns true if one record is a DS that represents the same DNSKEY record as the other record
|
|
compares two rrs. (owner-class-type order)
|
|
returns the resource record descriptor for the given rr type.
|
|
returns the rdf type for the given rdata field number of the rr type for the given descriptor.
|
|
returns the maximum number of rdata fields of the rr type this descriptor describes.
|
|
returns the minimum number of rdata fields of the rr type this descriptor describes.
|
|
frees an RR structure
|
|
returns the class of the rr.
|
|
returns the type of the rr.
|
|
counts the number of labels of the ownername.
|
|
converts each dname in each rr in a rr_list to its canonical form.
|
|
concatenates two ldns_rr_lists together. This modifies *left (to extend it and add the pointers from *right).
|
|
concatenates two ldns_rr_lists together, but makes clones of the rr's (instead of pointer copying).
|
|
clones an rrlist.
|
|
returns true if the given rr is one of the rrs in the list, or if it is equal to one
|
|
frees an rr_list structure and all rrs contained therein.
|
|
frees an rr_list structure.
|
|
|
|
creates a new rr_list structure.
|
|
pops the last rr from an rrlist.
|
|
pops the first rrset from the list, the list must be sorted, so that all rr's from each rrset are next to each other
|
|
pushes an rr to an rrlist.
|
|
returns a specific rr of an rrlist.
|
|
returns the number of rr's in an rr_list.
|
|
|
|
sets the number of rr's in an rr_list.
|
|
sorts an rr_list (canonical wire format). the sorting is done inband.
|
|
sorts an rr_list (owner - class - type). the sorting is done inband.
|
|
Return the rr_list which matches the rdf at position field. Think type-covered stuff for RRSIG
|
|
creates a new rr structure.
|
|
creates a new rr from a file containing a string.
|
|
creates a new rr from a file containing a string.
|
|
creates an rr from a string. The string should be a fully filled-in rr, like ownername <space> TTL <space> CLASS <space> TYPE <space> RDATA.
|
|
creates a new rr structure, based on the given type. alloc enough space to hold all the rdf's |
|
returns the owner name of an rr structure.
|
|
removes a rd_field member, it will be popped from the last position.
|
|
sets rd_field member, it will be placed in the next available spot.
|
|
returns the rd_count of an rr structure.
|
|
returns the rdata field member counter.
|
|
sets the class in the rr.
|
|
sets the owner in the rr structure.
|
|
pops the last rr from an rrset. This function is there only for the symmetry.
|
|
pushes an rr to an rrset (which really are rr_list's).
|
|
sets the rd_count in the rr.
|
|
sets a rdf member, it will be set on the position given. The old value is returned, like pop.
|
|
sets the ttl in the rr structure.
|
|
sets the type in the rr.
|
|
returns the ttl of an rr structure.
|
|
calculates the uncompressed size of an RR.
|