X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Finclude%2Fgnunet_gns_service.h;h=8a1099444075b367477cd605605a0361eaa19136;hb=17047b7bcbe3f1756028058a9887416c6afab5d8;hp=2d2d2cba670407938befa1bda521c7fb7541b482;hpb=c2d9d1e64c9801122caaa6b429fc67706db5c9d7;p=oweals%2Fgnunet.git diff --git a/src/include/gnunet_gns_service.h b/src/include/gnunet_gns_service.h index 2d2d2cba6..8a1099444 100644 --- a/src/include/gnunet_gns_service.h +++ b/src/include/gnunet_gns_service.h @@ -1,6 +1,6 @@ /* This file is part of GNUnet - Copyright (C) 2012-2014 Christian Grothoff (and other contributing authors) + Copyright (C) 2012-2014 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,14 +14,22 @@ 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_gns_service.h - * @brief API to the GNS service * @author Martin Schanzenbach + * + * @file + * API to the GNS service + * + * @defgroup gns GNS service + * GNU Name System + * + * @see [Documentation](https://gnunet.org/gns-implementation) + * + * @{ */ #ifndef GNUNET_GNS_SERVICE_H #define GNUNET_GNS_SERVICE_H @@ -86,6 +94,16 @@ typedef void (*GNUNET_GNS_LookupResultProcessor) (void *cls, uint32_t rd_count, const struct GNUNET_GNSRECORD_Data *rd); +/** + * Iterator called on obtained result for a GNS lookup. + * + * @param cls closure + * @param rd_count number of records in @a rd + * @param rd the records in reply + */ +typedef void (*GNUNET_GNS_ReverseLookupResultProcessor) (void *cls, + const char* name); + /** * Options for the GNS lookup. @@ -101,7 +119,7 @@ enum GNUNET_GNS_LocalOptions * Never look in the DHT, keep request to local cache. */ GNUNET_GNS_LO_NO_DHT = 1, - + /** * For the rightmost label, only look in the cache (it * is our master zone), for the others, the DHT is OK. @@ -138,6 +156,23 @@ GNUNET_GNS_lookup (struct GNUNET_GNS_Handle *handle, GNUNET_GNS_LookupResultProcessor proc, void *proc_cls); +/** + * Perform an asynchronous reverse lookup operation on the GNS. + * + * @param handle handle to the GNS service + * @param zone_key zone to find a name for + * @param root_key our zone + * @param proc processor to call on result + * @param proc_cls closure for @a proc + * @return handle to the request + */ +struct GNUNET_GNS_ReverseLookupRequest* +GNUNET_GNS_reverse_lookup (struct GNUNET_GNS_Handle *handle, + const struct GNUNET_CRYPTO_EcdsaPublicKey *zone_key, + const struct GNUNET_CRYPTO_EcdsaPublicKey *root_key, + GNUNET_GNS_ReverseLookupResultProcessor proc, + void *proc_cls); + /** * Cancel pending lookup request @@ -155,6 +190,6 @@ GNUNET_GNS_lookup_cancel (struct GNUNET_GNS_LookupRequest *lr); } #endif - #endif -/* gnunet_gns_service.h */ + +/** @} */ /* end of group */