Name resolution
---------------
-.. doxygengroup:: resolution
+.. doxygenfile:: resolve.h
:project: libkresolve
-
-.. doxygengroup:: rplan
+.. doxygenfile:: rplan.h
:project: libkresolve
.. _lib_api_cache:
Cache
-----
-.. doxygengroup:: cache
+.. doxygenfile:: cache.h
:project: libkresolve
.. _lib_api_nameservers:
Nameservers
-----------
-.. doxygengroup:: nameservers
+.. doxygenfile:: nsrep.h
+ :project: libkresolve
+.. doxygenfile:: zonecut.h
:project: libkresolve
.. _lib_api_modules:
Modules
-------
-.. doxygengroup:: modules
+.. doxygenfile:: module.h
:project: libkresolve
Utilities
---------
-.. doxygengroup:: utils
+.. doxygenfile:: utils.h
+ :project: libkresolve
+.. doxygenfile:: defines.h
:project: libkresolve
.. _lib_generics:
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/** \addtogroup cache
- * @{
- */
#pragma once
#include <libknot/rrset.h>
* @return KNOT_E*
*/
int kr_cache_clear(namedb_txn_t *txn);
-
-/** @} */
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/** \addtogroup utils
- * @{
- */
-
#pragma once
#include <errno.h>
#define KR_EDNS_VERSION 0
#define KR_EDNS_PAYLOAD 4096
/* @endcond */
-
-/** @} */
* Be aware of that, as direct usage of the macros in the evaluating macros
* may lead to different expectations:
*
- * # Undefined behaviour
+ * @code{.c}
* MIN(array_push(arr, val), other)
+ * @endcode
*
* May evaluate the code twice, leading to unexpected behaviour.
* This is a price to pay for the absence of proper generics.
*
- * Example usage:
+ * # Example usage:
*
+ * @code{.c}
* array_t(const char*) arr;
* array_init(arr);
*
*
* // Random delete
* array_del(arr, 0);
- *
+ * @endcode
* \addtogroup generics
* @{
*/
*
* @warning If the user provides a custom allocator, it must return addresses aligned to 2B boundary.
*
- * Example usage:
+ * # Example usage:
*
+ * @code{.c}
* map_t map = map_make();
*
* // Custom allocator (optional)
*
* // Clear the map
* map_clear(&map);
+ * @endcode
*
* \addtogroup generics
* @{
*
* @note Maximum object size is 2^16 bytes, see ::pack_objlen_t
*
- * Example usage:
+ * # Example usage:
*
+ * @code{.c}
* pack_t pack;
* pack_init(pack);
*
* pack_obj_del(pack, U8("jedi"), 4);
*
* pack_clear(pack);
+ * @endcode
*
* \addtogroup generics
* @{
*
* @note The API is based on map.h, see it for more examples.
*
- * Example usage:
+ * # Example usage:
*
+ * @code{.c}
* set_t set = set_make();
*
* // Insert keys
*
* // Clear the set
* set_clear(&set);
+ * @endcode
*
* \addtogroup generics
* @{
#pragma once
-/** \addtogroup rplan
- * @{
- */
-
#include "lib/defines.h"
#include "lib/resolve.h"
} while (0)
#else
#define QRDEBUG(query, cls, fmt, ...)
-#endif
-
-/** @} */
+#endif
\ No newline at end of file
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/** \addtogroup modules
- * @{
- */
-
#pragma once
#include <libknot/processing/layer.h>
*/
#define KR_MODULE_EXPORT(module) \
uint32_t module ## _api() { return KR_MODULE_API; }
-
-/** @} */
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/** \addtogroup nameservers
- * @{
- */
-
#pragma once
#include <netinet/in.h>
* @return score, see enum kr_ns_score
*/
int kr_nsrep_elect(struct kr_nsrep *ns, map_t *nsset);
-
-/** @} */
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/** \addtogroup rplan
- * @{
- */
-
#pragma once
#include <sys/time.h>
* Return true if resolution chain satisfies given query.
*/
bool kr_rplan_satisfies(struct kr_query *closure, const knot_dname_t *name, uint16_t cls, uint16_t type);
-
-/** @} */
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/** \addtogroup utils
- * @{
- */
-
#pragma once
#include <stdio.h>
/** Concatenate N strings. */
char* kr_strcatdup(unsigned n, ...);
-
-/** @} */
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/** \addtogroup rplan
- * @{
- */
-
#pragma once
#include "lib/generic/map.h"
* @return 0 or error code
*/
int kr_zonecut_find_cached(struct kr_zonecut *cut, namedb_txn_t *txn, uint32_t timestamp);
-
-/** @} */