X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Ftransport%2Fgnunet-service-transport_hello.h;h=f0400863044be33b3911096f2d31e8aa4db1d360;hb=a015c3df2059a98a8692e7f2b06038e066bbc916;hp=ff817814bc5c28ded4a240d1db40abfc1e2290c1;hpb=6fd3e715cae09fa6e657c96f1c6f9711ee51f42f;p=oweals%2Fgnunet.git diff --git a/src/transport/gnunet-service-transport_hello.h b/src/transport/gnunet-service-transport_hello.h index ff817814b..f04008630 100644 --- a/src/transport/gnunet-service-transport_hello.h +++ b/src/transport/gnunet-service-transport_hello.h @@ -1,6 +1,6 @@ /* This file is part of GNUnet. - (C) 2010,2011 Christian Grothoff (and other contributing authors) + Copyright (C) 2010,2011 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,10 +14,9 @@ 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 transport/gnunet-service-transport_hello.h * @brief hello API @@ -29,14 +28,7 @@ #include "gnunet_statistics_service.h" #include "gnunet_transport_service.h" #include "gnunet_util_lib.h" - - -/** - * After how long do we expire an address in a HELLO that we just - * validated? This value is also used for our own addresses when we - * create a HELLO. - */ -#define GST_HELLO_ADDRESS_EXPIRATION GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_HOURS, 12) +#include "gnunet_hello_lib.h" /** @@ -45,23 +37,29 @@ * @param cls closure * @param hello updated HELLO */ -typedef void (*GST_HelloCallback) (void *cls, - const struct GNUNET_MessageHeader * hello); +typedef void +(*GST_HelloCallback) (void *cls, + const struct GNUNET_MessageHeader *hello); /** * Initialize the HELLO module. * + * @param friend_only use a friend only hello * @param cb function to call whenever our HELLO changes - * @param cb_cls closure for cb + * @param cb_cls closure for @a cb */ -void GST_hello_start (GST_HelloCallback cb, void *cb_cls); +void +GST_hello_start (int friend_only, + GST_HelloCallback cb, + void *cb_cls); /** * Shutdown the HELLO module. */ -void GST_hello_stop (void); +void +GST_hello_stop (void); /** @@ -69,38 +67,35 @@ void GST_hello_stop (void); * * @return our HELLO message */ -const struct GNUNET_MessageHeader *GST_hello_get (void); +const struct GNUNET_MessageHeader * +GST_hello_get (void); /** * Add or remove an address from this peer's HELLO message. * - * @param addremove GNUNET_YES to add, GNUNET_NO to remove - * @param plugin_name name of the plugin for which this is an address - * @param plugin_address address in a plugin-specific format - * @param plugin_address_len number of bytes in plugin_address + * @param addremove #GNUNET_YES to add, #GNUNET_NO to remove + * @param address address to add or remove */ -void GST_hello_modify_addresses (int addremove, const char *plugin_name, - const void *plugin_address, - size_t plugin_address_len); +void +GST_hello_modify_addresses (int addremove, + const struct GNUNET_HELLO_Address *address); /** * Test if a particular address is one of ours. * - * @param plugin_name name of the plugin for which this is an address - * @param plugin_address address in a plugin-specific format - * @param plugin_address_len number of bytes in plugin_address + * @param address the address to test * @param sig location where to cache PONG signatures for this address [set] * @param sig_expiration how long until the current 'sig' expires? * (ZERO if sig was never created) [set] - * @return GNUNET_YES if this is one of our addresses, - * GNUNET_NO if not + * @return #GNUNET_YES if this is one of our addresses, + * #GNUNET_NO if not */ -int GST_hello_test_address (const char *plugin_name, const void *plugin_address, - size_t plugin_address_len, - struct GNUNET_CRYPTO_RsaSignature **sig, - struct GNUNET_TIME_Absolute **sig_expiration); +int +GST_hello_test_address (const struct GNUNET_HELLO_Address *address, + struct GNUNET_CRYPTO_EddsaSignature **sig, + struct GNUNET_TIME_Absolute **sig_expiration); #endif