From 4ad96e182037d35ec6e62a8bfb1d2ea9b14be106 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Tue, 22 Sep 2009 19:06:35 +0000 Subject: documentation cleanup --- src/fs/fs_download.c | 9 ++--- src/fs/fs_search.c | 2 +- src/fs/fs_unindex.c | 5 +-- src/fs/fs_uri.c | 4 +-- src/fs/gnunet-directory.c | 6 +++- src/fs/gnunet-download.c | 2 +- src/fs/gnunet-publish.c | 2 +- src/fs/gnunet-search.c | 2 +- src/util/client.c | 4 +-- src/util/common_allocation.c | 4 +-- src/util/common_logging.c | 2 ++ src/util/crypto_hash.c | 2 +- src/util/crypto_rsa.c | 2 +- src/util/program.c | 4 +++ src/util/pseudonym.c | 82 +++++++++++++++++++++++++++++++++++++++++++- src/util/scheduler.c | 56 +++++++++++++++++++++++++----- src/util/server.c | 3 +- src/util/service.c | 6 ++-- src/util/strings.c | 7 +++- 19 files changed, 168 insertions(+), 36 deletions(-) diff --git a/src/fs/fs_download.c b/src/fs/fs_download.c index 9ab4c5ce0..f36807e77 100644 --- a/src/fs/fs_download.c +++ b/src/fs/fs_download.c @@ -128,7 +128,7 @@ compute_dblock_offset (uint64_t offset, * Fill in all of the generic fields for * a download event. * - * @param pc structure to fill in + * @param pi structure to fill in * @param dc overall download context */ static void @@ -229,7 +229,8 @@ try_reconnect (struct GNUNET_FS_DownloadContext *dc); * the specified node. * * @param fsize overall file size - * @param off offset of the node + * @param totaldepth depth of the entire tree + * @param offset offset of the node * @param depth depth of the node * @return number of bytes stored in this node */ @@ -269,9 +270,9 @@ calculate_block_size (uint64_t fsize, /** - * Process a search result. + * Process a download result. * - * @param sc our search context + * @param dc our download context * @param type type of the result * @param data the (encrypted) response * @param size size of data diff --git a/src/fs/fs_search.c b/src/fs/fs_search.c index 1a9fc699e..85d65f483 100644 --- a/src/fs/fs_search.c +++ b/src/fs/fs_search.c @@ -46,7 +46,7 @@ * Fill in all of the generic fields for * a search event. * - * @param pc structure to fill in + * @param pi structure to fill in * @param sc overall search context */ static void diff --git a/src/fs/fs_unindex.c b/src/fs/fs_unindex.c index 977344b98..51d46ea37 100644 --- a/src/fs/fs_unindex.c +++ b/src/fs/fs_unindex.c @@ -82,8 +82,9 @@ unindex_reader (void *cls, * Fill in all of the generic fields for * an unindex event. * - * @param pc structure to fill in - * @param sc overall unindex context + * @param pi structure to fill in + * @param uc overall unindex context + * @param offset where we are in the file (for progress) */ static void make_unindex_status (struct GNUNET_FS_ProgressInfo *pi, diff --git a/src/fs/fs_uri.c b/src/fs/fs_uri.c index 1c0686ed9..38dba8991 100644 --- a/src/fs/fs_uri.c +++ b/src/fs/fs_uri.c @@ -470,7 +470,7 @@ c2v (unsigned char a) /** * Convert string back to binary data. * - * @param input '\0'-terminated string + * @param input '\\0'-terminated string * @param data where to write binary data * @param size how much data should be converted * @return number of characters processed from input, @@ -808,7 +808,7 @@ GNUNET_FS_uri_loc_get_uri (const struct GNUNET_FS_Uri *uri) /** * Construct a location URI (this peer will be used for the location). * - * @param baseURI content offered by the sender + * @param baseUri content offered by the sender * @param cfg configuration information (used to find our hostkey) * @param expiration_time how long will the content be offered? * @return the location URI, NULL on error diff --git a/src/fs/gnunet-directory.c b/src/fs/gnunet-directory.c index 0cbf700d1..8fc477614 100644 --- a/src/fs/gnunet-directory.c +++ b/src/fs/gnunet-directory.c @@ -29,6 +29,10 @@ static int ret; /** * Print a meta data entry. + * + * @param cls closure (unused) + * @param type type of the keyword + * @param data value of the keyword */ static int item_printer (void *cls, @@ -49,7 +53,7 @@ item_printer (void *cls, * @param cls closure (not used) * @param filename name of the file in the directory * @param uri URI of the file - * @param metadata metadata for the file; metadata for + * @param meta metadata for the file; metadata for * the directory if everything else is NULL/zero * @param length length of the available data for the file * (of type size_t since data must certainly fit diff --git a/src/fs/gnunet-download.c b/src/fs/gnunet-download.c index 681608d6b..00565b1a3 100644 --- a/src/fs/gnunet-download.c +++ b/src/fs/gnunet-download.c @@ -113,7 +113,7 @@ progress_cb (void *cls, * @param sched the scheduler to use * @param args remaining command-line arguments * @param cfgfile name of the configuration file used (for saving, can be NULL!) - * @param cfg configuration + * @param c configuration */ static void run (void *cls, diff --git a/src/fs/gnunet-publish.c b/src/fs/gnunet-publish.c index a30b36c9e..bf6a46914 100644 --- a/src/fs/gnunet-publish.c +++ b/src/fs/gnunet-publish.c @@ -258,7 +258,7 @@ publish_inspector (void *cls, * @param sched the scheduler to use * @param args remaining command-line arguments * @param cfgfile name of the configuration file used (for saving, can be NULL!) - * @param cfg configuration + * @param c configuration */ static void run (void *cls, diff --git a/src/fs/gnunet-search.c b/src/fs/gnunet-search.c index b744d2e1a..ed864fa1c 100644 --- a/src/fs/gnunet-search.c +++ b/src/fs/gnunet-search.c @@ -134,7 +134,7 @@ progress_cb (void *cls, * @param sched the scheduler to use * @param args remaining command-line arguments * @param cfgfile name of the configuration file used (for saving, can be NULL!) - * @param cfg configuration + * @param c configuration */ static void run (void *cls, diff --git a/src/util/client.c b/src/util/client.c index 8b356ce45..82ab35d21 100644 --- a/src/util/client.c +++ b/src/util/client.c @@ -301,7 +301,6 @@ receive_task (void *scls, const struct GNUNET_SCHEDULER_TaskContext *tc) /** * Read from the service. * - * @param sched scheduler to use * @param sock the service * @param handler function to call with the message * @param cls closure for handler @@ -356,7 +355,6 @@ write_shutdown (void *cls, size_t size, void *buf) * Request that the service should shutdown. * Afterwards, the connection should be disconnected. * - * @param sched scheduler to use * @param sock the socket connected to the service */ void @@ -499,7 +497,7 @@ GNUNET_CLIENT_service_test (struct GNUNET_SCHEDULER_Handle *sched, * are free in the transmission buffer. May call the notify * method immediately if enough space is available. * - * @param client connection to the service + * @param sock connection to the service * @param size number of bytes to send * @param timeout after how long should we give up (and call * notify with buf NULL and size 0)? diff --git a/src/util/common_allocation.c b/src/util/common_allocation.c index f39d84cb3..749f824cd 100644 --- a/src/util/common_allocation.c +++ b/src/util/common_allocation.c @@ -73,8 +73,8 @@ GNUNET_xmalloc_unchecked_ (size_t size, const char *filename, int linenumber) * Reallocate memory. Checks the return value, aborts if no more * memory is available. * - * @ptr the pointer to reallocate - * @param size how many bytes of memory to allocate + * @param ptr the pointer to reallocate + * @param n how many bytes of memory to allocate * @param filename where in the code was the call to GNUNET_realloc * @param linenumber where in the code was the call to GNUNET_realloc * @return pointer to size bytes of memory diff --git a/src/util/common_logging.c b/src/util/common_logging.c index 8d9eb5a76..436e009ab 100644 --- a/src/util/common_logging.c +++ b/src/util/common_logging.c @@ -149,6 +149,8 @@ get_type (const char *log) * * @param comp default component to use * @param loglevel what types of messages should be logged + * @param logfile which file to write log messages to (can be NULL) + * @return GNUNET_OK on success */ int GNUNET_log_setup (const char *comp, const char *loglevel, const char *logfile) diff --git a/src/util/crypto_hash.c b/src/util/crypto_hash.c index 4f8482c4c..ec2a79602 100644 --- a/src/util/crypto_hash.c +++ b/src/util/crypto_hash.c @@ -563,7 +563,7 @@ getValue__ (unsigned char a) * * @param block the GNUNET_CRYPTO_hash code * @param result where to store the encoding (struct GNUNET_CRYPTO_HashAsciiEncoded can be - * safely cast to char*, a '\0' termination is set). + * safely cast to char*, a '\\0' termination is set). */ void GNUNET_CRYPTO_hash_to_enc (const GNUNET_HashCode * block, diff --git a/src/util/crypto_rsa.c b/src/util/crypto_rsa.c index 3ac910eb0..99e4bc1c1 100644 --- a/src/util/crypto_rsa.c +++ b/src/util/crypto_rsa.c @@ -806,7 +806,7 @@ GNUNET_CRYPTO_rsa_decrypt (const struct GNUNET_CRYPTO_RsaPrivateKey *hostkey, * * @param hostkey private key to use for the signing * @param purpose what to sign (size, purpose) - * @param result where to write the signature + * @param sig where to write the signature * @return GNUNET_SYSERR on error, GNUNET_OK on success */ int diff --git a/src/util/program.c b/src/util/program.c index 0cff324f8..aa272ea96 100644 --- a/src/util/program.c +++ b/src/util/program.c @@ -84,6 +84,9 @@ program_main (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) /** * Compare function for 'qsort' to sort command-line arguments by the * short option. + * + * @param a1 first command line option + * @param a2 second command line option */ static int cmd_sorter (const void *a1, const void *a2) @@ -109,6 +112,7 @@ cmd_sorter (const void *a1, const void *a2) * @param argc number of command line arguments * @param argv command line arguments * @param binaryName our expected name + * @param binaryHelp help text for the program * @param options command line options * @param task main function to run * @param task_cls closure for task diff --git a/src/util/pseudonym.c b/src/util/pseudonym.c index c19662540..5d9750f5b 100644 --- a/src/util/pseudonym.c +++ b/src/util/pseudonym.c @@ -30,20 +30,49 @@ #include "gnunet_disk_lib.h" #include "gnunet_pseudonym_lib.h" +/** + * FIXME + */ #define PS_METADATA_DIR DIR_SEPARATOR_STR "data" DIR_SEPARATOR_STR "pseudonyms/metadata" DIR_SEPARATOR_STR + +/** + * FIXME + */ #define PS_NAMES_DIR DIR_SEPARATOR_STR "data" DIR_SEPARATOR_STR "pseudonyms/names" DIR_SEPARATOR_STR + +/** + * FIXME + */ struct DiscoveryCallback { + + /** + * FIXME + */ struct DiscoveryCallback *next; + + /** + * FIXME + */ GNUNET_PSEUDONYM_Iterator callback; + + /** + * FIXME + */ void *closure; }; + +/** + * FIXME + */ static struct DiscoveryCallback *head; /** * Internal notification about new tracked URI. + * + * FIXME */ static void internal_notify (const GNUNET_HashCode * id, @@ -62,6 +91,8 @@ internal_notify (const GNUNET_HashCode * id, /** * Register callback to be invoked whenever we discover * a new pseudonym. + * + * FIXME */ int GNUNET_PSEUDONYM_discovery_callback_register (const struct @@ -83,6 +114,8 @@ GNUNET_PSEUDONYM_discovery_callback_register (const struct /** * Unregister pseudonym discovery callback. + * + * FIXME */ int GNUNET_PSEUDONYM_discovery_callback_unregister (GNUNET_PSEUDONYM_Iterator @@ -113,6 +146,8 @@ GNUNET_PSEUDONYM_discovery_callback_unregister (GNUNET_PSEUDONYM_Iterator /** * Get the filename (or directory name) for the given * pseudonym identifier and directory prefix. + * + * FIXME */ static char * get_data_filename (const struct GNUNET_CONFIGURATION_Handle @@ -130,6 +165,10 @@ get_data_filename (const struct GNUNET_CONFIGURATION_Handle NULL); } + +/** + * FIXME + */ static void write_pseudonym_info (const struct GNUNET_CONFIGURATION_Handle *cfg, const GNUNET_HashCode * nsid, @@ -178,6 +217,10 @@ write_pseudonym_info (const struct GNUNET_CONFIGURATION_Handle *cfg, GNUNET_free_non_null (GNUNET_PSEUDONYM_id_to_name (cfg, nsid)); } + +/** + * FIXME + */ static int read_info (const struct GNUNET_CONFIGURATION_Handle *cfg, const GNUNET_HashCode * nsid, @@ -270,6 +313,8 @@ read_info (const struct GNUNET_CONFIGURATION_Handle *cfg, /** * Return the unique, human readable name for the given namespace. * + * @param cfg configuration + * @param nsid cryptographic ID of the namespace * @return NULL on failure (should never happen) */ char * @@ -353,6 +398,9 @@ GNUNET_PSEUDONYM_id_to_name (const struct GNUNET_CONFIGURATION_Handle *cfg, /** * Get the namespace ID belonging to the given namespace name. * + * @param cfg configuration to use + * @param ns_uname human-readable name for the namespace + * @param nsid set to namespace ID based on 'ns_uname' * @return GNUNET_OK on success */ int @@ -403,14 +451,33 @@ GNUNET_PSEUDONYM_name_to_id (const struct GNUNET_CONFIGURATION_Handle *cfg, - +/** + * FIXME + */ struct ListPseudonymClosure { + + /** + * FIXME + */ GNUNET_PSEUDONYM_Iterator iterator; + + /** + * FIXME + */ void *closure; + + /** + * FIXME + */ const struct GNUNET_CONFIGURATION_Handle *cfg; }; + + +/** + * FIXME + */ static int list_pseudonym_helper (void *cls, const char *fullname) { @@ -439,8 +506,14 @@ list_pseudonym_helper (void *cls, const char *fullname) return ret; } + /** * List all available pseudonyms. + * + * @param cfg overall configuration + * @param iterator function to call for each pseudonym + * @param closure closure for iterator + * @return number of pseudonyms found */ int GNUNET_PSEUDONYM_list_all (const struct GNUNET_CONFIGURATION_Handle *cfg, @@ -464,6 +537,7 @@ GNUNET_PSEUDONYM_list_all (const struct GNUNET_CONFIGURATION_Handle *cfg, /** * Change the ranking of a pseudonym. * + * @param cfg overall configuration * @param nsid id of the pseudonym * @param delta by how much should the rating be * changed? @@ -494,6 +568,10 @@ GNUNET_PSEUDONYM_rank (const struct GNUNET_CONFIGURATION_Handle *cfg, /** * Insert metadata into existing MD record (passed as cls). + * + * @param cls metadata to add to + * @param type type of entry to insert + * @param data value of entry to insert */ static int merge_meta_helper (void *cls, @@ -512,7 +590,9 @@ merge_meta_helper (void *cls, * For all pseudonym advertisements that we discover * FSUI should automatically call this function. * + * @param cfg overall configuration * @param id the pseudonym identifier + * @param metadata for the pseudonym */ void GNUNET_PSEUDONYM_add (const struct GNUNET_CONFIGURATION_Handle *cfg, diff --git a/src/util/scheduler.c b/src/util/scheduler.c index 12b7c4cf2..d56c44276 100644 --- a/src/util/scheduler.c +++ b/src/util/scheduler.c @@ -154,6 +154,9 @@ struct GNUNET_SCHEDULER_Handle /** * Check that the given priority is legal (and return it). + * + * @param p priority value to check + * @return p on success, 0 on error */ static enum GNUNET_SCHEDULER_Priority check_priority (enum GNUNET_SCHEDULER_Priority p) @@ -171,6 +174,8 @@ check_priority (enum GNUNET_SCHEDULER_Priority p) * future), but only if the return value is "GNUNET_NO" (and * the "lowest_pending_id" check failed). * + * @param sched the scheduler + * @param id which task are we checking for * @return GNUNET_YES if so, GNUNET_NO if not */ static int @@ -212,10 +217,17 @@ is_pending (struct GNUNET_SCHEDULER_Handle *sched, /** * Update all sets and timeout for select. + * + * @param sched the scheduler + * @param rs read-set, set to all FDs we would like to read (updated) + * @param ws write-set, set to all FDs we would like to write (updated) + * @param timeout next timeout (updated) */ static void update_sets (struct GNUNET_SCHEDULER_Handle *sched, - struct GNUNET_NETWORK_FDSet * rs, struct GNUNET_NETWORK_FDSet * ws, struct GNUNET_TIME_Relative *timeout) + struct GNUNET_NETWORK_FDSet * rs, + struct GNUNET_NETWORK_FDSet * ws, + struct GNUNET_TIME_Relative *timeout) { struct Task *pos; @@ -251,11 +263,13 @@ update_sets (struct GNUNET_SCHEDULER_Handle *sched, * If so, update the want set (set all FDs that are ready). If not, * return GNUNET_NO. * - * @param maxfd highest FD that needs to be checked. + * @param ready set that is ready + * @param want set that we want to be ready * @return GNUNET_YES if there was some overlap */ static int -set_overlaps (const struct GNUNET_NETWORK_FDSet * ready, struct GNUNET_NETWORK_FDSet * want) +set_overlaps (const struct GNUNET_NETWORK_FDSet * ready, + struct GNUNET_NETWORK_FDSet * want) { if (GNUNET_NETWORK_fdset_overlap (ready, want)) { @@ -272,13 +286,19 @@ set_overlaps (const struct GNUNET_NETWORK_FDSet * ready, struct GNUNET_NETWORK_F * Check if the given task is eligible to run now. * Also set the reason why it is eligible. * + * @param sched the scheduler + * @param task task to check if it is ready + * @param now the current time + * @param rs set of FDs ready for reading + * @param ws set of FDs ready for writing * @return GNUNET_YES if we can run it, GNUNET_NO if not. */ static int is_ready (struct GNUNET_SCHEDULER_Handle *sched, struct Task *task, struct GNUNET_TIME_Absolute now, - const struct GNUNET_NETWORK_FDSet * rs, const struct GNUNET_NETWORK_FDSet * ws) + const struct GNUNET_NETWORK_FDSet *rs, + const struct GNUNET_NETWORK_FDSet * ws) { if ((GNUNET_NO == task->run_on_shutdown) && (GNUNET_YES == sched->shutdown)) return GNUNET_NO; @@ -307,9 +327,13 @@ is_ready (struct GNUNET_SCHEDULER_Handle *sched, /** * Put a task that is ready for execution into the ready queue. + * + * @param handle the scheduler + * @param task task ready for execution */ static void -queue_ready_task (struct GNUNET_SCHEDULER_Handle *handle, struct Task *task) +queue_ready_task (struct GNUNET_SCHEDULER_Handle *handle, + struct Task *task) { task->next = handle->ready[check_priority (task->priority)]; handle->ready[check_priority (task->priority)] = task; @@ -320,10 +344,15 @@ queue_ready_task (struct GNUNET_SCHEDULER_Handle *handle, struct Task *task) /** * Check which tasks are ready and move them * to the respective ready queue. + * + * @param handle the scheduler + * @param rs FDs ready for reading + * @param ws FDs ready for writing */ static void check_ready (struct GNUNET_SCHEDULER_Handle *handle, - const struct GNUNET_NETWORK_FDSet * rs, const struct GNUNET_NETWORK_FDSet * ws) + const struct GNUNET_NETWORK_FDSet * rs, + const struct GNUNET_NETWORK_FDSet * ws) { struct Task *pos; struct Task *prev; @@ -353,7 +382,9 @@ check_ready (struct GNUNET_SCHEDULER_Handle *handle, /** - * Destroy a task + * Destroy a task (release associated resources) + * + * @param t task to destroy */ static void destroy_task (struct Task *t) { @@ -371,6 +402,8 @@ static void destroy_task (struct Task *t) * "URGENT" tasks or until we have at least one "pending" task (which * may become ready, hence we should select on it). Naturally, if * there are no more ready tasks, we also return. + * + * @param sched the scheduler */ static void run_ready (struct GNUNET_SCHEDULER_Handle *sched) @@ -513,6 +546,8 @@ GNUNET_SCHEDULER_run (GNUNET_SCHEDULER_Task task, void *cls) * stop a scheduling thread when created with the * "GNUNET_SCHEDULER_init_thread" function or from within the signal * handler for signals causing shutdowns. + * + * @param sched the scheduler */ void GNUNET_SCHEDULER_shutdown (struct GNUNET_SCHEDULER_Handle *sched) @@ -528,6 +563,7 @@ GNUNET_SCHEDULER_shutdown (struct GNUNET_SCHEDULER_Handle *sched) * tasks ready to run). * * @param sched scheduler to query + * @param p priority level to look at * @return number of tasks pending right now */ unsigned int @@ -558,6 +594,7 @@ GNUNET_SCHEDULER_get_load (struct GNUNET_SCHEDULER_Handle *sched, * * @param sched scheduler to use * @param task id of the task to cancel + * @return original closure of the task */ void * GNUNET_SCHEDULER_cancel (struct GNUNET_SCHEDULER_Handle *sched, @@ -616,8 +653,9 @@ GNUNET_SCHEDULER_cancel (struct GNUNET_SCHEDULER_Handle *sched, * and the reason code can be specified. * * @param sched scheduler to use + * @param run_on_shutdown should this task be run if we are shutting down? * @param main main function of the task - * @param cls closure of task + * @param cls closure for 'main' * @param reason reason for task invocation */ void @@ -653,7 +691,7 @@ GNUNET_SCHEDULER_add_continuation (struct GNUNET_SCHEDULER_Handle *sched, * are satisfied). Use GNUNET_SCHEDULER_NO_TASK to not have any dependency * on completion of other tasks. * @param main main function of the task - * @param cls closure of task + * @param cls closure for 'main' * @return unique task identifier for the job * only valid until "main" is started! */ diff --git a/src/util/server.c b/src/util/server.c index 339dfae7c..086c94996 100644 --- a/src/util/server.c +++ b/src/util/server.c @@ -880,7 +880,7 @@ sock_receive (void *cls, * Wrapper to cancel receiving from a socket. * * @param cls handle to the GNUNET_CONNECTION_Handle to cancel - * @param tc task ID that was returned by GNUNET_CONNECTION_receive + * @param ti task ID that was returned by GNUNET_CONNECTION_receive */ static void sock_receive_cancel (void *cls, GNUNET_SCHEDULER_TaskIdentifier ti) @@ -1123,7 +1123,6 @@ GNUNET_SERVER_client_disconnect (struct GNUNET_SERVER_Client *client) * Notify us when the server has enough space to transmit * a message of the given size to the given client. * - * @param server the server to use * @param client client to transmit message to * @param size requested amount of buffer space * @param timeout after how long should we give up (and call diff --git a/src/util/service.c b/src/util/service.c index efcfa50c9..3e17336e8 100644 --- a/src/util/service.c +++ b/src/util/service.c @@ -229,7 +229,7 @@ parse_ipv4_specification (const char *routeList) * notation. The netmask must be given in CIDR notation (/16) or * can be omitted to specify a single host. *

- * @param routeList a string specifying the forbidden networks + * @param routeListX a string specifying the forbidden networks * @return the converted list, NULL if the synatx is flawed */ static struct IPv6NetworkSet * @@ -350,7 +350,7 @@ parse_ipv6_specification (const char *routeListX) * Check if the given IP address is in the list of IP addresses. * * @param list a list of networks - * @param ip the IP to check (in network byte order) + * @param add the IP to check (in network byte order) * @return GNUNET_NO if the IP is not in the list, GNUNET_YES if it it is */ static int @@ -1422,7 +1422,7 @@ GNUNET_SERVICE_get_server (struct GNUNET_SERVICE_Context *ctx) /** * Stop a service that was started with "GNUNET_SERVICE_start". * - * @param ctx the service context returned from the start function + * @param sctx the service context returned from the start function */ void GNUNET_SERVICE_stop (struct GNUNET_SERVICE_Context *sctx) diff --git a/src/util/strings.c b/src/util/strings.c index 18f6582e8..be0e6c1f0 100644 --- a/src/util/strings.c +++ b/src/util/strings.c @@ -337,7 +337,9 @@ GNUNET_STRINGS_filename_expand (const char *fil) /** * Give relative time in human-readable fancy format. - * @param delta time in milli seconds + * + * @param del time in milli seconds + * @return time as human-readable string */ char * GNUNET_STRINGS_relative_time_to_string (struct GNUNET_TIME_Relative del) @@ -374,6 +376,9 @@ GNUNET_STRINGS_relative_time_to_string (struct GNUNET_TIME_Relative del) /** * "man ctime_r", except for GNUnet time; also, unlike ctime, the * return value does not include the newline character. + * + * @param t time to convert + * @return absolute time in human-readable format */ char * GNUNET_STRINGS_absolute_time_to_string (struct GNUNET_TIME_Absolute t) -- cgit v1.2.3