rr_functions.h

Go to the documentation of this file.
00001 /*
00002  * rr_functions.h
00003  *
00004  * the .h file with defs for the per rr
00005  * functions
00006  *
00007  * a Net::DNS like library for C
00008  * 
00009  * (c) NLnet Labs, 2005-2006
00010  * 
00011  * See the file LICENSE for the license
00012  */
00013 #ifndef LDNS_RR_FUNCTIONS_H
00014 #define LDNS_RR_FUNCTIONS_H
00015 
00016 #ifdef __cplusplus
00017 extern "C" {
00018 #endif
00019 
00026 /* A / AAAA */
00032 ldns_rdf* ldns_rr_a_address(const ldns_rr *r);
00033 
00040 bool ldns_rr_a_set_address(ldns_rr *r, ldns_rdf *f);
00041 
00042 /* NS */
00048 ldns_rdf* ldns_rr_ns_nsdname(const ldns_rr *r);
00049 
00050 /* MX */
00056 ldns_rdf* ldns_rr_mx_preference(const ldns_rr *r);
00062 ldns_rdf* ldns_rr_mx_exchange(const ldns_rr *r);
00063 
00064 /* RRSIG */
00070 ldns_rdf* ldns_rr_rrsig_typecovered(const ldns_rr *r);
00077 bool ldns_rr_rrsig_set_typecovered(ldns_rr *r, ldns_rdf *f);
00083 ldns_rdf* ldns_rr_rrsig_algorithm(const ldns_rr *r);
00090 bool ldns_rr_rrsig_set_algorithm(ldns_rr *r, ldns_rdf *f);
00096 ldns_rdf *ldns_rr_rrsig_labels(const ldns_rr *r);
00103 bool ldns_rr_rrsig_set_labels(ldns_rr *r, ldns_rdf *f);
00109 ldns_rdf* ldns_rr_rrsig_origttl(const ldns_rr *r);
00116 bool ldns_rr_rrsig_set_origttl(ldns_rr *r, ldns_rdf *f);
00122 ldns_rdf* ldns_rr_rrsig_expiration(const ldns_rr *r);
00129 bool ldns_rr_rrsig_set_expiration(ldns_rr *r, ldns_rdf *f);
00135 ldns_rdf* ldns_rr_rrsig_inception(const ldns_rr *r);
00142 bool ldns_rr_rrsig_set_inception(ldns_rr *r, ldns_rdf *f);
00148 ldns_rdf* ldns_rr_rrsig_keytag(const ldns_rr *r);
00155 bool ldns_rr_rrsig_set_keytag(ldns_rr *r, ldns_rdf *f);
00161 ldns_rdf* ldns_rr_rrsig_signame(const ldns_rr *r);
00168 bool ldns_rr_rrsig_set_signame(ldns_rr *r, ldns_rdf *f);
00174 ldns_rdf* ldns_rr_rrsig_sig(const ldns_rr *r);
00181 bool ldns_rr_rrsig_set_sig(ldns_rr *r, ldns_rdf *f);
00182 
00183 /* DNSKEY */
00189 ldns_rdf* ldns_rr_dnskey_flags(const ldns_rr *r);
00196 bool ldns_rr_dnskey_set_flags(ldns_rr *r, ldns_rdf *f);
00202 ldns_rdf* ldns_rr_dnskey_protocol(const ldns_rr *r);
00209 bool ldns_rr_dnskey_set_protocol(ldns_rr *r, ldns_rdf *f);
00215 ldns_rdf* ldns_rr_dnskey_algorithm(const ldns_rr *r);
00222 bool ldns_rr_dnskey_set_algorithm(ldns_rr *r, ldns_rdf *f);
00228 ldns_rdf* ldns_rr_dnskey_key(const ldns_rr *r);
00235 bool ldns_rr_dnskey_set_key(ldns_rr *r, ldns_rdf *f);
00236 
00244 size_t ldns_rr_dnskey_key_size_raw(const unsigned char *keydata,
00245                                    const size_t len,
00246                                    const ldns_algorithm alg);
00247 
00253 size_t ldns_rr_dnskey_key_size(const ldns_rr *key);
00254 
00266 typedef uint32_t (*ldns_soa_serial_increment_func_t)(uint32_t, void*);
00267 
00274 uint32_t ldns_soa_serial_identity(uint32_t unused, void *data);
00275 
00282 uint32_t ldns_soa_serial_increment(uint32_t s, void *unused);
00283 
00290 uint32_t ldns_soa_serial_increment_by(uint32_t s, void *data);
00291 
00303 uint32_t ldns_soa_serial_unixtime(uint32_t s, void *data);
00304 
00316 uint32_t ldns_soa_serial_datecounter(uint32_t s, void *data);
00317 
00322 void ldns_rr_soa_increment(
00323                 ldns_rr *soa);
00324 
00332 void ldns_rr_soa_increment_func(
00333                 ldns_rr *soa, ldns_soa_serial_increment_func_t f);
00334 
00342 void ldns_rr_soa_increment_func_data(
00343                 ldns_rr *soa, ldns_soa_serial_increment_func_t f, void *data);
00344 
00356 void ldns_rr_soa_increment_func_int(
00357                 ldns_rr *soa, ldns_soa_serial_increment_func_t f, int data);
00358 
00359 #ifdef __cplusplus
00360 }
00361 #endif
00362 
00363 #endif /* LDNS_RR_FUNCTIONS_H */

Generated on Wed Dec 19 16:56:49 2012 for ldns by  doxygen 1.4.7