gnunet-service-gns.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. /**
  25. * Find GNS zone belonging to TLD @a tld.
  26. *
  27. * @param tld_str top-level domain to look up
  28. * @param[out] pkey public key to set
  29. * @return #GNUNET_YES if @a tld was found #GNUNET_NO if not
  30. */
  31. int
  32. GNS_find_tld (const char *tld_str,
  33. struct GNUNET_CRYPTO_EcdsaPublicKey *pkey);
  34. /**
  35. * Obtain the TLD of the given @a name.
  36. *
  37. * @param name a name
  38. * @return the part of @a name after the last ".",
  39. * or @a name if @a name does not contain a "."
  40. */
  41. const char *
  42. GNS_get_tld (const char *name);
  43. #endif