#define LDNS_MIN_BUFLEN 256
/**
- * LDNS implementation of buffers to ease operations
+ * \file buffer.h
+ *
+ * This file contains the definition of \ref ldns_buffer, and functions to manipulate those.
+ */
+
+/**
+ * implementation of buffers to ease operations
*
* ldns_buffers can contain arbitrary information, per octet. You can write
* to the current end of a buffer, read from the current position, and
-/*
- * common.h
+/**
+ * \file common.h
*
* Common definitions for LDNS
- *
+ */
+
+/**
* a Net::DNS like library for C
*
* (c) NLnet Labs, 2004-2006
* See the file LICENSE for the license
*/
+/**
+ * \file dname.h
+ *
+ * dname contains function to read and manipulate domain names.
+ *
+ * Example domain names are "www.nlnetlabs.nl." and "." (the root)
+ *
+ * If a domain name ends with a dot ("."), it is called a Fully Qualified
+ * Domain Name (FQDN). In certain places (for instance when reading a zone
+ * file), an origin (which is just another domain name) non-FQDNs will be
+ * placed after the current. For instance, if i have a zone file where the
+ * origin has been set to "nl.", and my file contains the name
+ * "www.nlnetlabs", it will result in "www.nlnetlabs.nl.". Internally, dnames are
+ * always absolute (the dot is added when it is missing and there is no origin).
+ *
+ * An FQDN is also
+ * known as an absolute domain name, therefore the function to check this is
+ * called \ref ldns_dname_str_absolute
+ *
+ * Domain names are stored in \ref ldns_rdf structures, with the type
+ * \ref LDNS_RDF_TYPE_DNAME
+ *
+ * This module is *NOT* about the RR type called DNAME.
+ */
+
+
#ifndef LDNS_DNAME_H
#define LDNS_DNAME_H
#define LDNS_DNAME_NORMALIZE tolower
/**
- * concatenate two dnames together
+ * concatenates two dnames together
* \param[in] rd1 the leftside
* \param[in] rd2 the rightside
* \return a new rdf with leftside/rightside
\image html LogoInGradientBar2-y100.png
</div>
*/
+
+/**
+ * \file dns.h
+ *
+ * Including this file will include all ldns files, and define some lookup tables.
+ */
+
#ifndef LDNS_DNS_H
#define LDNS_DNS_H
/* lookup tables for standard DNS stuff */
-/* Taken from RFC 2538, section 2.1. */
+/** Taken from RFC 2538, section 2.1. */
extern ldns_lookup_table ldns_certificate_types[];
-/* Taken from RFC 2535, section 7. */
+/** Taken from RFC 2535, section 7. */
extern ldns_lookup_table ldns_algorithms[];
-/* Taken from RFC 2538. */
+/** Taken from RFC 2538. */
extern ldns_lookup_table ldns_cert_algorithms[];
-/* rr types */
+/** rr types */
extern ldns_lookup_table ldns_rr_classes[];
-/* if these are used elsewhere */
+/** Response codes */
extern ldns_lookup_table ldns_rcodes[];
+/** Operation codes */
extern ldns_lookup_table ldns_opcodes[];
+/** EDNS flags */
extern ldns_lookup_table ldns_edns_flags[];
#endif /* LDNS_DNS_H */
* A bunch of defines that are used in the DNS
*/
+/**
+ * \file dnssec.h
+ *
+ * This module contains functions for DNSSEC operations (RFC4033 t/m RFC4035).
+ *
+ * Since those functions heavily rely op cryptographic operations, this module is
+ * dependent on openssl.
+ *
+ */
+
+
#ifndef LDNS_DNSSEC_H
#define LDNS_DNSSEC_H
-/*
- * error.h
+/**
+ * \file error.h
*
- * error reporting function and definition
+ * Defines error numbers and functions to translate those to a readable string.
*
+ */
+
+/**
* a Net::DNS like library for C
*
* (c) NLnet Labs, 2005-2006
-/*
- * higher.h
- *
- * Specify some higher level functions that would
- * be usefull to would be developers
+/**
+ * \file higher.h
*
+ * Specifies some higher level functions that could
+ * be useful for certain applications
+ */
+
+/*
* a Net::DNS like library for C
*
* (c) NLnet Labs, 2005-2006
* See the file LICENSE for the license
*/
+/**
+ * \file
+ *
+ * Contains functions to translate the main structures to their text
+ * representation, as well as functions to print them.
+ */
+
#ifndef LDNS_HOST2STR_H
#define LDNS_HOST2STR_H
* See the file LICENSE for the license
*/
+/**
+ * \file
+ *
+ * Contains all functions to translate the main structures to wire format
+ */
+
#ifndef LDNS_HOST2WIRE_H
#define LDNS_HOST2WIRE_H
* See the file LICENSE for the license
*/
+/**
+ * \file
+ *
+ * Addendum to \ref dnssec.h, this module contains key and algorithm definitions and functions.
+ */
+
+
#ifndef LDNS_KEYS_H
#define LDNS_KEYS_H
#define LDNS_DEFAULT_TIMEOUT_SEC 2
#define LDNS_DEFAULT_TIMEOUT_USEC 0
+/**
+ * \file
+ *
+ * Contains functions to send and receive packets over a network.
+ */
/**
* Sends a buffer to an ip using udp and return the respons as a ldns_pkt
* See the file LICENSE for the license
*/
+/**
+ * \file
+ *
+ * Contains the definition of \ref ldns_pkt and its parts, as well
+ * as functions to manipulate those.
+ */
+
+
#ifndef LDNS_PACKET_H
#define LDNS_PACKET_H