dname.h

Go to the documentation of this file.
00001 /*
00002  * dname.h
00003  *
00004  * dname definitions
00005  *
00006  * a Net::DNS like library for C
00007  *
00008  * (c) NLnet Labs, 2004, 2005
00009  *
00010  * See the file LICENSE for the license
00011  */
00012 
00013 #ifndef _LDNS_DNAME_H
00014 #define _LDNS_DNAME_H
00015 
00016 #include <ldns/common.h>
00017 #include <ldns/rdata.h>
00018 
00019 #define LDNS_DNAME_NORMALIZE        tolower
00020 
00027 ldns_rdf *ldns_dname_cat_clone(ldns_rdf *rd1, ldns_rdf *rd2);
00034 ldns_status     ldns_dname_cat(ldns_rdf *rd1, ldns_rdf *rd2);
00041 ldns_rdf *ldns_dname_left_chop(ldns_rdf *d);
00047 uint8_t  ldns_dname_label_count(const ldns_rdf *r);
00048 
00054 ldns_rdf *ldns_dname_new_frm_str(const char *str);
00055 
00062 ldns_rdf *ldns_dname_new(uint16_t s, void *data);
00063 
00070 ldns_rdf *ldns_dname_new_frm_data(uint16_t size, const void *data);
00071 
00077 void ldns_dname2canonical(const ldns_rdf *rdf);
00078 
00086 bool ldns_dname_is_subdomain(const ldns_rdf *sub, const ldns_rdf *parent);
00087 
00093 bool ldns_dname_str_absolute(const char *dname_str);
00094 
00103 ldns_rdf * ldns_dname_label(const ldns_rdf *rdf, uint8_t labelpos);
00104 
00105 #endif  /* !_LDNS_DNAME_H */

Generated on Mon Feb 20 15:41:27 2006 for ldns by  doxygen 1.4.6