adding number of preferences to allow iterating over preferences
[oweals/gnunet.git] / src / include / gnunet_hello_lib.h
index 8e96b587922b43f5cd22f0e9df2a7ef5b6088322..975bc8637dadfa7af725d379e4e46b766e5bbfe8 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     (C) 2001, 2002, 2003, 2004, 2005, 2006, 2010, 2011 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2010, 2011 Christian Grothoff (and other contributing authors)
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -48,6 +48,11 @@ extern "C"
  */
 #define GNUNET_FRIEND_HELLO_URI_PREFIX "gnunet://friend-hello/"
 
+/**
+ * Separator used in HELLO URI
+ */
+#define GNUNET_HELLO_URI_SEP '+'
+
 
 /**
  * Additional local information about an address
@@ -231,10 +236,10 @@ GNUNET_HELLO_add_address (const struct GNUNET_HELLO_Address *address,
  * @param cls closure
  * @param max maximum number of bytes that can be written to @a buf
  * @param buf where to write the address information
- * @return number of bytes written, 0 to signal the
+ * @return number of bytes written or 0, #GNUNET_SYSERR to signal the
  *         end of the iteration.
  */
-typedef size_t
+typedef ssize_t
 (*GNUNET_HELLO_GenerateAddressListCallback) (void *cls,
                                              size_t max,
                                              void *buf);
@@ -263,6 +268,7 @@ GNUNET_HELLO_create (const struct GNUNET_CRYPTO_EddsaPublicKey *publicKey,
 
 /**
  * Return the size of the given HELLO message.
+ *
  * @param hello to inspect
  * @return the size, 0 if HELLO is invalid
  */
@@ -405,6 +411,11 @@ struct GNUNET_MessageHeader *
 GNUNET_HELLO_get_header (struct GNUNET_HELLO_Message *hello);
 
 
+/**
+ * FIXME.
+ *
+ * @param name
+ */
 typedef struct GNUNET_TRANSPORT_PluginFunctions *
 (*GNUNET_HELLO_TransportPluginsFind) (const char *name);