doxygen: group/module definitions (part 1)
authorGabor X Toth <*@tg-x.net>
Mon, 11 Jan 2016 21:23:17 +0000 (21:23 +0000)
committerGabor X Toth <*@tg-x.net>
Mon, 11 Jan 2016 21:23:17 +0000 (21:23 +0000)
60 files changed:
src/include/block_dns.h
src/include/block_fs.h
src/include/block_regex.h
src/include/gauger.h
src/include/gnunet_applications.h
src/include/gnunet_arm_service.h
src/include/gnunet_ats_plugin.h
src/include/gnunet_ats_service.h
src/include/gnunet_bandwidth_lib.h
src/include/gnunet_bio_lib.h
src/include/gnunet_block_lib.h
src/include/gnunet_block_plugin.h
src/include/gnunet_cadet_service.h
src/include/gnunet_client_lib.h
src/include/gnunet_client_manager_lib.h
src/include/gnunet_configuration_lib.h
src/include/gnunet_connection_lib.h
src/include/gnunet_consensus_service.h
src/include/gnunet_constants.h
src/include/gnunet_container_lib.h
src/include/gnunet_conversation_service.h
src/include/gnunet_core_service.h
src/include/gnunet_crypto_lib.h
src/include/gnunet_datacache_lib.h
src/include/gnunet_datacache_plugin.h
src/include/gnunet_datastore_plugin.h
src/include/gnunet_datastore_service.h
src/include/gnunet_dht_service.h
src/include/gnunet_disk_lib.h
src/include/gnunet_dns_service.h
src/include/gnunet_dnsparser_lib.h
src/include/gnunet_dnsstub_lib.h
src/include/gnunet_dv_service.h
src/include/gnunet_env_lib.h
src/include/gnunet_fragmentation_lib.h
src/include/gnunet_friends_lib.h
src/include/gnunet_fs_service.h
src/include/gnunet_getopt_lib.h
src/include/gnunet_gns_service.h
src/include/gnunet_gnsrecord_lib.h
src/include/gnunet_gnsrecord_plugin.h
src/include/gnunet_hello_lib.h
src/include/gnunet_helper_lib.h
src/include/gnunet_identity_provider_service.h
src/include/gnunet_identity_service.h
src/include/gnunet_load_lib.h
src/include/gnunet_microphone_lib.h
src/include/gnunet_mq_lib.h
src/include/gnunet_multicast_service.h
src/include/gnunet_mysql_lib.h
src/include/gnunet_nse_service.h
src/include/gnunet_os_lib.h
src/include/gnunet_program_lib.h
src/include/gnunet_protocols.h
src/include/gnunet_resolver_service.h
src/include/gnunet_revocation_service.h
src/include/gnunet_server_lib.h
src/include/gnunet_service_lib.h
src/include/gnunet_social_service.h
src/include/gnunet_statistics_service.h

index 459f4b2c0858c7dcfd66ceeaf6e40a241556beb3..e43036a48ba6cca3da3bd5ae53343669f52b2cd8 100644 (file)
@@ -19,7 +19,9 @@
 */
 
 /**
- * @file include/block_dns.h
+ * @file
+ * DNS network structs
+ *
  * @author Christian Grothoff
  */
 #ifndef BLOCK_DNS_H
index 0af504627b8fbe7d62633d4a88521c11dca8e2b3..15610d3338aae21c7d75bae18e0c7c64ef8bf233 100644 (file)
@@ -19,8 +19,9 @@
 */
 
 /**
- * @file include/block_fs.h
- * @brief fs block formats (shared between fs and block)
+ * @file
+ * FS block formats (shared between FS and Block)
+ *
  * @author Christian Grothoff
  */
 #ifndef BLOCK_FS_H
index e8f8cf757912e299a64a60392fdc2e22f415040f..901cc45656f78b62fdac5c88bb1083ee43a4d92a 100644 (file)
@@ -19,8 +19,9 @@
 */
 
 /**
- * @file include/block_regex.h
- * @brief regex block formats
+ * @file
+ * regex block formats
+ *
  * @author Bartlomiej Polot
  */
 #ifndef BLOCK_REGEX_H
index 10ada9065b6bbdd1f5d8307ff4093c6d37f27a60..54ba7f1f708d48b873adf87c741010df91274a77 100644 (file)
@@ -1,4 +1,4 @@
-/** ---------------------------------------------------------------------------
+/* ---------------------------------------------------------------------------
  * This software is in the public domain, furnished "as is", without technical
  * support, and with no warranty, express or implied, as to its usefulness for
  * any purpose.
index 067a72f381884ec704fdf2fc874e29d46e94988b..0c8837bd422c33ff689aac6ba3d2ed1191f914b5 100644 (file)
@@ -19,8 +19,9 @@
 */
 
 /**
- * @file include/gnunet_applications.h
- * @brief constants for network applications operating on top of the CADET service
+ * @file
+ * Constants for network applications operating on top of the CADET service
+ *
  * @author Christian Grothoff
  */
 
index 6b1682710f42aafe489c60cb545de0c2e56cf4a0..b2d234c59b4b0d93556ecd15a757d5ca7a1ea71e 100644 (file)
  */
 
 /**
- * @file include/gnunet_arm_service.h
- * @brief API to access gnunet-arm
  * @author Christian Grothoff
+ *
+ * @file
+ * API to access gnunet-arm
+ *
+ * @defgroup arm  ARM service
+ * Automatic Restart Manager
+ * @{
  */
 
 #ifndef GNUNET_ARM_SERVICE_H
@@ -342,6 +347,7 @@ GNUNET_ARM_monitor (const struct GNUNET_CONFIGURATION_Handle *cfg,
 void
 GNUNET_ARM_monitor_disconnect_and_free (struct GNUNET_ARM_MonitorHandle *h);
 
+/** @} */  /* end of group */
 
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
index 71572d64e3abe28ce42bc770116a709790f4ba35..19003aa02027c9556cf8f62a551ac153d91bce7a 100644 (file)
  */
 
 /**
- * @file include/gnunet_ats_plugin.h
- * @brief API for the ATS solvers.  This header
- *        specifies the struct that is given to the plugin's entry
- *        method and the other struct that must be returned.
- *        Note that the destructors of ATS plugins will
- *        be given the value returned by the constructor
- *        and is expected to return a NULL pointer.
  * @author Christian Grothoff
+ *
+ * @file
+ * API for the ATS solvers.
+ *
+ * @defgroup ats-plugin  ATS service plugin API
+ * Plugin API for the ATS service.
+ *
+ * Specifies the struct that is given to the plugin's entry method and the other
+ * struct that must be returned.  Note that the destructors of ATS plugins will
+ * be given the value returned by the constructor and is expected to return a
+ * NULL pointer.
+ *
+ * @{
  */
 #ifndef PLUGIN_ATS_H
 #define PLUGIN_ATS_H
@@ -472,4 +478,6 @@ struct GNUNET_ATS_PluginEnvironment
   unsigned long long in_quota[GNUNET_ATS_NetworkTypeCount];
 };
 
+/** @} */  /* end of group */
+
 #endif
index b727b4f9aaf29d87dba24097887ba444604a707c..acbaabafc4636ff3b74f58273dcb727ecfa4a2c3 100644 (file)
  Boston, MA 02110-1301, USA.
  */
 /**
- * @file include/gnunet_ats_service.h
- * @brief automatic transport selection and outbound bandwidth determination
+ * @file
+ * Automatic transport selection and outbound bandwidth determination
+ *
  * @author Christian Grothoff
  * @author Matthias Wachs
+ *
+ * @defgroup ats  ATS service
+ * Automatic transport selection and outbound bandwidth determination
+ * @{
  */
 #ifndef GNUNET_ATS_SERVICE_H
 #define GNUNET_ATS_SERVICE_H
