*/
static GNUNET_CORE_DisconnectEventHandler client_dh;
+GNUNET_NETWORK_STRUCT_BEGIN
+
/**
* A HOSTLIST_ADV message is used to exchange information about
* hostlist advertisements. This struct is always
*/
uint32_t reserved GNUNET_PACKED;
};
-
+GNUNET_NETWORK_STRUCT_END
static struct GNUNET_PeerIdentity me;
/**
* Core handler for p2p hostlist advertisements
*
+ * @param cls closure
+ * @param peer identity of the sender
+ * @param message advertisement message we got
+ * @param atsi performance information
* @param atsi_count number of records in 'atsi'
+ * @return GNUNET_OK on success
*/
static int
advertisement_handler (void *cls, const struct GNUNET_PeerIdentity *peer,
const struct GNUNET_MessageHeader *message,
const struct GNUNET_ATS_Information *atsi,
- unsigned int atsi_count)
+ unsigned int atsi_count)
{
GNUNET_assert (NULL != client_adv_handler);
return (*client_adv_handler) (cls, peer, message, atsi, atsi_count);
static void
connect_handler (void *cls, const struct GNUNET_PeerIdentity *peer,
const struct GNUNET_ATS_Information *atsi,
- unsigned int atsi_count)
+ unsigned int atsi_count)
{
if (0 == memcmp (&me, peer, sizeof (struct GNUNET_PeerIdentity)))
return;
stats = GNUNET_STATISTICS_create ("hostlist", cfg);
core =
- GNUNET_CORE_connect (cfg, 1, NULL, &core_init, &connect_handler,
+ GNUNET_CORE_connect (cfg, NULL, &core_init, &connect_handler,
&disconnect_handler, NULL, GNUNET_NO, NULL,
GNUNET_NO,
learning ? learn_handlers : no_learn_handlers);
int ret;
+ if (GNUNET_OK != GNUNET_STRINGS_get_utf8_args (argc, argv, &argc, &argv))
+ return 2;
+
GNUNET_log_setup ("hostlist", "WARNING", NULL);
ret =
(GNUNET_OK ==
GNUNET_PROGRAM_run (argc, argv, "hostlist",
_("GNUnet hostlist server and client"), options,
&run, NULL)) ? 0 : 1;
-
+ GNUNET_free ((void*) argv);
return ret;
}