aboutsummaryrefslogtreecommitdiff
path: root/src/include/gnunet_program_lib.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/gnunet_program_lib.h')
-rw-r--r--src/include/gnunet_program_lib.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/include/gnunet_program_lib.h b/src/include/gnunet_program_lib.h
index 0c51d6cf7..6290ec3d4 100644
--- a/src/include/gnunet_program_lib.h
+++ b/src/include/gnunet_program_lib.h
@@ -122,6 +122,45 @@ GNUNET_PROGRAM_run (int argc,
122 GNUNET_PROGRAM_Main task, 122 GNUNET_PROGRAM_Main task,
123 void *task_cls); 123 void *task_cls);
124 124
125enum GNUNET_GenericReturnValue
126GNUNET_DAEMON_register (const char *daemon_name,
127 const char *daemon_desc,
128 GNUNET_PROGRAM_Main task);
129
130#ifndef HAVE_GNUNET_MONOLITH
131#define GNUNET_DAEMON_MAIN(daemon_name, daemon_help, init_cb) \
132 int \
133 main (int argc, \
134 char *const *argv) \
135 { \
136 int ret; \
137 struct GNUNET_GETOPT_CommandLineOption options[] = { \
138 GNUNET_GETOPT_OPTION_END \
139 };\
140 if (GNUNET_OK != GNUNET_STRINGS_get_utf8_args (argc, argv, &argc, &argv)) \
141 return 2; \
142 ret = GNUNET_PROGRAM_run (argc, \
143 argv, \
144 daemon_name, \
145 daemon_help, \
146 options, \
147 init_cb, \
148 NULL); \
149 GNUNET_free_nz ((void*) argv); \
150 return ret; \
151 }
152#else
153#define GNUNET_DAEMON_MAIN(daemon_name, daemon_help, init_cb) \
154 static int __attribute__ ((constructor)) \
155 init (void) \
156 { \
157 return GNUNET_DAEMON_register (daemon_name, \
158 daemon_help, \
159 init_cb); \
160 }
161#endif
162
163
125 164
126#if 0 /* keep Emacsens' auto-indent happy */ 165#if 0 /* keep Emacsens' auto-indent happy */
127{ 166{