ldns documentation

- Main Page
- Related Pages
- Data Structures
- Files

- File List
- Globals

update.h
Go to the documentation of this file.
1 /*
2 * update.h
3 *
4 * Functions for RFC 2136 Dynamic Update
5 *
6 * Copyright (c) 2005-2008, NLnet Labs. All rights reserved.
7 *
8 * See LICENSE for the license.
9 */
10
18 #ifndef LDNS_UPDATE_H
19 #define LDNS_UPDATE_H
20
21 #include <ldns/resolver.h>
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
36 ldns_pkt *ldns_update_pkt_new(ldns_rdf *zone_rdf, ldns_rr_class clas, ldns_rr_list *pr_rrlist, ldns_rr_list *up_rrlist, ldns_rr_list *ad_rrlist);
37
46 ldns_status ldns_update_pkt_tsig_add(ldns_pkt *p, ldns_resolver *r);
47
48 /* access functions */
49
55 uint16_t ldns_update_zocount(const ldns_pkt *p);
61 uint16_t ldns_update_prcount(const ldns_pkt *p);
67 uint16_t ldns_update_upcount(const ldns_pkt *p);
73 uint16_t ldns_update_ad(const ldns_pkt *p);
79 void ldns_update_set_zo(ldns_pkt *p, uint16_t c);
85 void ldns_update_set_prcount(ldns_pkt *p, uint16_t c);
91 void ldns_update_set_upcount(ldns_pkt *p, uint16_t c);
97 void ldns_update_set_adcount(ldns_pkt *p, uint16_t c);
98
99 /* soa functions that need to be configured */
100 /*
101 * Not sure if we want to keep these like this, therefore
102 * not documented
103 */
104 ldns_status ldns_update_soa_mname(ldns_rdf *zone, ldns_resolver *r, ldns_rr_class c, ldns_rdf **mname);
105 /*
106 * Not sure if we want to keep these like this, therefore
107 * not documented
108 */
109 ldns_status ldns_update_soa_zone_mname(const char *fqdn, ldns_resolver *r, ldns_rr_class c, ldns_rdf **zone_rdf, ldns_rdf **mname_rdf);
110
111 #ifdef __cplusplus
112 }
113 #endif
114
115 #endif /* LDNS_UPDATE_H */
ldns_update_upcount
uint16_t ldns_update_upcount(const ldns_pkt *p)
Get the zo count.
Definition: update.c:285
ldns_struct_resolver
DNS stub resolver structure.
Definition: resolver.h:59
ldns_rr_class
enum ldns_enum_rr_class ldns_rr_class
Definition: rr.h:64
ldns_struct_rr_list
List or Set of Resource Records.
Definition: rr.h:327
ldns_update_ad
uint16_t ldns_update_ad(const ldns_pkt *p)
Get the zo count.
Definition: update.c:291
ldns_update_set_prcount
void ldns_update_set_prcount(ldns_pkt *p, uint16_t c)
Set the pr count.
Definition: update.c:303
ldns_update_soa_zone_mname
ldns_status ldns_update_soa_zone_mname(const char *fqdn, ldns_resolver *r, ldns_rr_class c, ldns_rdf **zone_rdf, ldns_rdf **mname_rdf)
Definition: update.c:130
ldns_update_set_upcount
void ldns_update_set_upcount(ldns_pkt *p, uint16_t c)
Set the up count.
Definition: update.c:309
ldns_update_prcount
uint16_t ldns_update_prcount(const ldns_pkt *p)
Get the zo count.
Definition: update.c:279
ldns_update_set_zo
void ldns_update_set_zo(ldns_pkt *p, uint16_t c)
Set the zo count.
Definition: update.c:297
ldns_update_zocount
uint16_t ldns_update_zocount(const ldns_pkt *p)
Get the zo count.
Definition: update.c:273
ldns_update_pkt_new
ldns_pkt * ldns_update_pkt_new(ldns_rdf *zone_rdf, ldns_rr_class clas, ldns_rr_list *pr_rrlist, ldns_rr_list *up_rrlist, ldns_rr_list *ad_rrlist)
create an update packet from zone name, class and the rr lists
Definition: update.c:27
ldns_update_soa_mname
ldns_status ldns_update_soa_mname(ldns_rdf *zone, ldns_resolver *r, ldns_rr_class c, ldns_rdf **mname)
Definition: update.c:90
resolver.h
Defines the ldns_resolver structure, a stub resolver that can send queries and parse answers...
ldns_struct_pkt
DNS packet.
Definition: packet.h:233
ldns_status
enum ldns_enum_status ldns_status
Definition: error.h:131
ldns_struct_rdf
Resource record data field.
Definition: rdata.h:166
ldns_update_pkt_tsig_add
ldns_status ldns_update_pkt_tsig_add(ldns_pkt *p, ldns_resolver *r)
add tsig credentials to a packet from a resolver
Definition: update.c:70
ldns_update_set_adcount
void ldns_update_set_adcount(ldns_pkt *p, uint16_t c)
Set the ad count.
Definition: update.c:315