X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Finclude%2Fgnunet_block_plugin.h;h=5c320457eb8445bacd532f277340e2a55f9a9dd6;hb=7a7ec54a324da4820202582126795a8ac6bbe94d;hp=ac549fec765aaad27a6ee76b2a396fbc1fef638e;hpb=6c471eeb15e27f8226492b4860a3c2acb94c5f25;p=oweals%2Fgnunet.git diff --git a/src/include/gnunet_block_plugin.h b/src/include/gnunet_block_plugin.h index ac549fec7..5c320457e 100644 --- a/src/include/gnunet_block_plugin.h +++ b/src/include/gnunet_block_plugin.h @@ -1,6 +1,6 @@ /* This file is part of GNUnet - (C) 2010 Christian Grothoff (and other contributing authors) + Copyright (C) 2010,2013 GNUnet e.V. GNUnet is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -14,63 +14,61 @@ You should have received a copy of the GNU General Public License along with GNUnet; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ /** - * @file include/gnunet_block_plugin.h - * @brief API for block plugins. Each block plugin must conform to - * the API specified by this header. * @author Christian Grothoff + * + * @file + * API for block plugins. + * + * @defgroup block-plugin Block plugin API + * To be implemented by applications storing data in the DHT. + * + * Each block plugin must conform to the API specified by this header. + * + * @{ */ + #ifndef PLUGIN_BLOCK_H #define PLUGIN_BLOCK_H #include "gnunet_util_lib.h" -#include "gnunet_container_lib.h" #include "gnunet_block_lib.h" /** * Function called to validate a reply or a request. For - * request evaluation, simply pass "NULL" for the reply_block. + * request evaluation, simply pass "NULL" for the @a reply_block. * Note that it is assumed that the reply has already been * matched to the key (and signatures checked) as it would * be done with the "get_key" function. * * @param cls closure * @param type block type + * @param eo evaluation options to control evaluation * @param query original query (hash) * @param bf pointer to bloom filter associated with query; possibly updated (!) - * @param bf_mutator mutation value for bf + * @param bf_mutator mutation value for @a bf * @param xquery extrended query data (can be NULL, depending on type) - * @param xquery_size number of bytes in xquery + * @param xquery_size number of bytes in @a xquery * @param reply_block response to validate - * @param reply_block_size number of bytes in reply block + * @param reply_block_size number of bytes in @a reply_block * @return characterization of result */ -typedef enum - GNUNET_BLOCK_EvaluationResult (*GNUNET_BLOCK_EvaluationFunction) (void *cls, - enum - GNUNET_BLOCK_Type - type, - const - struct GNUNET_HashCode - * query, - struct - GNUNET_CONTAINER_BloomFilter - ** bf, - int32_t - bf_mutator, - const void - *xquery, - size_t - xquery_size, - const void - *reply_block, - size_t - reply_block_size); +typedef enum GNUNET_BLOCK_EvaluationResult +(*GNUNET_BLOCK_EvaluationFunction) (void *cls, + enum GNUNET_BLOCK_Type type, + enum GNUNET_BLOCK_EvaluationOptions eo, + const struct GNUNET_HashCode *query, + struct GNUNET_CONTAINER_BloomFilter **bf, + int32_t bf_mutator, + const void *xquery, + size_t xquery_size, + const void *reply_block, + size_t reply_block_size); /** @@ -79,18 +77,19 @@ typedef enum * @param cls closure * @param type block type * @param block block to get the key for - * @param block_size number of bytes in block + * @param block_size number of bytes in @a block * @param key set to the key (query) for the given block - * @return GNUNET_YES on success, - * GNUNET_NO if the block is malformed - * GNUNET_SYSERR if type not supported + * @return #GNUNET_YES on success, + * #GNUNET_NO if the block is malformed + * #GNUNET_SYSERR if type not supported * (or if extracting a key from a block of this type does not work) */ -typedef int (*GNUNET_BLOCK_GetKeyFunction) (void *cls, - enum GNUNET_BLOCK_Type type, - const void *block, - size_t block_size, - struct GNUNET_HashCode * key); +typedef int +(*GNUNET_BLOCK_GetKeyFunction) (void *cls, + enum GNUNET_BLOCK_Type type, + const void *block, + size_t block_size, + struct GNUNET_HashCode *key); @@ -124,5 +123,6 @@ struct GNUNET_BLOCK_PluginFunctions }; - #endif + +/** @} */ /* end of group */