Commit e369dc72 authored by Marek Vavruša's avatar Marek Vavruša

doc: normalized doxystyle

parent 8ce0280f
......@@ -75,7 +75,7 @@ static int output_error(knot_layer_t *ctx, knot_pkt_t *pkt)
return KNOT_STATE_DONE;
}
/*! \brief Module implementation. */
/** Module implementation. */
static const knot_layer_api_t LAYER_QUERY_MODULE = {
&begin,
NULL,
......
......@@ -21,33 +21,33 @@
#include "lib/resolve.h"
/*!
* \brief Query resolution worker.
/**
* Query resolution worker.
*/
struct worker_ctx {
struct kr_context resolve;
mm_ctx_t *pool;
};
/*!
* \brief Initialize worker context.
* \param worker
* \param mm
/**
* Initialize worker context.
* @param worker
* @param mm
* \return KNOT_E*
*/
int worker_init(struct worker_ctx *worker, mm_ctx_t *mm);
/*!
* \brief Clear worker context.
* \param worker
/**
* Clear worker context.
* @param worker
*/
void worker_deinit(struct worker_ctx *worker);
/*!
* \brief Resolve query.
* \param worker
* \param answer
* \param query
/**
* Resolve query.
* @param worker
* @param answer
* @param query
* \return KNOT_E*
*/
int worker_exec(struct worker_ctx *worker, knot_pkt_t *answer, knot_pkt_t *query);
This diff is collapsed.
......@@ -19,8 +19,8 @@
#include <libknot/rrset.h>
#include <libknot/internal/namedb/namedb.h>
/*!
* \brief Serialized form of the RRSet with inception timestamp.
/**
* Serialized form of the RRSet with inception timestamp.
*/
struct kr_cache_rrset
{
......@@ -29,93 +29,93 @@ struct kr_cache_rrset
uint8_t data[];
};
/*!
* \brief Open/create persistent cache in given path.
* \param handle Path to existing directory where the DB should be created.
* \param mm Memory context.
* \param maxsize Maximum database size (bytes)
/**
* Open/create persistent cache in given path.
* @param handle Path to existing directory where the DB should be created.
* @param mm Memory context.
* @param maxsize Maximum database size (bytes)
* \return database instance or NULL
*/
namedb_t *kr_cache_open(const char *handle, mm_ctx_t *mm, size_t maxsize);
/*!
* \brief Close persistent cache.
* \note This doesn't clear the data, just closes the connection to the database.
* \param cache database instance
/**
* Close persistent cache.
* @note This doesn't clear the data, just closes the connection to the database.
* @param cache database instance
*/
void kr_cache_close(namedb_t *cache);
/*!
* \brief Begin cache transaction (read-only or write).
/**
* Begin cache transaction (read-only or write).
*
* \param cache database instance
* \param txn transaction instance to be initialized (output)
* \param flags transaction flags (see namedb.h in libknot)
* @param cache database instance
* @param txn transaction instance to be initialized (output)
* @param flags transaction flags (see namedb.h in libknot)
* \return KNOT_E*
*/
int kr_cache_txn_begin(namedb_t *cache, namedb_txn_t *txn, unsigned flags);
/*!
* \brief Commit existing transaction.
* \param txn transaction instance
/**
* Commit existing transaction.
* @param txn transaction instance
* \return KNOT_E*
*/
int kr_cache_txn_commit(namedb_txn_t *txn);
/*!
* \brief Abort existing transaction instance.
* \param txn transaction instance
/**
* Abort existing transaction instance.
* @param txn transaction instance
*/
void kr_cache_txn_abort(namedb_txn_t *txn);
/*!
* \brief Peek the cache for given RRSet (name, type, class)
* \note The 'drift' is the time passed between the cache time of the RRSet and now (in seconds).
* \param txn transaction instance
* \param rr query RRSet (its rdataset may be changed depending on the result)
* \param timestamp current time (will be replaced with drift if successful)
/**
* Peek the cache for given RRSet (name, type, class)
* @note The 'drift' is the time passed between the cache time of the RRSet and now (in seconds).
* @param txn transaction instance
* @param rr query RRSet (its rdataset may be changed depending on the result)
* @param timestamp current time (will be replaced with drift if successful)
* \return KNOT_E*
*/
int kr_cache_peek(namedb_txn_t *txn, knot_rrset_t *rr, uint32_t *timestamp);
/*!
* \brief Clone read-only RRSet and adjust TTLs.
* \param src read-only RRSet (its rdataset may be changed depending on the result)
* \param drift time passed between cache time and now
* \param mm memory context
/**
* Clone read-only RRSet and adjust TTLs.
* @param src read-only RRSet (its rdataset may be changed depending on the result)
* @param drift time passed between cache time and now
* @param mm memory context
* \return materialized (or empty) RRSet
*/
knot_rrset_t kr_cache_materialize(const knot_rrset_t *src, uint32_t drift, mm_ctx_t *mm);
/*!
* \brief Insert RRSet into cache, replacing any existing data.
* \param txn transaction instance
* \param rr inserted RRSet
* \param timestamp current time
/**
* Insert RRSet into cache, replacing any existing data.
* @param txn transaction instance
* @param rr inserted RRSet
* @param timestamp current time
* \return KNOT_E*
*/
int kr_cache_insert(namedb_txn_t *txn, const knot_rrset_t *rr, uint32_t timestamp);
/*!
* \brief Remove RRSet from cache.
* \param txn transaction instance
* \param rr removed RRSet
/**
* Remove RRSet from cache.
* @param txn transaction instance
* @param rr removed RRSet
* \return KNOT_E*
*/
int kr_cache_remove(namedb_txn_t *txn, const knot_rrset_t *rr);
/*!
* \brief Clear all items from the cache.
* \param txn transaction instance
/**
* Clear all items from the cache.
* @param txn transaction instance
* \return KNOT_E*
*/
int kr_cache_clear(namedb_txn_t *txn);
/*!
* \brief Clear aged items from the database.
* \param txn transaction instance
* \param timestamp current time
/**
* Clear aged items from the database.
* @param txn transaction instance
* @param timestamp current time
* \return KNOT_E*
*/
int kr_cache_prune(namedb_txn_t *txn, uint32_t timestamp);
......
......@@ -22,12 +22,12 @@
#include "lib/module.h"
#include "lib/cache.h"
/*!
* \brief Name resolution context.
/**
* Name resolution context.
*
* Resolution context provides basic services like cache, configuration and options.
*
* \note This structure is persistent between name resolutions and may
* @note This structure is persistent between name resolutions and may
* be shared between threads.
*/
struct kr_context
......@@ -40,25 +40,25 @@ struct kr_context
uint32_t options;
};
/*!
* \brief Initialize query resolution context.
* \param ctx context to be initialized
* \param mm memory context
/**
* Initialize query resolution context.
* @param ctx context to be initialized
* @param mm memory context
* \return KNOT_E*
*/
int kr_context_init(struct kr_context *ctx, mm_ctx_t *mm);
/*!
* \brief Deinitialize query resolution context.
* \param ctx context to be deinitialized
/**
* Deinitialize query resolution context.
* @param ctx context to be deinitialized
* \return KNOT_E*
*/
int kr_context_deinit(struct kr_context *ctx);
/*!
* \brief Register module to context.
* \param ctx context
* \param module_name
/**
* Register module to context.
* @param ctx context
* @param module_name
* \return KNOT_E*
*/
int kr_context_register(struct kr_context *ctx, const char *module_name);
......@@ -22,10 +22,10 @@
#include "lib/context.h"
#include "lib/rplan.h"
/*!
* \brief Processing module parameters.
/**
* Processing module parameters.
*
* \note These parameters are passed to each processing layer.
* @note These parameters are passed to each processing layer.
*/
struct kr_layer_param {
struct kr_context *ctx;
......@@ -33,7 +33,7 @@ struct kr_layer_param {
knot_pkt_t *answer;
};
/*! \internal Print a debug message related to resolution. */
/** \internal Print a debug message related to resolution. */
#ifndef NDEBUG
#define QRDEBUG(query, cls, fmt, ...) do { \
unsigned _ind = 0; \
......
......@@ -41,7 +41,7 @@ enum {
/* Iterator often walks through packet section, this is an abstraction. */
typedef int (*rr_callback_t)(const knot_rrset_t *, unsigned, struct kr_layer_param *);
/*! \brief Return minimized QNAME/QTYPE for current zone cut. */
/** Return minimized QNAME/QTYPE for current zone cut. */
static const knot_dname_t *minimized_qname(struct kr_query *query, uint16_t *qtype)
{
/* Minimization disabled. */
......@@ -66,7 +66,7 @@ static const knot_dname_t *minimized_qname(struct kr_query *query, uint16_t *qty
return qname;
}
/*! \brief Answer is paired to query. */
/** Answer is paired to query. */
static bool is_paired_to_query(const knot_pkt_t *answer, struct kr_query *query)
{
uint16_t qtype = query->stype;
......@@ -78,7 +78,7 @@ static bool is_paired_to_query(const knot_pkt_t *answer, struct kr_query *query)
knot_dname_is_equal(qname, knot_pkt_qname(answer));
}
/*! \brief Relaxed rule for AA, either AA=1 or SOA matching zone cut is required. */
/** Relaxed rule for AA, either AA=1 or SOA matching zone cut is required. */
static bool is_authoritative(const knot_pkt_t *answer, struct kr_query *query)
{
if (knot_wire_get_aa(answer->wire)) {
......@@ -96,7 +96,7 @@ static bool is_authoritative(const knot_pkt_t *answer, struct kr_query *query)
return false;
}
/*! \brief Return response class. */
/** Return response class. */
static int response_classify(knot_pkt_t *pkt)
{
const knot_pktsection_t *an = knot_pkt_section(pkt, KNOT_ANSWER);
......@@ -333,7 +333,7 @@ static int process_answer(knot_pkt_t *pkt, struct kr_layer_param *param)
return KNOT_STATE_DONE;
}
/*! \brief Error handling, RFC1034 5.3.3, 4d. */
/** Error handling, RFC1034 5.3.3, 4d. */
static int resolve_error(knot_pkt_t *pkt, struct kr_layer_param *param)
{
return KNOT_STATE_FAIL;
......@@ -399,7 +399,7 @@ static int prepare_query(knot_layer_t *ctx, knot_pkt_t *pkt)
return KNOT_STATE_CONSUME;
}
/*! \brief Resolve input query or continue resolution with followups.
/** Resolve input query or continue resolution with followups.
*
* This roughly corresponds to RFC1034, 5.3.3 4a-d.
*/
......@@ -463,7 +463,7 @@ static int resolve(knot_layer_t *ctx, knot_pkt_t *pkt)
return state;
}
/*! \brief Module implementation. */
/** Module implementation. */
const knot_layer_api_t *iterate_layer(void)
{
static const knot_layer_api_t _layer = {
......
......@@ -21,14 +21,14 @@
/* Processing module implementation. */
extern const knot_layer_api_t *iterate_layer(void);
/*!
* \brief Result updates the query parent.
* \note Hint is an index of chosen RR in the set.
/**
* Result updates the query parent.
* @note Hint is an index of chosen RR in the set.
*/
int rr_update_parent(const knot_rrset_t *rr, unsigned hint, struct kr_layer_param *param);
/*!
* \brief Result updates the original query response.
* \note When \a hint is KNOT_PF_FREE, RR is treated as a copy and answer takes its ownership.
/**
* Result updates the original query response.
* @note When \a hint is KNOT_PF_FREE, RR is treated as a copy and answer takes its ownership.
*/
int rr_update_answer(const knot_rrset_t *rr, unsigned hint, struct kr_layer_param *param);
......@@ -118,7 +118,7 @@ static int read_cache(knot_layer_t *ctx, knot_pkt_t *pkt)
return KNOT_STATE_CONSUME;
}
/*! \brief Merge-in record if same type and owner. */
/** Merge-in record if same type and owner. */
static int merge_cache_rr(knot_rrset_t *cache_rr, const knot_rrset_t *rr, mm_ctx_t *pool)
{
if (rr->type != cache_rr->type || !knot_dname_is_equal(rr->owner, cache_rr->owner)) {
......@@ -128,7 +128,7 @@ static int merge_cache_rr(knot_rrset_t *cache_rr, const knot_rrset_t *rr, mm_ctx
return knot_rdataset_merge(&cache_rr->rrs, &rr->rrs, pool);
}
/*! \brief Merge-in records from the same section. */
/** Merge-in records from the same section. */
static int merge_in_section(knot_rrset_t *cache_rr, const knot_pktsection_t *section, unsigned from, mm_ctx_t *pool)
{
int ret = KNOT_EOK;
......@@ -145,7 +145,7 @@ static int merge_in_section(knot_rrset_t *cache_rr, const knot_pktsection_t *sec
return ret;
}
/*! \brief Cache direct answer. */
/** Cache direct answer. */
static int write_cache_rr(const knot_pktsection_t *section, knot_rrset_t *rr, namedb_txn_t *txn, mm_ctx_t *pool, uint32_t timestamp)
{
/* Check if already cached. */
......@@ -182,7 +182,7 @@ static int write_cache_rr(const knot_pktsection_t *section, knot_rrset_t *rr, na
return ret;
}
/*! \brief Cache direct answer. */
/** Cache direct answer. */
static int write_cache_answer(knot_pkt_t *pkt, namedb_txn_t *txn, mm_ctx_t *pool, uint32_t timestamp)
{
knot_rrset_t cache_rr;
......@@ -192,7 +192,7 @@ static int write_cache_answer(knot_pkt_t *pkt, namedb_txn_t *txn, mm_ctx_t *pool
return write_cache_rr(an, &cache_rr, txn, pool, timestamp);
}
/*! \brief Cache stub nameservers. */
/** Cache stub nameservers. */
static int write_cache_authority(knot_pkt_t *pkt, namedb_txn_t *txn, mm_ctx_t *pool, uint32_t timestamp)
{
knot_rrset_t glue_rr = { NULL, 0, 0 };
......@@ -245,7 +245,7 @@ static int write_cache(knot_layer_t *ctx, knot_pkt_t *pkt)
}
/* Cache only positive answers. */
/*! \todo Negative answers cache support */
/** \todo Negative answers cache support */
if (knot_wire_get_rcode(pkt->wire) != KNOT_RCODE_NOERROR) {
return ctx->state;
}
......@@ -266,7 +266,7 @@ static int write_cache(knot_layer_t *ctx, knot_pkt_t *pkt)
return ctx->state;
}
/*! \brief Module implementation. */
/** Module implementation. */
const knot_layer_api_t *itercache_layer(void)
{
static const knot_layer_api_t _layer = {
......
......@@ -23,9 +23,9 @@ enum kr_ns_score {
KR_NS_VALID = 0
};
/*! \brief Return name server score (KR_NS_VALID is baseline, the higher the better).
* \param ns evaluated NS name
* \param param layer parameters
/** Return name server score (KR_NS_VALID is baseline, the higher the better).
* @param ns evaluated NS name
* @param param layer parameters
* \return enum kr_ns_score or higher positive value
*/
int kr_nsrep_score(const knot_dname_t *ns, struct kr_layer_param *param);
\ No newline at end of file
......@@ -32,7 +32,7 @@
/* Defines */
#define ITER_LIMIT 50
/*! \brief Invalidate current NS in cache. */
/** Invalidate current NS in cache. */
static int invalidate_ns(struct kr_rplan *rplan, struct kr_query *qry)
{
namedb_txn_t *txn = kr_rplan_txn_acquire(rplan, 0);
......
......@@ -19,14 +19,14 @@
#include <libknot/packet/pkt.h>
#include "context.h"
/*!
* \brief Resolve an input query and produce a packet with an answer.
* \note The function doesn't change the packet question or message ID.
* \param ctx resolution context
* \param answer answer packet to be written
* \param qname resolved query name
* \param qclass resolved query class
* \param qtype resolved query type
/**
* Resolve an input query and produce a packet with an answer.
* @note The function doesn't change the packet question or message ID.
* @param ctx resolution context
* @param answer answer packet to be written
* @param qname resolved query name
* @param qclass resolved query class
* @param qtype resolved query type
* \return KNOT_E*
*/
int kr_resolve(struct kr_context* ctx, knot_pkt_t *answer,
......
......@@ -28,12 +28,12 @@
/* Query flags */
enum kr_query_flag {
QUERY_NO_MINIMIZE = 1 << 0, /*!< Don't minimize QNAME. */
QUERY_TCP = 1 << 1 /*!< Use TCP for this query. */
QUERY_NO_MINIMIZE = 1 << 0, /**< Don't minimize QNAME. */
QUERY_TCP = 1 << 1 /**< Use TCP for this query. */
};
/*!
* \brief Single query representation.
/**
* Single query representation.
*/
struct kr_query {
node_t node;
......@@ -48,90 +48,90 @@ struct kr_query {
uint16_t flags;
};
/*!
* \brief Query resolution plan structure.
/**
* Query resolution plan structure.
*
* The structure most importantly holds the original query, answer and the
* list of pending queries required to resolve the original query.
* It also keeps a notion of current zone cut.
*/
struct kr_rplan {
unsigned txn_flags; /*!< Current transaction flags. */
namedb_txn_t txn; /*!< Current transaction (may be r/o). */
list_t pending; /*!< List of pending queries. */
list_t resolved; /*!< List of resolved queries. */
struct kr_context *context; /*!< Parent resolution context. */
mm_ctx_t *pool; /*!< Temporary memory pool. */
unsigned txn_flags; /**< Current transaction flags. */
namedb_txn_t txn; /**< Current transaction (may be r/o). */
list_t pending; /**< List of pending queries. */
list_t resolved; /**< List of resolved queries. */
struct kr_context *context; /**< Parent resolution context. */
mm_ctx_t *pool; /**< Temporary memory pool. */
};
/*!
* \brief Initialize resolution plan (empty).
* \param rplan plan instance
* \param context resolution context
* \param pool ephemeral memory pool for whole resolution
/**
* Initialize resolution plan (empty).
* @param rplan plan instance
* @param context resolution context
* @param pool ephemeral memory pool for whole resolution
*/
int kr_rplan_init(struct kr_rplan *rplan, struct kr_context *context, mm_ctx_t *pool);
/*!
* \brief Deinitialize resolution plan, aborting any uncommited transactions.
* \param rplan plan instance
/**
* Deinitialize resolution plan, aborting any uncommited transactions.
* @param rplan plan instance
*/
void kr_rplan_deinit(struct kr_rplan *rplan);
/*!
* \brief Return true if the resolution plan is empty (i.e. finished or initialized)
* \param rplan plan instance
/**
* Return true if the resolution plan is empty (i.e. finished or initialized)
* @param rplan plan instance
* \return true or false
*/
bool kr_rplan_empty(struct kr_rplan *rplan);
/*!
* \brief Acquire rplan transaction (read or write only).
* \note The transaction is shared during the whole resolution, read only transactions
/**
* Acquire rplan transaction (read or write only).
* @note The transaction is shared during the whole resolution, read only transactions
* may be promoted to write-enabled transactions if requested, but never demoted.
* \param rplan plan instance
* \param flags transaction flags
* @param rplan plan instance
* @param flags transaction flags
* \return transaction instance or NULL
*/
namedb_txn_t *kr_rplan_txn_acquire(struct kr_rplan *rplan, unsigned flags);
/*!
* \brief Commit any existing transaction, read-only transactions may be just aborted.
* \param rplan plan instance
/**
* Commit any existing transaction, read-only transactions may be just aborted.
* @param rplan plan instance
* \return KNOT_E*
*/
int kr_rplan_txn_commit(struct kr_rplan *rplan);
/*!
* \brief Push a query to the top of the resolution plan.
* \note This means that this query takes precedence before all pending queries.
* \param rplan plan instance
* \param parent query parent (or NULL)
* \param name resolved name
* \param cls resolved class
* \param type resolved type
/**
* Push a query to the top of the resolution plan.
* @note This means that this query takes precedence before all pending queries.
* @param rplan plan instance
* @param parent query parent (or NULL)
* @param name resolved name
* @param cls resolved class
* @param type resolved type
* \return query instance or NULL
*/
struct kr_query *kr_rplan_push(struct kr_rplan *rplan, struct kr_query *parent,
const knot_dname_t *name, uint16_t cls, uint16_t type);
/*!
* \brief Pop existing query from the resolution plan.
* \note Popped queries are not discarded, but moved to the resolved list.
* \param rplan plan instance
* \param qry resolved query
/**
* Pop existing query from the resolution plan.
* @note Popped queries are not discarded, but moved to the resolved list.
* @param rplan plan instance
* @param qry resolved query
* \return KNOT_E*
*/
int kr_rplan_pop(struct kr_rplan *rplan, struct kr_query *qry);
/*!
* \brief Currently resolved query (at the top).
* \param rplan plan instance
/**
* Currently resolved query (at the top).
* @param rplan plan instance
* \return query instance or NULL if empty
*/
struct kr_query *kr_rplan_current(struct kr_rplan *rplan);
/*!
* \brief Return true if resolution chain satisfies given query.
/**
* 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);
......@@ -33,5 +33,5 @@ extern void _cleanup_fclose(FILE **p);
*/
#define ARRAY_SIZE(x) (sizeof(x)/sizeof(*(x)))
/*! \brief Concatenate N strings. */
/** Concatenate N strings. */
char* kr_strcatdup(unsigned n, ...);
......@@ -26,7 +26,7 @@
#include "lib/defines.h"
#include "lib/layer.h"
/* \brief Root hint descriptor. */
/* Root hint descriptor. */
struct hint_info {
const knot_dname_t *name;
const char *addr;
......@@ -102,7 +102,7 @@ int kr_set_zone_cut_addr(struct kr_zonecut *cut, const knot_rrset_t *rr, uint16_
return ret;
}
/*! \brief Fetch address for zone cut. */
/** Fetch address for zone cut. */
static int fetch_addr(struct kr_zonecut *cut, namedb_txn_t *txn, uint32_t timestamp)
{
/* Fetch nameserver address from cache. */
......@@ -127,7 +127,7 @@ static int fetch_addr(struct kr_zonecut *cut, namedb_txn_t *txn, uint32_t timest
return kr_set_zone_cut_addr(cut, &cached_rr, i);
}
/*! \brief Fetch best NS for zone cut. */
/** Fetch best NS for zone cut. */
static int fetch_ns(struct kr_zonecut *cut, const knot_dname_t *name, namedb_txn_t *txn, uint32_t timestamp)
{
uint32_t drift = timestamp;
......
......@@ -23,48 +23,48 @@
struct kr_rplan;
/*!
* \brief Current zone cut representation.
/**
* Current zone cut representation.
*/
struct kr_zonecut {
knot_dname_t name[KNOT_DNAME_MAXLEN]; /*!< Current zone cut */
knot_dname_t ns[KNOT_DNAME_MAXLEN]; /*!< Authoritative NS */
struct sockaddr_storage addr; /*!< Authoritative NS address. */
knot_dname_t name[KNOT_DNAME_MAXLEN]; /**< Current zone cut */
knot_dname_t ns[KNOT_DNAME_MAXLEN]; /**< Authoritative NS */
struct sockaddr_storage addr; /**< Authoritative NS address. */
};
/*!
* \brief Initialize zone cut with SBELT.
* \param cut zone cut to be set
* \return KNOT_E*
/**
* Initialize zone cut with SBELT.
* @param cut zone cut to be set
* @return KNOT_E*
*/
int kr_init_zone_cut(struct kr_zonecut *cut);
/*!
* \brief Set zone cut to given name and name server.
* \note Name server address is blanked.
* \param cut zone cut to be set
* \param name zone cut name
* \param ns zone cut nameserver
* \return KNOT_E*
/**
* Set zone cut to given name and name server.
* @note Name server address is blanked.
* @param cut zone cut to be set
* @param name zone cut name
* @param ns zone cut nameserver
* @return KNOT_E*
*/
int kr_set_zone_cut(struct kr_zonecut *cut, const knot_dname_t *name, const knot_dname_t *ns);
/*!
* \brief Convert A/AAAA RRs to address with DNS port.
* \param cut zone cut to be set
* \param rr resource record
* \param i index of the set address in the rr
* \return KNOT_E*
/**
* Convert A/AAAA RRs to address with DNS port.
* @param cut zone cut to be set
* @param rr resource record
* @param i index of the set address in the rr
* @return KNOT_E*
*/
int kr_set_zone_cut_addr(struct kr_zonecut *cut, const knot_rrset_t *rr, uint16_t i);
/*!
* \brief Find the closest enclosing zone cut/nameserver from the cache.
* \param cut zone cut to be set
* \param name zone cut name
* \param txn cache transaction
* \param timestamp transaction timestamp
* \return KNOT_E*
/**
* Find the closest enclosing zone cut/nameserver from the cache.
* @param cut zone cut to be set
* @param name zone cut name
* @param txn cache transaction
* @param timestamp transaction timestamp
* @return KNOT_E*
*/
int kr_find_zone_cut(struct kr_zonecut *cut, const knot_dname_t *name, namedb_txn_t *txn, uint32_t timestamp);
......@@ -189,4 +189,4 @@ int hints_deinit(struct kr_module *module)
return kr_ok();
}
KR_MODULE_EXPORT(hints)
KR_MODULE_EXPORT(hints);
......@@ -28,7 +28,7 @@ void __go_init_main() {}
* No module implementation.
*/
/* \note Renamed to mimick Go module. */
/* @note Renamed to mimick Go module. */
#if defined(__APPLE__)
extern uint32_t Api(void) __asm__ ("_main.Api"); /* Mach-O */
#elif _WIN32
......
......@@ -38,14 +38,14 @@ static inline void *mm_test_malloc(void *ctx, size_t n)
static inline void mm_test_free(void *p)
{ return test_free(p); }
/*! \brief Memory context using CMocka allocator. */
/** Memory context using CMocka allocator. */
static inline void test_mm_ctx_init(mm_ctx_t *mm)
{