aboutsummaryrefslogtreecommitdiff
path: root/src/lib/util/program.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/util/program.c')
-rw-r--r--src/lib/util/program.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/lib/util/program.c b/src/lib/util/program.c
index 21b616ee2..d492c9a07 100644
--- a/src/lib/util/program.c
+++ b/src/lib/util/program.c
@@ -415,5 +415,39 @@ GNUNET_PROGRAM_run (int argc,
415 GNUNET_NO); 415 GNUNET_NO);
416} 416}
417 417
418/* A list of daemons to be launched when GNUNET_main()
419 * is called
420 */
421struct DaemonHandleList
422{
423 /* DLL */
424 struct DaemonHandleList *prev;
425
426 /* DLL */
427 struct DaemonHandleList *next;
428
429 /* Program to launch */
430 GNUNET_PROGRAM_Main d;
431};
432
433/* The daemon list */
434static struct DaemonHandleList *hll_head = NULL;
435
436/* The daemon list */
437static struct DaemonHandleList *hll_tail = NULL;
438
439enum GNUNET_GenericReturnValue
440GNUNET_DAEMON_register (const char *daemon_name,
441 const char *daemon_help,
442 GNUNET_PROGRAM_Main task)
443{
444 struct DaemonHandleList *hle;
445
446 hle = GNUNET_new (struct DaemonHandleList);
447 hle->d = task;
448 GNUNET_CONTAINER_DLL_insert (hll_head, hll_tail, hle);
449 return GNUNET_OK;
450}
451
418 452
419/* end of program.c */ 453/* end of program.c */