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 enum ldns_enum_rr_class | ldns_rr_class |
| typedef enum ldns_enum_rr_compress | ldns_rr_compress |
| typedef enum ldns_enum_rr_type | ldns_rr_type |
| 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.
|
1.4.6