@@ -695,5 +700,7 @@ GNUNET_ATS_performance_give_feedback (struct GNUNET_ATS_PerformanceHandle *ph,
                                      const struct GNUNET_TIME_Relative scope,
                                      ...);
 
+/** @} */  /* end of group */
+
 #endif
 /* end of file gnunet-service-transport_ats.h */
index bed817144f8967c732d804620cdbe83f02f163c0..01fd5c0bcea25f97fc4130057c34f311b2c1caa0 100644 (file)
 */
 
 /**
- * @file include/gnunet_bandwidth_lib.h
- * @brief functions related to bandwidth (unit)
  * @author Christian Grothoff
+ *
+ * @file
+ * Functions related to bandwidth (unit)
+ *
+ * @defgroup bandwidth  Bandwidth library
+ * Functions related to bandwidth (unit)
+ * @{
  */
 
 #ifndef GNUNET_BANDWIDTH_LIB_H
@@ -327,6 +332,8 @@ GNUNET_BANDWIDTH_tracker_update_quota (struct GNUNET_BANDWIDTH_Tracker *av,
 }
 #endif
 
+/** @} */  /* end of group */
+
 /* ifndef GNUNET_BANDWIDTH_LIB_H */
 #endif
 /* end of gnunet_bandwidth_lib.h */
index 7a711649d449efb6c4cc7dee55129d1954c5d883..034be2ed2a3b325029d22a149edc5e47fd33de9a 100644 (file)
 */
 
 /**
- * @file include/gnunet_bio_lib.h
- * @brief buffered IO API
  * @author Christian Grothoff
- * @defgroup bio Buffered binary disk IO (with endianess conversion)
+ *
+ * @file
+ * Buffered IO library
+ *
+ * @defgroup bio  BIO library
+ * Buffered binary disk IO (with endianess conversion)
  * @{
  */
 
index 66c15da0570674140d3e4e3ac764af9ba4e5f5fd..d42a6dac96c26039311ab8d0c4ed4fe33b9341c5 100644 (file)
 */
 
 /**
- * @file include/gnunet_block_lib.h
- * @brief library for data block manipulation
  * @author Christian Grothoff
+ *
+ * @file
+ * Library for data block manipulation
+ *
+ * @defgroup block  Block library
+ * Library for data block manipulation
+ * @{
  */
 #ifndef GNUNET_BLOCK_LIB_H
 #define GNUNET_BLOCK_LIB_H
@@ -301,6 +306,8 @@ GNUNET_BLOCK_construct_bloomfilter (int32_t bf_mutator,
 }
 #endif
 
+/** @} */  /* end of group */
+
 
 /* ifndef GNUNET_BLOCK_LIB_H */
 #endif
index 35afa8a7fa32c132edf79f7fd2290a05c8e1e7e9..362d7c74086a5541f24cd63ff40964014539025b 100644 (file)
 */
 
 /**
- * @file include/gnunet_block_plugin.h
- * @brief API for block plugins.  Each block plugin must conform to
- *        the API specified by this header.
  * @author Christian Grothoff
- * @defgroup block API to be implemented by applications storing data in the DHT
+ *
+ * @file
+ * API for block plugins.  Each block plugin must conform to the API specified by this header.
+ *
+ * @defgroup block-plugin  Block plugin API
+ * To be implemented by applications storing data in the DHT.
+ *
+ * Each block plugin must conform to the API specified by this header.
+ *
  * @{
  */
+
 #ifndef PLUGIN_BLOCK_H
 #define PLUGIN_BLOCK_H
 
index a0d28b53154167b5185286075858f4cc06a93f71..0ba6e2e911173b4152b53e1fbc6f4a9c4f4adb8e 100644 (file)
      Boston, MA 02110-1301, USA.
 */
 /**
- * @file include/gnunet_cadet_service.h
- * @brief cadet service; establish channels to distant peers
  * @author Christian Grothoff
  * @author Bart Polot
+ *
+ * @file
+ * CADET service; establish channels to distant peers
+ *
+ * @defgroup cadet  CADET service
+ * Confidential Ad-hoc Decentralized End-to-End Transport
+ *
+ * See also:
+ * - [CADET documentation](https://gnunet.org/cadet-subsystem)
+ * - [CADET paper](https://gnunet.org/cadet)
+ *
+ * @{
  */
 #ifndef GNUNET_CADET_SERVICE_H
 #define GNUNET_CADET_SERVICE_H
@@ -632,6 +642,8 @@ GNUNET_CADET_mq_create (struct GNUNET_CADET_Channel *channel);
 }
 #endif
 
+/** @} */  /* end of group */
+
 /* ifndef GNUNET_CADET_SERVICE_H */
 #endif
 /* end of gnunet_cadet_service.h */
index 70dd9850422fe9f56bc353b4809d505bc122af1b..f961ee18191761ec72feb2f2db36bfd62c6d8332 100644 (file)
 */
 
 /**
- * @file include/gnunet_client_lib.h
- * @brief functions related to accessing services
  * @author Christian Grothoff
- * @defgroup client Generic client-side communication with services
+ *
+ * @file
+ * Functions related to accessing services
+
+ * @defgroup client  Client library
+ * Generic client-side communication with services
  * @{
  */
 
index 8f143a770c8f1abd61f1966fdb46981a1531a6a5..6838ee0467eb276d7e9428e046d72f896e3ebe56 100644 (file)
 */
 
 /**
- * @file include/gnunet_client_manager_lib.h
- * @brief Client manager; higher level client API with transmission queue
- * and message handler registration.
  * @author Gabor X Toth
- * @defgroup client_manager  Higher level client-side communication with services.
+ *
+ * @file
+ * Client manager; higher level client API with transmission queue
+ * and message handler registration.
+ *
+ * @defgroup client-manager  Client manager library
+ * Higher level client-side communication with services.
+ *
+ * Provides a higher level client API
+ * with transmission queue and message handler registration.
  * @{
  */
 #ifndef GNUNET_CLIENT_MANAGER_LIB_H
@@ -347,7 +353,7 @@ GNUNET_CLIENT_MANAGER_op_cancel (struct GNUNET_CLIENT_MANAGER_Connection *mgr,
 }
 #endif
 
-/** @} */ /* end of group client_manager */
+/** @} */ /* end of group */
 
 /* ifndef GNUNET_CLIENT_MANAGER_LIB_H */
 #endif
index 7813096b1b60ca4748402f2ceb0f202dd74e1dc1..b74aa952032a82cca3b86f5cacf8b5ed4d17ec14 100644 (file)
 */
 
 /**
- * @file include/gnunet_configuration_lib.h
- * @brief configuration API
  * @author Christian Grothoff
- * @defgroup configuration Configuration management
+ *
+ * @file
+ * Configuration API
+ *
+ * @defgroup configuration  Configuration library
+ * Configuration management
  * @{
  */
 #ifndef GNUNET_CONFIGURATION_LIB_H
index 02b2304c972ca7e4fe8145b8c7d101deec661cdb..a91175b8a24ef7e95e27b2c672c078bd443a218d 100644 (file)
 */
 
 /**
- * @file include/gnunet_connection_lib.h
- * @brief basic, low-level TCP networking interface
  * @author Christian Grothoff
+ *
+ * @file include/gnunet_connection_lib.h
+ * Basic, low-level TCP networking interface
+ *
+ * @defgroup connection  Connection library
+ * Basic, low-level TCP networking interface
+ * @{
  */
 #ifndef GNUNET_CONNECTION_LIB_H
 #define GNUNET_CONNECTION_LIB_H
