convert fs publish to MQ
[oweals/gnunet.git] / src / include / gnunet_strings_lib.h
index c7d16c9471ac0e88745decda2a125a0832294236..15d4f57ac0a177ce4771fa7531daa9efffec1618 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     (C) 2001-2013 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2001-2013 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
 
      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 include/gnunet_strings_lib.h
- * @brief strings and string handling functions (including malloc
- *        and string tokenizing)
- *
  * @author Christian Grothoff
  * @author Krista Bennett
  * @author Gerd Knorr <kraxel@bytesex.org>
  * @author Ioana Patrascu
  * @author Tzvetan Horozov
+ *
+ * @file
+ * Strings and string handling functions
+ *
+ * @defgroup strings  Strings library
+ * Strings and string handling functions, including malloc and string tokenizing.
+ * @{
  */
 
 #ifndef GNUNET_STRINGS_LIB_H
@@ -219,7 +222,7 @@ GNUNET_STRINGS_buffer_fill (char *buffer,
  * in the buffer and assign the count (varargs) of type "const char**"
  * to the locations of the respective strings in the buffer.
  *
- * @param buffer the buffer to parse
+ * @param buffer the buffer to parse FIXME: not 'const', is it?
  * @param size size of the @a buffer
  * @param count number of strings to locate
  * @param ... pointers to where to store the strings
@@ -296,12 +299,27 @@ GNUNET_STRINGS_data_to_string (const void *data,
                               size_t out_size);
 
 
+/**
+ * Return the base32crockford encoding of the given buffer.
+ *
+ * The returned string will be freshly allocated, and must be free'd
+ * with #GNUNET_free().
+ *
+ * @param buf buffer with data
+ * @param size size of the buffer @a buf
+ * @return freshly allocated, null-terminated string
+ */
+char *
+GNUNET_STRINGS_data_to_string_alloc (const void *buf,
+                                     size_t size);
+
+
 /**
  * Convert Base32hex encoding back to data.
  * @a out_size must match exactly the size of the data before it was encoded.
  *
  * @param enc the encoding
- * @param enclen number of characters in 'enc' (without 0-terminator, which can be missing)
+ * @param enclen number of characters in @a enc (without 0-terminator, which can be missing)
  * @param out location where to store the decoded data
  * @param out_size size of the output buffer @a out
  * @return #GNUNET_OK on success, #GNUNET_SYSERR if result has the wrong encoding
@@ -600,7 +618,9 @@ GNUNET_STRINGS_parse_ipv6_policy (const char *routeListX);
 }
 #endif
 
-
 /* ifndef GNUNET_UTIL_STRING_H */
 #endif
+
+/** @} */  /* end of group */
+
 /* end of gnunet_util_string.h */