rr_functions.h
Go to the documentation of this file.
/*
* rr_functions.h
*
* the .h file with defs for the per rr
* functions
*
* a Net::DNS like library for C
*
* (c) NLnet Labs, 2005-2006
*
* See the file LICENSE for the license
*/
#ifndef LDNS_RR_FUNCTIONS_H
#define LDNS_RR_FUNCTIONS_H
#ifdef __cplusplus
extern "C" {
#endif
/* A / AAAA */
ldns_rdf* ldns_rr_a_address(const ldns_rr *r);
bool ldns_rr_a_set_address(ldns_rr *r, ldns_rdf *f);
/* NS */
ldns_rdf* ldns_rr_ns_nsdname(const ldns_rr *r);
/* MX */
ldns_rdf* ldns_rr_mx_preference(const ldns_rr *r);
ldns_rdf* ldns_rr_mx_exchange(const ldns_rr *r);
/* RRSIG */
ldns_rdf* ldns_rr_rrsig_typecovered(const ldns_rr *r);
bool ldns_rr_rrsig_set_typecovered(ldns_rr *r, ldns_rdf *f);
ldns_rdf* ldns_rr_rrsig_algorithm(const ldns_rr *r);
bool ldns_rr_rrsig_set_algorithm(ldns_rr *r, ldns_rdf *f);
ldns_rdf *ldns_rr_rrsig_labels(const ldns_rr *r);
bool ldns_rr_rrsig_set_labels(ldns_rr *r, ldns_rdf *f);
ldns_rdf* ldns_rr_rrsig_origttl(const ldns_rr *r);
bool ldns_rr_rrsig_set_origttl(ldns_rr *r, ldns_rdf *f);
ldns_rdf* ldns_rr_rrsig_expiration(const ldns_rr *r);
bool ldns_rr_rrsig_set_expiration(ldns_rr *r, ldns_rdf *f);
ldns_rdf* ldns_rr_rrsig_inception(const ldns_rr *r);
bool ldns_rr_rrsig_set_inception(ldns_rr *r, ldns_rdf *f);
ldns_rdf* ldns_rr_rrsig_keytag(const ldns_rr *r);
bool ldns_rr_rrsig_set_keytag(ldns_rr *r, ldns_rdf *f);
ldns_rdf* ldns_rr_rrsig_signame(const ldns_rr *r);
bool ldns_rr_rrsig_set_signame(ldns_rr *r, ldns_rdf *f);
ldns_rdf* ldns_rr_rrsig_sig(const ldns_rr *r);
bool ldns_rr_rrsig_set_sig(ldns_rr *r, ldns_rdf *f);
/* DNSKEY */
ldns_rdf* ldns_rr_dnskey_flags(const ldns_rr *r);
bool ldns_rr_dnskey_set_flags(ldns_rr *r, ldns_rdf *f);
ldns_rdf* ldns_rr_dnskey_protocol(const ldns_rr *r);
bool ldns_rr_dnskey_set_protocol(ldns_rr *r, ldns_rdf *f);
ldns_rdf* ldns_rr_dnskey_algorithm(const ldns_rr *r);
bool ldns_rr_dnskey_set_algorithm(ldns_rr *r, ldns_rdf *f);
ldns_rdf* ldns_rr_dnskey_key(const ldns_rr *r);
bool ldns_rr_dnskey_set_key(ldns_rr *r, ldns_rdf *f);
size_t ldns_rr_dnskey_key_size_raw(const unsigned char *keydata,
const size_t len,
const ldns_algorithm alg);
size_t ldns_rr_dnskey_key_size(const ldns_rr *key);
typedef uint32_t (*ldns_soa_serial_increment_func_t)(uint32_t, void*);
uint32_t ldns_soa_serial_identity(uint32_t unused, void *data);
uint32_t ldns_soa_serial_increment(uint32_t s, void *unused);
uint32_t ldns_soa_serial_increment_by(uint32_t s, void *data);
uint32_t ldns_soa_serial_unixtime(uint32_t s, void *data);
uint32_t ldns_soa_serial_datecounter(uint32_t s, void *data);
void ldns_rr_soa_increment(
ldns_rr *soa);
void ldns_rr_soa_increment_func(
ldns_rr *soa, ldns_soa_serial_increment_func_t f);
void ldns_rr_soa_increment_func_data(
ldns_rr *soa, ldns_soa_serial_increment_func_t f, void *data);
void ldns_rr_soa_increment_func_int(
ldns_rr *soa, ldns_soa_serial_increment_func_t f, int data);
#ifdef __cplusplus
}
#endif
#endif /* LDNS_RR_FUNCTIONS_H */
ldns_algorithm
enum ldns_enum_algorithm ldns_algorithm
Definition keys.h:64
ldns_rdf
struct ldns_struct_rdf ldns_rdf
Definition rdata.h:205
ldns_rr
struct ldns_struct_rr ldns_rr
Definition rr.h:337
ldns_rr_rrsig_algorithm
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
ldns_rr_dnskey_protocol
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
ldns_rr_mx_preference
ldns_rdf * ldns_rr_mx_preference(const ldns_rr *r)
returns the mx pref.
Definition rr_functions.c:98
ldns_soa_serial_unixtime
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
ldns_rr_dnskey_set_algorithm
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
ldns_rr_dnskey_set_flags
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
ldns_rr_soa_increment_func_int
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
ldns_soa_serial_identity
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_rr_ns_nsdname
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_rr_rrsig_set_expiration
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_rr_a_set_address
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
ldns_rr_rrsig_set_keytag
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_rr_dnskey_algorithm
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
ldns_rr_rrsig_origttl
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_rr_rrsig_set_algorithm
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_rr_rrsig_expiration
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_rr_dnskey_key_size
size_t ldns_rr_dnskey_key_size(const ldns_rr *key)
get the length of the keydata in bits
Definition rr_functions.c:344
ldns_rr_dnskey_set_protocol
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
ldns_rr_mx_exchange
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
ldns_rr_dnskey_set_key
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
ldns_rr_rrsig_set_typecovered
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
ldns_soa_serial_increment
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.
ldns_rr_rrsig_set_labels
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
ldns_rr_soa_increment_func
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
ldns_rr_rrsig_set_inception
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_rr_dnskey_key
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
ldns_rr_rrsig_inception
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_rr_rrsig_set_signame
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_rr_rrsig_sig
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_rr_rrsig_keytag
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_rr_rrsig_typecovered
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_rr_rrsig_signame
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
ldns_rr_soa_increment
void ldns_rr_soa_increment(ldns_rr *soa)
Increment the serial number of the given SOA by one.
Definition rr_functions.c:391
ldns_rr_dnskey_flags
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
ldns_rr_rrsig_set_sig
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
ldns_rr_soa_increment_func_data
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
ldns_rr_dnskey_key_size_raw
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
ldns_soa_serial_increment_by
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
ldns_rr_a_address
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
ldns_rr_rrsig_labels
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
ldns_rr_rrsig_set_origttl
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_soa_serial_increment_func_t
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
ldns_soa_serial_datecounter
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