gnunet-service-gns.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. This file is part of GNUnet.
  3. Copyright (C) 2018 GNUnet e.V.
  4. GNUnet is free software: you can redistribute it and/or modify it
  5. under the terms of the GNU Affero General Public License as published
  6. by the Free Software Foundation, either version 3 of the License,
  7. or (at your option) any later version.
  8. GNUnet is distributed in the hope that it will be useful, but
  9. WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  11. Affero General Public License for more details.
  12. You should have received a copy of the GNU Affero General Public License
  13. along with this program. If not, see <http://www.gnu.org/licenses/>.
  14. SPDX-License-Identifier: AGPL3.0-or-later
  15. */
  16. /**
  17. * @file gns/gnunet-service-gns.h
  18. * @brief GNU Name System (main service)
  19. * @author Martin Schanzenbach
  20. * @author Christian Grothoff
  21. */
  22. #ifndef GNUNET_SERVICE_GNS_H
  23. #define GNUNET_SERVICE_GNS_H
  24. #include "gnunet_identity_service.h"
  25. /**
  26. * Find GNS zone belonging to TLD @a tld.
  27. *
  28. * @param tld_str top-level domain to look up
  29. * @param[out] pkey public key to set
  30. * @return #GNUNET_YES if @a tld was found #GNUNET_NO if not
  31. */
  32. int
  33. GNS_find_tld (const char *tld_str,
  34. struct GNUNET_IDENTITY_PublicKey *pkey);
  35. /**
  36. * Obtain the TLD of the given @a name.
  37. *
  38. * @param name a name
  39. * @return the part of @a name after the last ".",
  40. * or @a name if @a name does not contain a "."
  41. */
  42. const char *
  43. GNS_get_tld (const char *name);
  44. #endif