update.h

Go to the documentation of this file.
00001 /*
00002  * update.h
00003  *
00004  * Functions for RFC 2136 Dynamic Update
00005  *
00006  * Copyright (c) 2005-2008, NLnet Labs. All rights reserved.
00007  *
00008  * See LICENSE for the license.
00009  */
00010 
00018 #ifndef LDNS_UPDATE_H
00019 #define LDNS_UPDATE_H
00020 
00021 #include <ldns/resolver.h>
00022 
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026 
00036 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);
00037 
00046 ldns_status ldns_update_pkt_tsig_add(ldns_pkt *p, ldns_resolver *r);
00047 
00048 /* access functions */
00049 
00055 uint16_t ldns_update_zocount(const ldns_pkt *p);
00061 uint16_t ldns_update_prcount(const ldns_pkt *p);
00067 uint16_t ldns_update_upcount(const ldns_pkt *p);
00073 uint16_t ldns_update_ad(const ldns_pkt *p);
00079 void ldns_update_set_zo(ldns_pkt *p, uint16_t c);
00085 void ldns_update_set_prcount(ldns_pkt *p, uint16_t c);
00091 void ldns_update_set_upcount(ldns_pkt *p, uint16_t c);
00097 void ldns_update_set_adcount(ldns_pkt *p, uint16_t c);
00098 
00099 /* soa functions that need to be configured */
00100 /*
00101  * Not sure if we want to keep these like this, therefore
00102  * not documented
00103  */
00104 ldns_status ldns_update_soa_mname(ldns_rdf *zone, ldns_resolver *r, ldns_rr_class c, ldns_rdf **mname);
00105 /* 
00106  * Not sure if we want to keep these like this, therefore
00107  * not documented
00108  */
00109 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);
00110 
00111 #ifdef __cplusplus
00112 }
00113 #endif
00114 
00115 #endif  /* LDNS_UPDATE_H */

Generated on 28 May 2013 for ldns by  doxygen 1.6.1