X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fgns%2Fgnunet-service-gns_resolver.h;h=240747931b959cc83fbe51c2f855d39aa414be6a;hb=a42663c275df38d4f6fd10182a7b8f523bf5e41d;hp=bc83b6b3d1383c1569426c76d45385e11de6433b;hpb=5f5f1974b15c646bde44583aede2433254138661;p=oweals%2Fgnunet.git diff --git a/src/gns/gnunet-service-gns_resolver.h b/src/gns/gnunet-service-gns_resolver.h index bc83b6b3d..240747931 100644 --- a/src/gns/gnunet-service-gns_resolver.h +++ b/src/gns/gnunet-service-gns_resolver.h @@ -1,21 +1,21 @@ /* This file is part of GNUnet. - (C) 2009-2013 Christian Grothoff (and other contributing authors) + Copyright (C) 2009-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 - by the Free Software Foundation; either version 3, or (at your - option) any later version. + GNUnet is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, + or (at your option) any later version. GNUnet is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. + Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . - 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. + SPDX-License-Identifier: AGPL3.0-or-later */ /** * @file gns/gnunet-service-gns_resolver.h @@ -26,26 +26,23 @@ #define GNS_RESOLVER_H #include "gns.h" #include "gnunet_dht_service.h" - +#include "gnunet_gns_service.h" +#include "gnunet_namecache_service.h" /** * Initialize the resolver subsystem. * MUST be called before #GNS_resolver_lookup. * - * @param nh handle to the namestore + * @param nc the namecache handle * @param dht handle to the dht * @param c configuration handle * @param max_bg_queries maximum amount of background queries - * @param ignore_pending ignore records that still require user confirmation - * on lookup - * @returns GNUNET_OK on success */ -int -GNS_resolver_init (struct GNUNET_NAMESTORE_Handle *nh, +void +GNS_resolver_init (struct GNUNET_NAMECACHE_Handle *nc, struct GNUNET_DHT_Handle *dht, const struct GNUNET_CONFIGURATION_Handle *c, - unsigned long long max_bg_queries, - int ignore_pending); + unsigned long long max_bg_queries); /** @@ -68,9 +65,10 @@ struct GNS_ResolverHandle; * @param rd_count number of records in @a rd * @param rd records returned for the lookup */ -typedef void (*GNS_ResultProcessor)(void *cls, - uint32_t rd_count, - const struct GNUNET_NAMESTORE_RecordData *rd); +typedef void +(*GNS_ResultProcessor)(void *cls, + uint32_t rd_count, + const struct GNUNET_GNSRECORD_Data *rd); /** @@ -80,17 +78,16 @@ typedef void (*GNS_ResultProcessor)(void *cls, * @param zone the zone to perform the lookup in * @param record_type the record type to look up * @param name the name to look up - * @param shorten_key optional private key for authority caching, can be NULL - * @param only_cached GNUNET_NO to only check locally not DHT for performance + * @param options options set to control local lookup * @param proc the processor to call * @param proc_cls the closure to pass to @a proc + * @return handle to cancel operation */ struct GNS_ResolverHandle * -GNS_resolver_lookup (const struct GNUNET_CRYPTO_EccPublicKey *zone, +GNS_resolver_lookup (const struct GNUNET_CRYPTO_EcdsaPublicKey *zone, uint32_t record_type, const char *name, - const struct GNUNET_CRYPTO_EccPrivateKey *shorten_key, - int only_cached, + enum GNUNET_GNS_LocalOptions options, GNS_ResultProcessor proc, void *proc_cls); @@ -98,33 +95,9 @@ GNS_resolver_lookup (const struct GNUNET_CRYPTO_EccPublicKey *zone, /** * Cancel active resolution (i.e. client disconnected). * - * @param h resolution to abort + * @param rh resolution to abort */ void -GNS_resolver_lookup_cancel (struct GNS_ResolverHandle *h); - - - - - -/** - * Generic function to check for TLDs. Checks if "name" ends in ".tld" - * - * @param name the name to check - * @param tld the tld to check - * @return #GNUNET_YES or #GNUNET_NO - */ -int -is_tld (const char *name, - const char *tld); - - - -/** - * Checks for gnu/zkey - */ -#define is_gads_tld(name) is_tld(name, GNUNET_GNS_TLD) -#define is_zkey_tld(name) is_tld(name, GNUNET_GNS_TLD_ZKEY) - +GNS_resolver_lookup_cancel (struct GNS_ResolverHandle *rh); #endif