@@ -370,7 +375,7 @@ GNUNET_CONNECTION_create_proxied_from_handshake (struct GNUNET_CONNECTION_Handle
 
 
 /**
- * Activate proxied connection and destroy initial proxy handshake connection. 
+ * Activate proxied connection and destroy initial proxy handshake connection.
  * There must not be any pending requests for reading or writing to the
  * proxy hadshake connection at this time.
  *
@@ -387,6 +392,7 @@ GNUNET_CONNECTION_acivate_proxied (struct GNUNET_CONNECTION_Handle *proxied);
 }
 #endif
 
+/** @} */  /* end of group */
 
 /* ifndef GNUNET_CONNECTION_LIB_H */
 #endif
index 77607a6e2ebf8eb00fbf16e4a8ad5e0d60d41976..aaac12834a844b55373768679cd4d77c44f7f255 100644 (file)
  */
 
 /**
- * @file include/gnunet_consensus_service.h
- * @brief multi-peer set reconciliation
  * @author Florian Dold
+ *
+ * @file
+ * Multi-peer set reconciliation
+ *
+ * @defgroup consensus  Consensus service
+ * Multi-peer set reconciliation
+ * @{
  */
 
 #ifndef GNUNET_CONSENSUS_SERVICE_H
@@ -166,6 +171,7 @@ GNUNET_CONSENSUS_conclude (struct GNUNET_CONSENSUS_Handle *consensus,
 void
 GNUNET_CONSENSUS_destroy (struct GNUNET_CONSENSUS_Handle *consensus);
 
+/** @} */  /* end of group */
 
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
index 0d7614f0bbb13d2c92287967fb7ecd73155f43a7..11c14845a4dc1bf225f4506b49cc51df457b3528 100644 (file)
 */
 
 /**
- * @file include/gnunet_constants.h
- * @brief "global" constants for performance tuning
  * @author Christian Grothoff
+ *
+ * @file
+ * "Global" constants for performance tuning
  */
 
 #ifndef GNUNET_CONSTANTS_H
index aa6a17150248b54526faa97562441c38d8b22216..3ef64fbb79148e9c5476acc8b8e950636854d570 100644 (file)
 */
 
 /**
- * @file include/gnunet_container_lib.h
- * @brief container classes for GNUnet
  * @author Christian Grothoff
  * @author Nils Durner
- * @defgroup hashmap multi hash-map
- * @defgroup heap min- or max-heap with arbitrary element removal
- * @defgroup bloomfilter Bloom filter (probabilistic set tests)
- * @defgroup dll Doubly-linked list
- * @defgroup metadata Meta data (GNU libextractor key-value pairs)
+ *
+ * @file
+ * Container classes for GNUnet
+ *
+ * @defgroup hashmap  Container library: MultiHashMap
+ * Hash map with multiple values per key.
+ *
+ * @defgroup heap  Container library: Heap
+ * Min- or max-heap with arbitrary element removal
+ *
+ * @defgroup bloomfilter  Container library: Bloom filter
+ * Probabilistic set tests
+ *
+ * @defgroup dll  Container library: Doubly-linked list
+ *
+ * @defgroup metadata  Container library: Metadata
+ * GNU libextractor key-value pairs
  */
 
 #ifndef GNUNET_CONTAINER_LIB_H
index 61ccfc03fed6c4ac3476f256a9d5907ab6a934d0..15cc0a3d305303685418f0b79ffeffb26a575c10 100644 (file)
  */
 
 /**
- * @file include/gnunet_conversation_service.h
- * @brief API to the conversation service
  * @author Simon Dieterle
  * @author Andreas Fuchs
  * @author Christian Grothoff
  *
+ * @file
+ * API to the conversation service
+ *
+ * @defgroup conversation  Conversation service
+ * One-to-one voice communication over CADET
  *
  * NOTE: This API is deliberately deceptively simple; the idea
  * is that advanced features (such as answering machines) will
@@ -41,6 +44,8 @@
  * course provided as part of the basic implementation, as only the
  * CONVERSATION service can know for sure who it is that we are
  * talking to.
+ *
+ * @{
  */
 #ifndef GNUNET_CONVERSATION_SERVICE_H
 #define GNUNET_CONVERSATION_SERVICE_H
@@ -417,6 +422,7 @@ GNUNET_CONVERSATION_call_resume (struct GNUNET_CONVERSATION_Call *call,
 void
 GNUNET_CONVERSATION_call_stop (struct GNUNET_CONVERSATION_Call *call);
 
+/** @} */  /* end of group */
 
 #if 0                          /* keep Emacsens' auto-indent happy */
 {
index 8f2ff738b1aaf13d9d28e7d51d87cdf8c3dfd668..3dd3e2b2dc211c5a95c552e66823f741c69fb5ae 100644 (file)
      Boston, MA 02110-1301, USA.
 */
 /**
- * @file include/gnunet_core_service.h
- * @brief core service; this is the main API for encrypted P2P
- *        communications
  * @author Christian Grothoff
- * @defgroup core encrypted direct communication between peers
+ *
+ * @file include/gnunet_core_service.h
+ * Core service; the main API for encrypted P2P communications
+ *
+ * @defgroup core  Core service
+ * Encrypted direct communication between peers
  * @{
  */
 #ifndef GNUNET_CORE_SERVICE_H
index 2ec3b4d8dc18fef91de3987eaec0961c038e71b8..4e6dc93ab99c8e03c2e07675e6aafed017dd4fa4 100644 (file)
  * @author Ioana Patrascu
  * @author Tzvetan Horozov
  *
- * @defgroup crypto Cryptographic operations
- * @defgroup hash Hashing and operations on hashes
+ * @defgroup crypto  Crypto library: cryptographic operations
+ *
+ * @defgroup hash  Crypto library: hash operations
+ * Hashing and operations on hashes
  */
 
 #ifndef GNUNET_CRYPTO_LIB_H
index 6334935ccb9ac0eb86667a49c02970f18698d176..28efa9627be190d3fc384bb8f214d2d74099b8da 100644 (file)
 */
 
 /**
- * @file include/gnunet_datacache_lib.h
- * @brief datacache is a simple, transient hash table
- *        of bounded size with content expiration.
- *        In contrast to the sqstore there is
- *        no prioritization, deletion or iteration.
- *        All of the data is discarded when the peer shuts down!
  * @author Christian Grothoff
+ *
+ * @file
+ * datacache API
+ *
+ * @defgroup datacache  Datacache library
+ * Simple, transient hash table of bounded size with content expiration.
+ *
+ * In contrast to the sqstore there is
+ * no prioritization, deletion or iteration.
+ * All of the data is discarded when the peer shuts down!
+ *
+ * @{
  */
 
 #ifndef GNUNET_DATACACHE_LIB_H
@@ -171,6 +177,7 @@ GNUNET_DATACACHE_get_closest (struct GNUNET_DATACACHE_Handle *h,
                               GNUNET_DATACACHE_Iterator iter,
                               void *iter_cls);
 
+/** @} */  /* end of group */
 
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
index 699973b0c6f606e72fad6913f94731df054afcb2..cda4e88ceec1479080e6b67db37b5635f139facb 100644 (file)
 */
 
 /**
- * @file include/gnunet_datacache_plugin.h
- * @brief API for database backends for the datacache
  * @author Christian Grothoff
+ *
+ * @file
+ * API for database backends for the datacache
+ *
+ * @defgroup datacache-plugin  Datacache plugin API
+ * API for database backends for the datacache
+ * @{
  */
 #ifndef PLUGIN_DATACACHE_H
 #define PLUGIN_DATACACHE_H
@@ -181,6 +186,7 @@ struct GNUNET_DATACACHE_PluginFunctions
 
 };
 
+/** @} */  /* end of group */
 
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
index 08093d55e78082d7f908104e441a101baef3bcd6..7e5344ebfbc9b5069baa3a1c833dea07d5f6e522 100644 (file)
 */
 
 /**
- * @file include/gnunet_datastore_plugin.h
- * @brief API for the database backend plugins.
  * @author Christian Grothoff
+ *
+ * @file
+ * API for the database backend plugins.
+ *
+ * @defgroup datastore-plugin  Datastore service plugin API
+ * API for the database backend plugins.
+ * @{
  */
 #ifndef PLUGIN_DATASTORE_H
 #define PLUGIN_DATASTORE_H
@@ -48,8 +53,8 @@
  * @param delta change in disk utilization,
  *        0 for "reset to empty"
  */
-typedef void 
-(*GNUNET_DATASTORE_DiskUtilizationChange) (void *cls, 
+typedef void
+(*GNUNET_DATASTORE_DiskUtilizationChange) (void *cls,
                                           int delta);
 
 
@@ -93,13 +98,13 @@ struct GNUNET_DATASTORE_PluginEnvironment
  * @return #GNUNET_OK to keep the item
  *         #GNUNET_NO to delete the item
  */
-typedef int 
-(*PluginDatumProcessor) (void *cls, 
+typedef int
+(*PluginDatumProcessor) (void *cls,
                         const struct GNUNET_HashCode *key,
-                        uint32_t size, 
+                        uint32_t size,
                         const void *data,
                         enum GNUNET_BLOCK_Type type,
-                        uint32_t priority, 
+                        uint32_t priority,
                         uint32_t anonymity,
                         struct GNUNET_TIME_Absolute expiration,
                         uint64_t uid);
@@ -130,11 +135,11 @@ typedef void
  * @param status #GNUNET_OK or #GNUNET_SYSERROR
  * @param msg error message on error
  */
-typedef void 
-(*PluginPutCont) (void *cls, 
+typedef void
+(*PluginPutCont) (void *cls,
                  const struct GNUNET_HashCode *key,
                  uint32_t size,
-                 int status, 
+                 int status,
                  const char *msg);
 
 
@@ -155,16 +160,16 @@ typedef void
  * @param cont continuation called with success or failure status
  * @param cont_cls continuation closure for @a cont
  */
-typedef void 
+typedef void
 (*PluginPut) (void *cls, const struct GNUNET_HashCode *key,
              uint32_t size,
              const void *data,
              enum GNUNET_BLOCK_Type type,
-             uint32_t priority, 
+             uint32_t priority,
              uint32_t anonymity,
              uint32_t replication,
              struct GNUNET_TIME_Absolute expiration,
-             PluginPutCont cont, 
+             PluginPutCont cont,
              void *cont_cls);
 
 
@@ -175,7 +180,7 @@ typedef void
  * @param key key in the data store, if NULL iteration is finished
  * @param count how many values are stored under this key in the datastore
  */
-typedef void 
+typedef void
 (*PluginKeyProcessor) (void *cls,
                       const struct GNUNET_HashCode *key,
                       unsigned int count);
@@ -211,8 +216,8 @@ typedef void
  *        proc should be called with NULL if there is no result
  * @param proc_cls closure for @a proc
  */
-typedef void 
-(*PluginGetKey) (void *cls, 
+typedef void
+(*PluginGetKey) (void *cls,
                 uint64_t offset,
                 const struct GNUNET_HashCode *key,
                 const struct GNUNET_HashCode *vhash,
@@ -231,8 +236,8 @@ typedef void
  * @param proc function to call the value (once only).
  * @param proc_cls closure for @a proc
  */
-typedef void 
-(*PluginGetRandom) (void *cls, 
+typedef void
+(*PluginGetRandom) (void *cls,
                    PluginDatumProcessor proc,
                    void *proc_cls);
 
@@ -244,8 +249,8 @@ typedef void
  * @param status #GNUNET_OK or #GNUNET_SYSERROR
  * @param msg error message on error
  */
-typedef void 
-(*PluginUpdateCont) (void *cls, 
+typedef void
+(*PluginUpdateCont) (void *cls,
                     int status,
                     const char *msg);
 
@@ -270,12 +275,12 @@ typedef void
  * @param cont continuation called with success or failure status
  * @param cons_cls continuation closure
  */
-typedef void 
+typedef void
 (*PluginUpdate) (void *cls,
                 uint64_t uid,
                 int delta,
                 struct GNUNET_TIME_Absolute expire,
-                PluginUpdateCont cont, 
+                PluginUpdateCont cont,
                 void *cont_cls);
 
 
@@ -291,7 +296,7 @@ typedef void
  * @param proc function to call on the matching value
  * @param proc_cls closure for @a proc
  */
-typedef void 
+typedef void
 (*PluginGetType) (void *cls,
                  uint64_t offset,
                  enum GNUNET_BLOCK_Type type,
@@ -304,7 +309,7 @@ typedef void
  *
  * @param cls closure
  */
-typedef void 
+typedef void
 (*PluginDrop) (void *cls);
 
 
@@ -384,5 +389,6 @@ struct GNUNET_DATASTORE_PluginFunctions
 
 };
 
+/** @} */  /* end of group */
 
 #endif
index 14ffb174038d0c63ab93db613a7a685e9d7dbb51..bdc12b26cfff81b1cc4f255f8b6f546dbb5d991e 100644 (file)
 */
 
 /**
- * @file include/gnunet_datastore_service.h
- * @brief API that can be used manage the
- *   datastore for files stored on a GNUnet node;
- *   note that the datastore is NOT responsible for
- *   on-demand encoding, that is achieved using
- *   a special kind of entry.
  * @author Christian Grothoff
+ *
+ * @file
+ * datastore service
+ *
+ * @defgroup datastore  Datastore service
+ * Data store for files stored on a GNUnet node.
+ *
+ * Provides an API that can be used manage the
+ * datastore for files stored on a GNUnet node.
+ * Note that the datastore is NOT responsible for
+ * on-demand encoding, that is achieved using
+ * a special kind of entry.
+ *
+ * @{
  */
 
 #ifndef GNUNET_DATASTORE_SERVICE_H
@@ -389,6 +397,7 @@ GNUNET_DATASTORE_get_for_replication (struct GNUNET_DATASTORE_Handle *h,
 void
 GNUNET_DATASTORE_cancel (struct GNUNET_DATASTORE_QueueEntry *qe);
 
+/** @} */  /* end of group */
 
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
index c5b980ba92124f0050e79f7fe388da3b1a3b93de..36463f48809364bd80822e79582e9b4a05897579 100644 (file)
  */
 
 /**
- * @file include/gnunet_dht_service.h
- * @brief API to the DHT service
  * @author Christian Grothoff
- * @defgroup dht Distributed Hash Table
+ *
+ * @file
+ * API to the DHT service
+ *
+ * @defgroup dht  DHT service
+ * Distributed Hash Table
  * @{
  */
 
@@ -414,8 +417,8 @@ typedef void (*GNUNET_DHT_ActMaliciousContinuation)(void *cls,
           FIXME: perhaps make this an enum of known malicious behaviors?
  */
 struct GNUNET_DHT_ActMaliciousHandle *
-GNUNET_DHT_act_malicious (struct GNUNET_DHT_Handle *handle, 
-                      unsigned int action, 
+GNUNET_DHT_act_malicious (struct GNUNET_DHT_Handle *handle,
+                      unsigned int action,
                       GNUNET_DHT_PutContinuation cont,
                       void *cont_cls);
 #endif
index 4b38a31d610286a630db1ddb5056dcd5a5265acf..7b0b0e99878a6e2f882895953a63ce720249a085 100644 (file)
      Boston, MA 02110-1301, USA.
 */
 /**
- * @file include/gnunet_disk_lib.h
- * @brief disk IO apis
  * @author Christian Grothoff
+ *
+ * @file
+ * Disk IO APIs
+ *
+ * @defgroup disk  Disk library
+ * Disk IO APIs
+ * @{
  */
 #ifndef GNUNET_DISK_LIB_H
 #define GNUNET_DISK_LIB_H
@@ -861,6 +866,7 @@ GNUNET_DISK_file_sync (const struct GNUNET_DISK_FileHandle *h);
 }
 #endif
 
+/** @} */  /* end of group */
 
 /* ifndef GNUNET_DISK_LIB_H */
 #endif
index edf5cf1823729b51a86d76aaac6d82221e6ad64b..4a8956e8425bae437b19dd322fbb05d841b2c2ee 100644 (file)
  */
 
 /**
- * @file include/gnunet_dns_service.h
- * @brief API to access the DNS service.
  * @author Christian Grothoff
+ *
+ * @file
+ * API to access the DNS service.
+ *
+ * @defgroup dns  DNS service
+ * @{
  */
 #ifndef GNUNET_DNS_SERVICE_H
 #define GNUNET_DNS_SERVICE_H
@@ -153,7 +157,7 @@ GNUNET_DNS_request_drop (struct GNUNET_DNS_RequestHandle *rh);
  * @param reply reply data
  */
 void
-GNUNET_DNS_request_answer (struct GNUNET_DNS_RequestHandle *rh,                
+GNUNET_DNS_request_answer (struct GNUNET_DNS_RequestHandle *rh,
                           uint16_t reply_length,
                           const char *reply);
 
@@ -182,4 +186,6 @@ GNUNET_DNS_connect (const struct GNUNET_CONFIGURATION_Handle *cfg,
 void
 GNUNET_DNS_disconnect (struct GNUNET_DNS_Handle *dh);
 
+/** @} */  /* end of group */
+
 #endif
index e800442dc9cd9eec73d473802b7728ff15d31115..9680af3299db081f8d7d27e8e77439a64083a5f6 100644 (file)
  */
 
 /**
- * @file include/gnunet_dnsparser_lib.h
- * @brief API for helper library to parse DNS packets.
  * @author Philipp Toelke
  * @author Christian Grothoff
+ *
+ * @file
+ * API for helper library to parse DNS packets.
+ *
+ * @defgroup dns-parser  DNS parser library
+ * Helper library to parse DNS packets.
+ * @{
  */
 #ifndef GNUNET_DNSPARSER_LIB_H
 #define GNUNET_DNSPARSER_LIB_H
@@ -883,5 +888,6 @@ size_t
 GNUNET_DNSPARSER_hex_to_bin (const char *hex,
                              void *data);
 
+/** @} */  /* end of group */
 
 #endif
index 164df18c6749546c941fa3de7dbe3a62052275a3..08029cebf3e9e65ec6b46b23987338074d85e43c 100644 (file)
  */
 
 /**
- * @file include/gnunet_dnsstub_lib.h
- * @brief API for helper library to send DNS requests to DNS resolver
  * @author Christian Grothoff
+ *
+ * @file
+ * API for helper library to send DNS requests to DNS resolver
+ *
+ * @defgroup dns-stub  DNS stub library
+ * Helper library to send DNS requests to DNS resolver
+ * @{
  */
 #ifndef GNUNET_DNSSTUB_LIB_H
 #define GNUNET_DNSSTUB_LIB_H
@@ -122,4 +127,6 @@ GNUNET_DNSSTUB_resolve2 (struct GNUNET_DNSSTUB_Context *ctx,
 void
 GNUNET_DNSSTUB_resolve_cancel (struct GNUNET_DNSSTUB_RequestSocket *rs);
 
+/** @} */  /* end of group */
+
 #endif
index f694c17eab1a661b37f532da56ec65b496bbc782..aa33408ce731e6991bb990c14c7bbcfe8a75847f 100644 (file)
 
 /**
  * @author Christian Grothoff
- * @file include/gnunet_dv_service.h
- * @brief DV service API (should only be used by the DV plugin)
+ *
+ * @file
+ * DV service API (should only be used by the DV plugin)
+ *
+ * @defgroup dv  DV service
+ * Distance vector routing
+ *
+ * The DV service API should only be used by the DV plugin.
+ * @{
  */
 #ifndef GNUNET_SERVICE_DV_H
 #define GNUNET_SERVICE_DV_H
@@ -165,5 +172,6 @@ GNUNET_DV_send (struct GNUNET_DV_ServiceHandle *sh,
 void
 GNUNET_DV_send_cancel (struct GNUNET_DV_TransmitHandle *th);
 
+/** @} */  /* end of group */
 
 #endif
index 408a19a56c265b6f011cf2e11e3cf66454ea230e..75fd62bbeb2740039d1f4e52c47d695d71fa5e1d 100644 (file)
  */
 
 /**
- * @file include/gnunet_env_lib.h
- * @brief Library providing operations for the @e environment of
- *        PSYC and Social messages, and for (de)serializing variable values.
  * @author Gabor X Toth
+ *
+ * @file
+ * Environment library
+ *
+ * @defgroup env  Environment library
+ * Environment data structure for PSYC and Social messages.
+ *
+ * Library providing operations for the @e environment of
+ * PSYC and Social messages, and for (de)serializing variable values.
+ *
+ * @{
  */
 
 
@@ -326,6 +334,8 @@ GNUNET_ENV_value_from_dict (struct GNUNET_CONTAINER_MultiHashMap *dict, size_t *
 }
 #endif
 
+/** @} */  /* end of group */
+
 /* ifndef GNUNET_ENV_LIB_H */
 #endif
 /* end of gnunet_env_lib.h */
index f39ad26a0b25a385666066cd6ea711633b7ed043..b408de3bf0bee8db94f0c981ad9b2a9dc384619c 100644 (file)
      Boston, MA 02110-1301, USA.
 */
 /**
- * @file include/gnunet_fragmentation_lib.h
- * @brief library to help fragment messages
  * @author Christian Grothoff
  *
- * TODO: consider additional flow-control for sending from
+ * @file
+ * Library to help fragment messages
+ *
+ * @defgroup fragmentation  Fragmentation library
+ * Library to help fragment messages
+ * @{
+ *
+ * @todo Consider additional flow-control for sending from
  *       fragmentation based on continuations.
  */
 
@@ -213,6 +218,8 @@ GNUNET_DEFRAGMENT_process_fragment (struct GNUNET_DEFRAGMENT_Context *dc,
                                     const struct GNUNET_MessageHeader *msg);
 
 
+/** @} */  /* end of group */
+
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
 #endif
index 0a757c4efc331c55baf39aff555eeace5076dca5..2d8d231a5ea8db37419d5836a72f0b929339f650 100644 (file)
 */
 
 /**
- * @file include/gnunet_friends_lib.h
- * @brief library to read and write the FRIENDS file
  * @author Christian Grothoff
+ *
+ * @file
+ * Library to read and write the FRIENDS file
+ *
+ * @defgroup friends  Friends library
+ * Library to read and write the FRIENDS file
+ * @{
  */
 #ifndef GNUNET_FRIENDS_LIB_H
 #define GNUNET_FRIENDS_LIB_H
@@ -99,8 +104,9 @@ int
 GNUNET_FRIENDS_write (struct GNUNET_FRIENDS_Writer *w,
                       const struct GNUNET_PeerIdentity *friend_id);
 
+/** @} */  /* end of group */
 
-                                         #if 0                           /* keep Emacsens' auto-indent happy */
+#if 0                           /* keep Emacsens' auto-indent happy */
 {
 #endif
 #ifdef __cplusplus
index 26757e55881ed39cae0c6f103e3e75f70d7d3ddf..736a67ae37c10966f1c2d231538de305efee2f9e 100644 (file)
      Boston, MA 02110-1301, USA.
 */
 /**
- * @file include/gnunet_fs_service.h
- * @brief API for file-sharing via GNUnet
  * @author Christian Grothoff
+ *
+ * @file
+ * API for file sharing via GNUnet
+ *
+ * @defgroup fs FS service
+ * File sharing
+ * @{
  */
 #ifndef GNUNET_FS_LIB_H
 #define GNUNET_FS_LIB_H
@@ -2746,7 +2751,7 @@ struct GNUNET_FS_ShareTreeItem
 
 
 /**
- * Opaqe handle to an asynchronous directory scanning activity.
+ * Opaque handle to an asynchronous directory scanning activity.
  */
 struct GNUNET_FS_DirScanner;
 
@@ -2809,6 +2814,7 @@ GNUNET_FS_share_tree_trim (struct GNUNET_FS_ShareTreeItem *toplevel);
 void
 GNUNET_FS_share_tree_free (struct GNUNET_FS_ShareTreeItem *toplevel);
 
+/** @} */  /* end of group */
 
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
index 11916ac809cd8220a9eae224f66b95db49973b02..59b0c9d4cf4856bd9dc1497181649caf0adbcc9f 100644 (file)
 */
 
 /**
- * @file include/gnunet_getopt_lib.h
- * @brief command line parsing and --help formatting
  * @author Christian Grothoff
- * @defgroup getopt command-line parsing
+ *
+ * @file
+ * Command line parsing and --help formatting
+ *
+ * @defgroup getopt  Getopt library
+ * Command line parsing and --help formatting
  * @{
  */
 
index c4b4a496209deeafb908c232ecbf7c869131bccf..b24d9a64aa1177680a60839fd151bd19b957acd4 100644 (file)
  */
 
 /**
- * @file include/gnunet_gns_service.h
- * @brief API to the GNS service
  * @author Martin Schanzenbach
+ *
+ * @file
+ * API to the GNS service
+ *
+ * @defgroup gns  GNS service
+ * GNU Name System
+ * @{
  */
 #ifndef GNUNET_GNS_SERVICE_H
 #define GNUNET_GNS_SERVICE_H
@@ -101,7 +106,7 @@ enum GNUNET_GNS_LocalOptions
    * Never look in the DHT, keep request to local cache.
    */
   GNUNET_GNS_LO_NO_DHT = 1,
-  
+
   /**
    * For the rightmost label, only look in the cache (it
    * is our master zone), for the others, the DHT is OK.
@@ -147,6 +152,7 @@ GNUNET_GNS_lookup (struct GNUNET_GNS_Handle *handle,
 void
 GNUNET_GNS_lookup_cancel (struct GNUNET_GNS_LookupRequest *lr);
 
+/** @} */  /* end of group */
 
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
index 718365f95cfb2a01b273fc4bac3f2db26d092142..110646563133f0eb5337a0fbf194a6db92b8b45a 100644 (file)
 */
 
 /**
- * @file include/gnunet_gnsrecord_lib.h
- * @brief API that can be used to manipulate GNS record data
  * @author Christian Grothoff
+ *
+ * @file
+ * API that can be used to manipulate GNS record data
+ *
+ * @defgroup gns-record  GNS record library
+ * Manipulate GNS record data
+ * @{
  */
 #ifndef GNUNET_GNSRECORD_LIB_H
 #define GNUNET_GNSRECORD_LIB_H
@@ -558,7 +563,7 @@ struct GNUNET_TIME_Absolute
 GNUNET_GNSRECORD_record_get_expiration_time (unsigned int rd_count,
                                             const struct GNUNET_GNSRECORD_Data *rd);
 
-
+/** @} */  /* end of group */
 
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
index b0b492634af5890c2befa5be1ed05a40b6c1d42c..7315ec8793eb46cf69a018166c40bc6dbdedf088 100644 (file)
 */
 
 /**
- * @file include/gnunet_gnsrecord_plugin.h
- * @brief plugin API for GNS record types
  * @author Christian Grothoff
- * @defgroup gnsrecordplugin API to be implemented by applications defining new GNS record types
- * @{ */
+ *
+ * @file
+ * Plugin API for GNS record types
+ *
+ * @defgroup gns-record-plugin  GNS record plugin API
+ * To be implemented by applications defining new record types.
+ * @{
+ */
 #ifndef GNUNET_GNSRECORD_PLUGIN_H
 #define GNUNET_GNSRECORD_PLUGIN_H
 
@@ -129,8 +133,7 @@ struct GNUNET_GNSRECORD_PluginFunctions
 
 };
 
-
-/** @} */ /* end of group gnsrecordplugin */
+/** @} */  /* end of group */
 
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
index f7f4780f07c6e1424a3b7c8a94b577be9b739cd3..506566d40eb6cfa8fcffdd922333b4c33bdbcd25 100644 (file)
 */
 
 /**
- * @file include/gnunet_hello_lib.h
- * @brief helper library for handling HELLOs
  * @author Christian Grothoff
+ * @file
+ * Helper library for handling HELLOs
+ *
+ * @defgroup hello  Hello library
+ * Helper library for handling HELLOs
+ * @{
  */
 
 #ifndef GNUNET_HELLO_LIB_H
@@ -439,6 +443,8 @@ GNUNET_HELLO_parse_uri (const char *uri,
                         struct GNUNET_HELLO_Message **hello,
                         GNUNET_HELLO_TransportPluginsFind plugins_find);
 
+/** @} */  /* end of group */
+
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
 #endif
index 7cccecad52cf04daeb89e363097a6a650a48d359..1fee1ac011c88e43b4c7be93ccc97e6bbc5edfb0 100644 (file)
 */
 
 /**
- * @file include/gnunet_helper_lib.h
- * @brief API for dealing with (SUID) helper processes that communicate via
- *          GNUNET_MessageHeaders on stdin/stdout
  * @author Philipp Toelke
  * @author Christian Grothoff
+ *
+ * @file
+ * API for dealing with SUID helper processes
+ *
+ * @defgroup helper  Helper library
+ * Dealing with SUID helper processes.
+ *
+ * Provides an API for dealing with (SUID) helper processes
+ * that communicate via GNUNET_MessageHeaders on STDIN/STDOUT.
+ *
+ * @{
  */
 
 #ifndef GNUNET_HELPER_LIB_H
@@ -166,5 +174,7 @@ GNUNET_HELPER_send (struct GNUNET_HELPER_Handle *h,
 void
 GNUNET_HELPER_send_cancel (struct GNUNET_HELPER_SendHandle *sh);
 
+/** @} */  /* end of group */
+
 #endif
 /* end of include guard: GNUNET_HELPER_LIB_H */
index a923f5c2fef9ee90bf81689f6b3702520c68b922..1e05244c8193467d53ec96ab30c63c236b3f2ac6 100644 (file)
 */
 
 /**
- * @file include/gnunet_identity_provider_service.h
- * @brief Identity provider service; implements identity provider for GNUnet
  * @author Martin Schanzenbach
  *
- * Egos in GNUnet are ECDSA keys.  You assume an ego by using (signing
- * with) a particular private key.  As GNUnet users are expected to
- * have many egos, we need an identity service to allow users to
- * manage their egos.  The identity service manages the egos (private
- * keys) of the local user; it does NOT manage egos of other users
- * (public keys).  For giving names to other users and manage their
- * public keys securely, we use GNS.
+ * @file
+ * Identity provider service; implements identity provider for GNUnet
  *
- * @defgroup identity-provider service
+ * @defgroup identity-provider  Identity provider service
  * @{
  */
 #ifndef GNUNET_IDENTITY_PROVIDER_SERVICE_H
index f1a4b31e9923438b2b8e9aa947a647e086f2b147..4622e20a97d0b6cad097d551a8ee43771565d3e8 100644 (file)
 */
 
 /**
- * @file include/gnunet_identity_service.h
- * @brief Identity service; implements identity management for GNUnet
  * @author Christian Grothoff
  *
+ * @file
+ * Identity service; implements identity management for GNUnet
+ *
+ * @defgroup identity  Identity service
+ * Identity management.
+ *
  * Egos in GNUnet are ECDSA keys.  You assume an ego by using (signing
  * with) a particular private key.  As GNUnet users are expected to
  * have many egos, we need an identity service to allow users to
@@ -31,7 +35,6 @@
  * (public keys).  For giving names to other users and manage their
  * public keys securely, we use GNS.
  *
- * @defgroup identity identity management service
  * @{
  */
 #ifndef GNUNET_IDENTITY_SERVICE_H
index 986e82656ee1b121947de816e187ef5e72370a7f..22e327bf789ae8f94f0bfdface33969e7bf067ea 100644 (file)
 */
 
 /**
- * @file include/gnunet_load_lib.h
- * @brief functions related to load calculations
  * @author Christian Grothoff
+ *
+ * @file
+ * Functions related to load calculations
+ *
+ * @defgroup load  Load library
+ * Load calculations.
+ * @{
  */
 
 #ifndef GNUNET_LOAD_LIB_H
@@ -106,6 +111,7 @@ GNUNET_LOAD_get_average (struct GNUNET_LOAD_Value *load);
 void
 GNUNET_LOAD_update (struct GNUNET_LOAD_Value *load, uint64_t data);
 
+/** @} */  /* end of group */
 
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
index 96a5e5f07c582ed4f64614f78916661f8f06f20e..0d84bfdfc75693de25695c46cdb83915ccdd31d6 100644 (file)
  */
 
 /**
- * @file include/gnunet_microphone_lib.h
- * @brief API to access an audio microphone; provides access to hardware microphones
  * @author Simon Dieterle
  * @author Andreas Fuchs
  * @author Christian Grothoff
+ *
+ * @file
+ * API to access an audio microphone; provides access to hardware microphones
+ *
+ * @defgroup microphone  Microphone library
+ * Provides access to hardware microphones.
+ * @{
  */
 #ifndef GNUNET_MICROPHONE_SERVICE_H
 #define GNUNET_MICROPHONE_SERVICE_H
@@ -124,6 +129,7 @@ GNUNET_MICROPHONE_create_from_hardware (const struct GNUNET_CONFIGURATION_Handle
 void
 GNUNET_MICROPHONE_destroy (struct GNUNET_MICROPHONE_Handle *microphone);
 
+/** @} */  /* end of group */
 
 #if 0                          /* keep Emacsens' auto-indent happy */
 {
index 5936f3ca2ab4ff9e32830a63f118302e0e7df15c..1c16b8630b275beb3502559522e3885cca29b625 100644 (file)
 
 /**
  * @author Florian Dold
- * @file include/gnunet_mq_lib.h
- * @brief general purpose message queue
- * @defgroup mq general purpose message queue
+ *
+ * @file
+ * General-purpose message queue
+ *
+ * @defgroup mq  MQ library
+ * General-purpose message queue
  * @{
  */
 #ifndef GNUNET_MQ_H
index 5503eb3a9c935decd74b0d9c3b622481db167518..a8e4a99f62b2c54af3834bb67e15dc63dff6614f 100644 (file)
 */
 
 /**
- * @file include/gnunet_multicast_service.h
- * @brief multicast service; establish tunnels to distant peers
- * @author Christian Grothoff
  * @author Gabor X Toth
+ * @author Christian Grothoff
+ *
+ * @file
+ * Multicast service; multicast messaging via CADET
+ *
+ * @defgroup multicast  Multicast service
+ * Multicast messaging via CADET.
+ * @{
  */
 
 #ifndef GNUNET_MULTICAST_SERVICE_H
@@ -897,6 +902,7 @@ GNUNET_MULTICAST_member_to_origin_resume (struct GNUNET_MULTICAST_MemberTransmit
 void
 GNUNET_MULTICAST_member_to_origin_cancel (struct GNUNET_MULTICAST_MemberTransmitHandle *th);
 
+/** @} */  /* end of group */
 
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
index 96e3b9e49bc0b9ff90552f12c430b29b89dea849..83b10cf795cfebbd91156b6b1204302fda016849 100644 (file)
      Boston, MA 02110-1301, USA.
 */
 /**
- * @file include/gnunet_mysql_lib.h
- * @brief library to help with access to a MySQL database
  * @author Christian Grothoff
+ *
+ * @file
+ * Helper library to access a MySQL database
+ *
+ * @defgroup mysql  MySQL library
+ * Helper library to access a MySQL database.
+ * @{
  */
 #ifndef GNUNET_MYSQL_LIB_H
 #define GNUNET_MYSQL_LIB_H
@@ -202,6 +207,7 @@ GNUNET_MYSQL_statement_run_prepared (struct GNUNET_MYSQL_Context *mc,
                                     struct GNUNET_MYSQL_StatementHandle *sh,
                                     unsigned long long *insert_id, ...);
 
+/** @} */  /* end of group */
 
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
index 4e4c10987dfdabee1ef7325f8b34bcd7e5b229b8..365b35d9be5f4a5874aefaa447e5970c1e9eeaef 100644 (file)
 #define GNUNET_NSE_SERVICE_H_
 
 /**
- * @file include/gnunet_nse_service.h
- * @brief API to retrieve the current network size estimate,
- *        also to register for notifications whenever a new
- *        network size estimate is calculated.
+ * @file
+ * API to retrieve the current network size estimate,
+ * also to register for notifications whenever a new
+ * network size estimate is calculated.
+ *
  * @author Nathan Evans
- * @defgroup nse network size estimation service
+ * @defgroup nse  Network size estimation service
  * @{
  */
 
index 431988042ff6e8db1fe09b47c9a1c920d05a49c8..bb0840029e546bb24fe786d99c32121b69d0d2c0 100644 (file)
@@ -19,8 +19,9 @@
 */
 
 /**
- * @file include/gnunet_os_lib.h
- * @brief low level process routines
+ * @file
+ * Low level process routines
+ *
  * @author Christian Grothoff
  * @author Krista Bennett
  * @author Gerd Knorr <kraxel@bytesex.org>
index ac176f42c1a5d7373109847c47276a2bd8c52053..85c802285ab009a5106a207ca97e8e2a964e9883 100644 (file)
 */
 
 /**
- * @file include/gnunet_program_lib.h
- * @brief functions related to starting programs
+ * @file
+ * Functions related to starting programs
+ *
  * @author Christian Grothoff
- * @defgroup program functions for writing command-line programs
+ * @defgroup program  Functions for writing command-line programs
  * @{
  */
 
index 2d1fbbd62a2535182f355d6a0e8d39dc85a0f29d..a3e4199a48211b2f725dced4a9c54554b1eb1ba2 100644 (file)
@@ -2640,6 +2640,9 @@ extern "C"
 /** S->C: notify about an existing place */
 #define GNUNET_MESSAGE_TYPE_SOCIAL_APP_PLACE 854
 
+/** S->C:  */
+#define GNUNET_MESSAGE_TYPE_SOCIAL_HOST_RELAY 855
+
 /*******************************************************************************
  * X-VINE DHT messages
  ******************************************************************************/
index bb63fb86f385287772d9484f55c1042ecf205d75..3806cbdcf7ede0f1fd40cb693dcde437664e34d5 100644 (file)
 */
 
 /**
- * @file include/gnunet_resolver_service.h
- * @brief functions related to doing DNS lookups
  * @author Christian Grothoff
- * @defgroup resolver asynchronous standard DNS lookups
+ *
+ * @file
+ * Functions related to doing DNS lookups
+ *
+ * @defgroup resolver  Resolver service
+ * Asynchronous standard DNS lookups
  * @{
  */
 
index c7f487fd497655e54943d7af67d975edf873a9d4..919f62db9eeba71742ee96cf087ec52a224b3d7d 100644 (file)
@@ -25,7 +25,7 @@
  * @file include/gnunet_revocation_service.h
  * @brief API to perform and access key revocations
  * @author Christian Grothoff
- * @defgroup revocation key revocation service
+ * @defgroup revocation  Key revocation service
  * @{
  */
 
index 71ab07e0817eec52246ea2bde5b623e2e8be91c9..b1be9ee3a2650fb5eb50b3e304d06a852e356dd1 100644 (file)
@@ -22,7 +22,7 @@
  * @file include/gnunet_server_lib.h
  * @brief library for building GNUnet network servers
  * @author Christian Grothoff
- * @defgroup server functions for a server that communicates with clients
+ * @defgroup server  Functions for a server that communicates with clients
  * @{
  */
 
index 6cb7413d3c6edbd51cc5e40e73ed4a22951c68cc..9f3947dda0a94d517d15d976a1aed12f8c3b2771 100644 (file)
@@ -22,7 +22,7 @@
  * @file include/gnunet_service_lib.h
  * @brief functions related to starting services
  * @author Christian Grothoff
- * @defgroup service generic functions for implementing service processes
+ * @defgroup service  Generic functions for implementing service processes
  * @{
  */
 
index bde3dbcebd83bfcb9d5ef01318975bf1c6fa6594..c5e55bbab5f4433ff3aa9a43449b2dd81f027105 100644 (file)
 */
 
 /**
- * @file include/gnunet_social_service.h
- * @brief Social service; implements social interactions using the PSYC service.
  * @author Gabor X Toth
  * @author Christian Grothoff
+ *
+ * @file
+ * Social service; implements social interactions through the PSYC service.
  */
+
+/** @defgroup social Social service
+Social interactions through the PSYC service.
+
+# Overview
+
+The social service provides an API for social interactions based on a one-to-many messaging model.
+It manages subscriptions of applications to places, provides messaging functionality in places,
+allows access to the local message history and manages the GNS zone of _egos_ (user identities).
+
+The service stores private and public keys of subscribed places, as well as files received in subscribed places.
+
+# Concepts and terminology
+
+## Ego, Nym
+
+An _ego_ is an identity of a user, a private-public key pair.
+A _nym_ is an identity of another user in the network, identified by its public key.
+Each user can have multiple identities.
+
+struct GNUNET_SOCIAL_Ego and struct GNUNET_SOCIAL_Nym represents one of these identities.
+
+## Place, Host, Guest
+
+A _place_ is where social interactions happen.  It is owned and created by an _ego_.
+Creating a new place happens by an _ego_ entering a new place as a _host_,
+where _guests_ can enter later to receive messages sent to the place.
+
+A place is identified by its public key.
+
+- struct GNUNET_SOCIAL_Host represents a place entered as host,
+- struct GNUNET_SOCIAL_Guest is used for a place entered as guest.
+- A struct GNUNET_SOCIAL_Place can be obtained for both a host and guest place
+  using GNUNET_SOCIAL_host_get_place() and GNUNET_SOCIAL_guest_get_place()
+  and can be used with API functions common to hosts and guests.
+
+## History
+
+Messages sent to places are stored locally by the PSYCstore service, and can be queried any time.
+GNUNET_SOCIAL_history_replay_latest() retrieves the latest N messages sent to the place,
+while GNUNET_SOCIAL_history_replay() is used to query a given message ID range.
+
+## GNU Name System
+
+The GNU Name System is used for assigning human-readable names to nyms and places.
+There's a _GNS zone_ corresponding to each _nym_.
+An _ego_ can publish PKEY and PLACE records in its own zone, pointing to nyms and places, respectively.
+
+## Announcement, talk request
+
+The host can _announce_ messages to the place, using GNUNET_SOCIAL_host_announce().
+Guests can send _talk_ requests to the host, using GNUNET_SOCIAL_guest_talk().
+The host receives talk requests of guests and can _relay_ them to the place,
+or process it using a message handler function.
+
+# Using the API
+
+## Connecting to the service
+
+A client first establishes an _application connection_ to the service using
+GNUNET_SOCIAL_app_connect() providing its _application ID_, then receives the
+public keys of subscribed places and available egos and in response.
+
+## Reconnecting to places
+
+Then the application can reconnect to its subscribed places by establishing
+_place connections_ with GNUNET_SOCIAL_host_enter_reconnect() and
+GNUNET_SOCIAL_guest_enter_reconnect().
+
+## Subscribing to a place
+
+Entering and subscribing a new host or guest place is done using
+GNUNET_SOCIAL_host_enter() and GNUNET_SOCIAL_guest_enter().
+
+## Disconnecting from a place
+
+An application can disconnect from a place while the social service keeps its
+network connection active, using GNUNET_SOCIAL_host_disconnect() and
+GNUNET_SOCIAL_guest_disconnect().
+
+## Leaving a place
+
+To permanently leave a place, see GNUNET_SOCIAL_host_leave() and GNUNET_SOCIAL_guest_leave().
+When leaving a place its network connections are closed and all applications are unsubscribed from the place.
+
+# Methods
+
+## _message
+
+A message sent to the place.
+
+### Environment
+
+#### _id_reply_to
+message ID this message is in reply to.
+
+#### _id_thread
+
+thread ID, the first message ID in the thread.
+
+#### _nym_author__
+nym of the author.
+
+#### _sig_author
+signature of the message body and its variables by the author.
+
+## Data
+
+Message body.
+
+## _notice_place
+
+Notification about a place.
+
+TODO: Applications can decide to auto-subscribe to certain places,
+e.g. files under a given size.
+
+### Environment
+
+#### Using GNS
+
+##### _gns_place
+GNS name of the place in a globally unique .zkey zone
+
+#### Without GNS
+
+##### _key_pub_place
+public key of place
+
+##### _peer_origin
+peer ID of origin
+
+##### _list_peer_relays
+list of peer IDs of relays
+
+## _notice_place_file
+
+Notification about a place hosting a file.
+
+### Environment
+
+The environment of _notice_place above, plus the following:
+
+#### _size_file
+size of file
+
+#### _mime_file
+MIME type of file
+
+#### _name_file
+name of file
+
+#### _description_file
+description of file
+
+## _file
+
+Messages with a _file method contain a file,
+which is saved to disk upon receipt at the following location:
+$GNUNET_DATA_HOME/social/files/<H(place_pub)>/<message_id>
+
+### Environment
+
+#### _size_file
+size of file
+
+#### _mime_file
+MIME type of file
+
+#### _name_file
+name of file
+
+#### _description_file
+description
+
+@{
+*/
+
+
 #ifndef GNUNET_SOCIAL_SERVICE_H
 #define GNUNET_SOCIAL_SERVICE_H
 
@@ -371,7 +551,7 @@ typedef void
  *        Message part, as it arrived from the network.
  * @param message_id
  *        Message ID this data fragment belongs to.
- * @param cancelled.
+ * @param cancelled
  *        #GNUNET_YES if the message was cancelled,
  *        #GNUNET_NO  if the message is complete.
  */
@@ -1334,6 +1514,7 @@ GNUNET_SOCIAL_zone_add_nym (const struct GNUNET_SOCIAL_App *app,
                             GNUNET_ResultCallback result_cb,
                             void *result_cls);
 
+/** @} */  /* end of group social */
 
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
index 35c938eb93ae89dd1c279e906df3ba7ae90b4b4b..a5f5bdb200aa064828ed240393381a5c3eea5c46 100644 (file)
@@ -24,7 +24,7 @@
  *        the operation of GNUnet; all statistical values
  *        must be of type `unsigned long long`.
  * @author Christian Grothoff
- * @defgroup statistics track statistics or provide access to statistics
+ * @defgroup statistics  Track statistics or provide access to statistics
  * @{
  */