rr_functions.h
Go to the documentation of this file.
1 /*
2  * rr_functions.h
3  *
4  * the .h file with defs for the per rr
5  * functions
6  *
7  * a Net::DNS like library for C
8  *
9  * (c) NLnet Labs, 2005-2006
10  *
11  * See the file LICENSE for the license
12  */
13 #ifndef LDNS_RR_FUNCTIONS_H
14 #define LDNS_RR_FUNCTIONS_H
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
26 /* A / AAAA */
33 
41 
42 /* NS */
49 
50 /* MX */
63 
64 /* RRSIG */
182 
183 /* DNSKEY */
236 
244 size_t ldns_rr_dnskey_key_size_raw(const unsigned char *keydata,
245  const size_t len,
246  const ldns_algorithm alg);
247 
253 size_t ldns_rr_dnskey_key_size(const ldns_rr *key);
254 
266 typedef uint32_t (*ldns_soa_serial_increment_func_t)(uint32_t, void*);
267 
274 uint32_t ldns_soa_serial_identity(uint32_t unused, void *data);
275 
282 uint32_t ldns_soa_serial_increment(uint32_t s, void *unused);
283 
290 uint32_t ldns_soa_serial_increment_by(uint32_t s, void *data);
291 
303 uint32_t ldns_soa_serial_unixtime(uint32_t s, void *data);
304 
316 uint32_t ldns_soa_serial_datecounter(uint32_t s, void *data);
317 
323  ldns_rr *soa);
324 
334 
343  ldns_rr *soa, ldns_soa_serial_increment_func_t f, void *data);
344 
357  ldns_rr *soa, ldns_soa_serial_increment_func_t f, int data);
358 
359 #ifdef __cplusplus
360 }
361 #endif
362 
363 #endif /* LDNS_RR_FUNCTIONS_H */
enum ldns_enum_algorithm ldns_algorithm
Definition: keys.h:64
ldns_rdf * ldns_rr_dnskey_key(const ldns_rr *r)
returns the key data of a LDNS_RR_TYPE_DNSKEY rr
Definition: rr_functions.c:256
uint32_t ldns_soa_serial_unixtime(uint32_t s, void *data)
Function to be used with ldns_rr_soa_increment_func or ldns_rr_soa_increment_func_int to set the soa ...
Definition: rr_functions.c:383
bool ldns_rr_dnskey_set_algorithm(ldns_rr *r, ldns_rdf *f)
sets the algorithm of a LDNS_RR_TYPE_DNSKEY rr
Definition: rr_functions.c:250
bool ldns_rr_dnskey_set_flags(ldns_rr *r, ldns_rdf *f)
sets the flags of a LDNS_RR_TYPE_DNSKEY rr
Definition: rr_functions.c:226
void ldns_rr_soa_increment_func_int(ldns_rr *soa, ldns_soa_serial_increment_func_t f, int data)
Increment the serial number of the given SOA with the given function using data as an argument for th...
Definition: rr_functions.c:426
uint32_t ldns_soa_serial_identity(uint32_t unused, void *data)
Function to be used with dns_rr_soa_increment_func_int, to set the soa serial number.
ldns_rdf * ldns_rr_dnskey_flags(const ldns_rr *r)
returns the flags of a LDNS_RR_TYPE_DNSKEY rr
Definition: rr_functions.c:220
bool ldns_rr_rrsig_set_expiration(ldns_rr *r, ldns_rdf *f)
sets the expiration date of a LDNS_RR_TYPE_RRSIG rr
Definition: rr_functions.c:165
ldns_rdf * ldns_rr_dnskey_algorithm(const ldns_rr *r)
returns the algorithm of a LDNS_RR_TYPE_DNSKEY rr
Definition: rr_functions.c:244
bool ldns_rr_a_set_address(ldns_rr *r, ldns_rdf *f)
sets the address of a LDNS_RR_TYPE_A rr
Definition: rr_functions.c:72
bool ldns_rr_rrsig_set_keytag(ldns_rr *r, ldns_rdf *f)
sets the keytag of a LDNS_RR_TYPE_RRSIG rr
Definition: rr_functions.c:189
ldns_rdf * ldns_rr_rrsig_algorithm(const ldns_rr *r)
returns the algorithm of a LDNS_RR_TYPE_RRSIG RR
Definition: rr_functions.c:123
bool ldns_rr_rrsig_set_algorithm(ldns_rr *r, ldns_rdf *f)
sets the algorithm of a LDNS_RR_TYPE_RRSIG rr
Definition: rr_functions.c:129
ldns_rdf * ldns_rr_rrsig_inception(const ldns_rr *r)
returns the inception time of a LDNS_RR_TYPE_RRSIG RR
Definition: rr_functions.c:171
ldns_rdf * ldns_rr_ns_nsdname(const ldns_rr *r)
returns the name of a LDNS_RR_TYPE_NS rr
Definition: rr_functions.c:91
ldns_rdf * ldns_rr_rrsig_expiration(const ldns_rr *r)
returns the expiration time of a LDNS_RR_TYPE_RRSIG RR
Definition: rr_functions.c:159
ldns_rdf * ldns_rr_rrsig_keytag(const ldns_rr *r)
returns the keytag of a LDNS_RR_TYPE_RRSIG RR
Definition: rr_functions.c:183
ldns_rdf * ldns_rr_dnskey_protocol(const ldns_rr *r)
returns the protocol of a LDNS_RR_TYPE_DNSKEY rr
Definition: rr_functions.c:232
size_t ldns_rr_dnskey_key_size(const ldns_rr *key)
get the length of the keydata in bits
Definition: rr_functions.c:344
bool ldns_rr_dnskey_set_protocol(ldns_rr *r, ldns_rdf *f)
sets the protocol of a LDNS_RR_TYPE_DNSKEY rr
Definition: rr_functions.c:238
bool ldns_rr_dnskey_set_key(ldns_rr *r, ldns_rdf *f)
sets the key data of a LDNS_RR_TYPE_DNSKEY rr
Definition: rr_functions.c:262
bool ldns_rr_rrsig_set_typecovered(ldns_rr *r, ldns_rdf *f)
sets the typecovered of a LDNS_RR_TYPE_RRSIG rr
Definition: rr_functions.c:117
uint32_t ldns_soa_serial_increment(uint32_t s, void *unused)
Function to be used with dns_rr_soa_increment_func, to increment the soa serial number with one.
bool ldns_rr_rrsig_set_labels(ldns_rr *r, ldns_rdf *f)
sets the number of labels of a LDNS_RR_TYPE_RRSIG rr
Definition: rr_functions.c:141
void ldns_rr_soa_increment_func(ldns_rr *soa, ldns_soa_serial_increment_func_t f)
Increment the serial number of the given SOA with the given function.
Definition: rr_functions.c:397
bool ldns_rr_rrsig_set_inception(ldns_rr *r, ldns_rdf *f)
sets the inception date of a LDNS_RR_TYPE_RRSIG rr
Definition: rr_functions.c:177
ldns_rdf * ldns_rr_rrsig_labels(const ldns_rr *r)
returns the number of labels of a LDNS_RR_TYPE_RRSIG RR
Definition: rr_functions.c:135
bool ldns_rr_rrsig_set_signame(ldns_rr *r, ldns_rdf *f)
sets the signers name of a LDNS_RR_TYPE_RRSIG rr
Definition: rr_functions.c:201
ldns_rdf * ldns_rr_rrsig_origttl(const ldns_rr *r)
returns the original TTL of a LDNS_RR_TYPE_RRSIG RR
Definition: rr_functions.c:147
ldns_rdf * ldns_rr_mx_preference(const ldns_rr *r)
returns the mx pref.
Definition: rr_functions.c:98
ldns_rdf * ldns_rr_mx_exchange(const ldns_rr *r)
returns the mx host of a LDNS_RR_TYPE_MX rr
Definition: rr_functions.c:104
void ldns_rr_soa_increment(ldns_rr *soa)
Increment the serial number of the given SOA by one.
Definition: rr_functions.c:391
ldns_rdf * ldns_rr_rrsig_typecovered(const ldns_rr *r)
returns the type covered of a LDNS_RR_TYPE_RRSIG rr
Definition: rr_functions.c:111
ldns_rdf * ldns_rr_rrsig_sig(const ldns_rr *r)
returns the signature data of a LDNS_RR_TYPE_RRSIG RR
Definition: rr_functions.c:207
ldns_rdf * ldns_rr_rrsig_signame(const ldns_rr *r)
returns the signers name of a LDNS_RR_TYPE_RRSIG RR
Definition: rr_functions.c:195
bool ldns_rr_rrsig_set_sig(ldns_rr *r, ldns_rdf *f)
sets the signature data of a LDNS_RR_TYPE_RRSIG rr
Definition: rr_functions.c:213
void ldns_rr_soa_increment_func_data(ldns_rr *soa, ldns_soa_serial_increment_func_t f, void *data)
Increment the serial number of the given SOA with the given function passing it the given data argume...
Definition: rr_functions.c:403
size_t ldns_rr_dnskey_key_size_raw(const unsigned char *keydata, const size_t len, const ldns_algorithm alg)
get the length of the keydata in bits
Definition: rr_functions.c:268
uint32_t ldns_soa_serial_increment_by(uint32_t s, void *data)
Function to be used with dns_rr_soa_increment_func_int, to increment the soa serial number with a cer...
Definition: rr_functions.c:366
bool ldns_rr_rrsig_set_origttl(ldns_rr *r, ldns_rdf *f)
sets the original TTL of a LDNS_RR_TYPE_RRSIG rr
Definition: rr_functions.c:153
ldns_rdf * ldns_rr_a_address(const ldns_rr *r)
returns the address of a LDNS_RR_TYPE_A rr
Definition: rr_functions.c:61
uint32_t(* ldns_soa_serial_increment_func_t)(uint32_t, void *)
The type of function to be passed to ldns_rr_soa_increment_func, ldns_rr_soa_increment_func_data or l...
Definition: rr_functions.h:266
uint32_t ldns_soa_serial_datecounter(uint32_t s, void *data)
Function to be used with ldns_rr_soa_increment_func or ldns_rr_soa_increment_func_int to set the soa ...
Definition: rr_functions.c:371
Resource record data field.
Definition: rdata.h:197
Resource Record.
Definition: rr.h:310