GNUnet 0.28.1-dev.5-1-gae1c02d74
 
Loading...
Searching...
No Matches
gnunet-arm.c File Reference

arm for writing a tool More...

#include "platform.h"
#include "gnunet_arm_service.h"
#include "gnunet_util_lib.h"
Include dependency graph for gnunet-arm.c:

Go to the source code of this file.

Functions

static void delete_files ()
 Attempts to delete configuration file and GNUNET_HOME on ARM shutdown provided the end and delete options were specified when gnunet-arm was run.
 
static void shutdown_task (void *cls)
 Main continuation-passing-style loop.
 
static const char * req_string (enum GNUNET_ARM_RequestStatus rs)
 Returns a string interpretation of rs.
 
static const char * ret_string (enum GNUNET_ARM_Result result)
 Returns a string interpretation of the result.
 
static bool arm_is_running (void)
 Check if the ARM service is (likely) running.
 
static void action_loop (void *cls)
 Main task that runs our various operations in order.
 
static void conn_status (void *cls, int connected)
 Function called whenever we connect to or disconnect from ARM.
 
static void start_callback (void *cls, enum GNUNET_ARM_RequestStatus rs, enum GNUNET_ARM_Result result)
 We have requested ARM to be started, this function is called with the result of the operation.
 
static void stop_callback (void *cls, enum GNUNET_ARM_RequestStatus rs, enum GNUNET_ARM_Result result)
 We have requested ARM to be stopped, this function is called with the result of the operation.
 
static void init_callback (void *cls, enum GNUNET_ARM_RequestStatus rs, enum GNUNET_ARM_Result result)
 We have requested a service to be started, this function is called with the result of the operation.
 
static void term_callback (void *cls, enum GNUNET_ARM_RequestStatus rs, enum GNUNET_ARM_Result result)
 We have requested a service to be stopped, this function is called with the result of the operation.
 
static void list_callback (void *cls, enum GNUNET_ARM_RequestStatus rs, unsigned int count, const struct GNUNET_ARM_ServiceInfo *service_info)
 Function called with the list of running services.
 
static void srv_status (void *cls, const char *service, enum GNUNET_ARM_ServiceMonitorStatus status)
 Function called when a service starts or stops.
 
static void timeout_task_cb (void *cls)
 Task run on timeout (if -T is given).
 
static void run (void *cls, char *const *args, const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *c)
 Main function that will be run by the scheduler.
 
int main (int argc, char *const *argv)
 The main function to obtain arm from gnunetd.
 

Variables

static int end
 Set if we are to shutdown all services (including ARM).
 
static int start
 Set if we are to start default services (including ARM).
 
static int restart
 Set if we are to stop/start default services (including ARM).
 
static int delete
 Set if we should delete configuration and temp directory on exit.
 
static int quiet
 Set if we should not print status messages.
 
static int show_all
 Set if we should print all services, including stopped ones.
 
static int monitor
 Monitor ARM activity.
 
static int list
 Set if we should print a list of currently running services.
 
static char * init
 Set to the name of a service to start.
 
static char * term
 Set to the name of a service to kill.
 
static char * config_file
 Set to the name of the config file used.
 
static char * dir
 Set to the directory where runtime files are stored.
 
static int ret
 Final status code.
 
static struct GNUNET_ARM_Handleh
 Connection with ARM.
 
static struct GNUNET_ARM_MonitorHandlem
 Monitor connection with ARM.
 
static struct GNUNET_CONFIGURATION_Handlecfg
 Our configuration.
 
static unsigned int phase
 Processing stage that we are in.
 
static struct GNUNET_TIME_Relative timeout
 User defined timestamp for completing operations.
 
static struct GNUNET_SCHEDULER_Tasktimeout_task
 Task to be run on timeout.
 
static int no_stdout
 Do we want to give our stdout to gnunet-service-arm?
 
static int no_stderr
 Do we want to give our stderr to gnunet-service-arm?
 
static struct GNUNET_SCHEDULER_Taskal_task
 Handle for the task running the action_loop().
 
static struct GNUNET_ARM_Operationop
 Current operation.
 

Detailed Description

arm for writing a tool

Author
Christian Grothoff

Definition in file gnunet-arm.c.

Function Documentation

◆ delete_files()

static void delete_files ( )
static

Attempts to delete configuration file and GNUNET_HOME on ARM shutdown provided the end and delete options were specified when gnunet-arm was run.

Definition at line 151 of file gnunet-arm.c.

152{
153 GNUNET_log (
155 "Will attempt to remove configuration file %s and service directory %s\n",
157 dir);
158 if (0 != unlink (config_file))
159 {
161 _ ("Failed to remove configuration file %s\n"),
163 }
165 {
167 _ ("Failed to remove servicehome directory %s\n"),
168 dir);
169 }
170}
static char * dir
Set to the directory where runtime files are stored.
Definition gnunet-arm.c:88
static char * config_file
Set to the name of the config file used.
Definition gnunet-arm.c:83
enum GNUNET_GenericReturnValue GNUNET_DISK_directory_remove(const char *filename)
Remove all files in a directory (rm -rf).
Definition disk.c:1140
#define GNUNET_log(kind,...)
@ GNUNET_OK
@ GNUNET_ERROR_TYPE_WARNING
@ GNUNET_ERROR_TYPE_DEBUG
#define _(String)
GNU gettext support macro.
Definition platform.h:179

References _, config_file, dir, GNUNET_DISK_directory_remove(), GNUNET_ERROR_TYPE_DEBUG, GNUNET_ERROR_TYPE_WARNING, GNUNET_log, and GNUNET_OK.

Referenced by shutdown_task().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ shutdown_task()

static void shutdown_task ( void *  cls)
static

Main continuation-passing-style loop.

Runs the various jobs that we've been asked to do in order.

Parameters
clsclosure, unused

Definition at line 180 of file gnunet-arm.c.

181{
182 (void) cls;
183 if (NULL != al_task)
184 {
186 al_task = NULL;
187 }
188 if (NULL != op)
189 {
191 op = NULL;
192 }
193 if (NULL != h)
194 {
196 h = NULL;
197 }
198 if (NULL != m)
199 {
201 m = NULL;
202 }
203 if (NULL != timeout_task)
204 {
206 timeout_task = NULL;
207 }
208 if ( (GNUNET_YES == end) &&
209 (GNUNET_YES == delete) )
210 delete_files ();
212 cfg = NULL;
213}
static struct GNUNET_ARM_Operation * op
Current operation.
Definition gnunet-arm.c:143
static struct GNUNET_ARM_MonitorHandle * m
Monitor connection with ARM.
Definition gnunet-arm.c:103
static struct GNUNET_ARM_Handle * h
Connection with ARM.
Definition gnunet-arm.c:98
static void delete_files()
Attempts to delete configuration file and GNUNET_HOME on ARM shutdown provided the end and delete opt...
Definition gnunet-arm.c:151
static struct GNUNET_CONFIGURATION_Handle * cfg
Our configuration.
Definition gnunet-arm.c:108
static struct GNUNET_SCHEDULER_Task * al_task
Handle for the task running the action_loop().
Definition gnunet-arm.c:138
static int end
Set if we are to shutdown all services (including ARM).
Definition gnunet-arm.c:33
static struct GNUNET_SCHEDULER_Task * timeout_task
Task to be run on timeout.
Definition gnunet-arm.c:123
void GNUNET_ARM_monitor_stop(struct GNUNET_ARM_MonitorHandle *h)
Disconnect from the ARM service and destroy the handle.
void GNUNET_ARM_disconnect(struct GNUNET_ARM_Handle *h)
Disconnect from the ARM service and destroy the handle.
Definition arm_api.c:603
void GNUNET_ARM_operation_cancel(struct GNUNET_ARM_Operation *op)
Abort an operation.
Definition arm_api.c:778
void GNUNET_CONFIGURATION_destroy(struct GNUNET_CONFIGURATION_Handle *cfg)
Destroy configuration object.
@ GNUNET_YES
void * GNUNET_SCHEDULER_cancel(struct GNUNET_SCHEDULER_Task *task)
Cancel the task with the specified identifier.
Definition scheduler.c:986

References al_task, cfg, delete_files(), end, GNUNET_ARM_disconnect(), GNUNET_ARM_monitor_stop(), GNUNET_ARM_operation_cancel(), GNUNET_CONFIGURATION_destroy(), GNUNET_SCHEDULER_cancel(), GNUNET_YES, h, m, op, and timeout_task.

Here is the call graph for this function:

◆ req_string()

static const char * req_string ( enum GNUNET_ARM_RequestStatus  rs)
static

Returns a string interpretation of rs.

Parameters
rsthe request status from ARM
Returns
a string interpretation of the request status

Definition at line 223 of file gnunet-arm.c.

224{
225 switch (rs)
226 {
228 return _ ("Message was sent successfully");
229
231 return _ ("We disconnected from ARM before we could send a request");
232 }
233 return _ ("Unknown request status");
234}
@ GNUNET_ARM_REQUEST_DISCONNECTED
We disconnected from ARM, and request was not sent.
@ GNUNET_ARM_REQUEST_SENT_OK
Message was sent successfully.

References _, GNUNET_ARM_REQUEST_DISCONNECTED, and GNUNET_ARM_REQUEST_SENT_OK.

Referenced by init_callback(), list_callback(), start_callback(), stop_callback(), and term_callback().

Here is the caller graph for this function:

◆ ret_string()

static const char * ret_string ( enum GNUNET_ARM_Result  result)
static

Returns a string interpretation of the result.

Parameters
resultthe arm result
Returns
a string interpretation

Definition at line 244 of file gnunet-arm.c.

245{
246 switch (result)
247 {
249 return _ ("is stopped");
250
252 return _ ("is starting");
253
255 return _ ("is stopping");
256
258 return _ ("is starting already");
259
261 return _ ("is stopping already");
262
264 return _ ("is started already");
265
267 return _ ("is stopped already");
268
270 return _ ("service is not known to ARM");
271
273 return _ ("service failed to start");
274
276 return _ ("service cannot be manipulated because ARM is shutting down");
277 }
278 return _ ("Unknown result code.");
279}
static int result
Global testing status.
@ GNUNET_ARM_RESULT_IS_NOT_KNOWN
Asked to start or stop a service, but it's not known.
@ GNUNET_ARM_RESULT_IS_STARTING_ALREADY
Asked to start it, but it's already starting.
@ GNUNET_ARM_RESULT_IS_STOPPED_ALREADY
Asked to stop it, but it's already stopped.
@ GNUNET_ARM_RESULT_STARTING
Service starting was initiated.
@ GNUNET_ARM_RESULT_IS_STARTED_ALREADY
Asked to start it, but it's already started.
@ GNUNET_ARM_RESULT_STOPPING
ARM stopping was initiated (there's no "stopped" for ARM itself).
@ GNUNET_ARM_RESULT_IS_STOPPING_ALREADY
Asked to stop it, but it's already stopping.
@ GNUNET_ARM_RESULT_STOPPED
Service was stopped (never sent for ARM itself).
@ GNUNET_ARM_RESULT_START_FAILED
Tried to start a service, but that failed for some reason.
@ GNUNET_ARM_RESULT_IN_SHUTDOWN
Asked to start something, but ARM is shutting down and can't comply.

References _, GNUNET_ARM_RESULT_IN_SHUTDOWN, GNUNET_ARM_RESULT_IS_NOT_KNOWN, GNUNET_ARM_RESULT_IS_STARTED_ALREADY, GNUNET_ARM_RESULT_IS_STARTING_ALREADY, GNUNET_ARM_RESULT_IS_STOPPED_ALREADY, GNUNET_ARM_RESULT_IS_STOPPING_ALREADY, GNUNET_ARM_RESULT_START_FAILED, GNUNET_ARM_RESULT_STARTING, GNUNET_ARM_RESULT_STOPPED, GNUNET_ARM_RESULT_STOPPING, and result.

Referenced by init_callback(), start_callback(), stop_callback(), and term_callback().

Here is the caller graph for this function:

◆ arm_is_running()

static bool arm_is_running ( void  )
static

Check if the ARM service is (likely) running.

Note that we cannot simply try to connect and wait for the connection to fail: the client API keeps retrying forever, so an action that requires ARM would simply block until the user hits CTRL-C.

Returns
true if the ARM service seems to be up

Definition at line 291 of file gnunet-arm.c.

292{
293 return (GNUNET_YES ==
295 "arm"));
296}
enum GNUNET_GenericReturnValue GNUNET_CLIENT_test(const struct GNUNET_CONFIGURATION_Handle *cfg, const char *service_name)
Test if the port or UNIXPATH of the given service_name is in use and thus (most likely) the respectiv...
Definition client.c:1006

References cfg, GNUNET_CLIENT_test(), and GNUNET_YES.

Referenced by action_loop().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ action_loop()

static void action_loop ( void *  cls)
static

Main task that runs our various operations in order.

Main action loop.

Parameters
clsclosure

Runs the various jobs that we've been asked to do, in order.

Parameters
clsclosure, unused

Definition at line 746 of file gnunet-arm.c.

747{
748 (void) cls;
749 al_task = NULL;
751 "Running requested actions\n");
752 while (1)
753 {
754 switch (phase++)
755 {
756 case 0:
757 if (NULL != term)
758 {
759 if (! arm_is_running ())
760 {
761 fprintf (stderr,
762 _ ("Cannot stop the `%s' service: ARM is not running.\n"),
763 term);
764 ret = 4;
766 return;
767 }
769 "Termination action\n");
771 term,
773 NULL);
774 return;
775 }
776 break;
777
778 case 1:
779 if (end || restart)
780 {
781 if (! arm_is_running ())
782 {
784 "GNUnet not running, cannot stop the peer\n");
785 if (restart)
786 {
787 /* nothing to stop, so just start the peer */
788 restart = 0;
789 start = 1;
790 }
791 }
792 else
793 {
795 "End action\n");
797 "arm",
799 NULL);
800 return;
801 }
802 }
803 break;
804
805 case 2:
806 if (start)
807 {
809 "Start action\n");
810 op =
812 "arm",
813 (no_stdout
814 ? 0
816 | (no_stderr
817 ? 0
820 NULL);
821 return;
822 }
823 break;
824
825 case 3:
826 if (NULL != init)
827 {
828 if (! arm_is_running ())
829 {
830 fprintf (stderr,
831 _ ("Cannot start the `%s' service: ARM is not running.\n"),
832 init);
833 ret = 4;
835 return;
836 }
838 "Initialization action\n");
840 init,
843 NULL);
844 return;
845 }
846 break;
847
848 case 4:
849 if (list)
850 {
851 if (! arm_is_running ())
852 {
853 fprintf (stderr,
854 "%s",
855 _ ("Cannot list services: ARM is not running.\n"));
856 ret = 4;
858 return;
859 }
861 "Going to list all running services controlled by ARM.\n");
864 &list);
865 return;
866 }
867 break;
868
869 case 5:
870 if (monitor)
871 {
872 if (! quiet)
873 fprintf (stderr,
874 _ ("Now only monitoring, press CTRL-C to stop.\n"));
875 quiet =
876 0; /* does not make sense to stay quiet in monitor mode at this time */
877 return; /* done with tasks, just monitor */
878 }
879 break;
880
881 default: /* last phase */
883 return;
884 }
885 }
886}
static int no_stdout
Do we want to give our stdout to gnunet-service-arm?
Definition gnunet-arm.c:128
static void term_callback(void *cls, enum GNUNET_ARM_RequestStatus rs, enum GNUNET_ARM_Result result)
We have requested a service to be stopped, this function is called with the result of the operation.
Definition gnunet-arm.c:495
static int start
Set if we are to start default services (including ARM).
Definition gnunet-arm.c:38
static int monitor
Monitor ARM activity.
Definition gnunet-arm.c:63
static int list
Set if we should print a list of currently running services.
Definition gnunet-arm.c:68
static int quiet
Set if we should not print status messages.
Definition gnunet-arm.c:53
static void stop_callback(void *cls, enum GNUNET_ARM_RequestStatus rs, enum GNUNET_ARM_Result result)
We have requested ARM to be stopped, this function is called with the result of the operation.
Definition gnunet-arm.c:391
static int ret
Final status code.
Definition gnunet-arm.c:93
static char * term
Set to the name of a service to kill.
Definition gnunet-arm.c:78
static char * init
Set to the name of a service to start.
Definition gnunet-arm.c:73
static int restart
Set if we are to stop/start default services (including ARM).
Definition gnunet-arm.c:43
static void list_callback(void *cls, enum GNUNET_ARM_RequestStatus rs, unsigned int count, const struct GNUNET_ARM_ServiceInfo *service_info)
Function called with the list of running services.
Definition gnunet-arm.c:548
static unsigned int phase
Processing stage that we are in.
Definition gnunet-arm.c:113
static int no_stderr
Do we want to give our stderr to gnunet-service-arm?
Definition gnunet-arm.c:133
static bool arm_is_running(void)
Check if the ARM service is (likely) running.
Definition gnunet-arm.c:291
static void init_callback(void *cls, enum GNUNET_ARM_RequestStatus rs, enum GNUNET_ARM_Result result)
We have requested a service to be started, this function is called with the result of the operation.
Definition gnunet-arm.c:448
static void start_callback(void *cls, enum GNUNET_ARM_RequestStatus rs, enum GNUNET_ARM_Result result)
We have requested ARM to be started, this function is called with the result of the operation.
Definition gnunet-arm.c:348
struct GNUNET_ARM_Operation * GNUNET_ARM_request_service_start(struct GNUNET_ARM_Handle *h, const char *service_name, enum GNUNET_OS_InheritStdioFlags std_inheritance, GNUNET_ARM_ResultCallback cont, void *cont_cls)
Request for a service to be started.
Definition arm_api.c:919
struct GNUNET_ARM_Operation * GNUNET_ARM_request_service_list(struct GNUNET_ARM_Handle *h, GNUNET_ARM_ServiceListCallback cont, void *cont_cls)
Request a list of running services.
Definition arm_api.c:1069
struct GNUNET_ARM_Operation * GNUNET_ARM_request_service_stop(struct GNUNET_ARM_Handle *h, const char *service_name, GNUNET_ARM_ResultCallback cont, void *cont_cls)
Request a service to be stopped.
Definition arm_api.c:1033
@ GNUNET_OS_INHERIT_STD_OUT
When this flag is set, the child process will inherit stdout of the parent.
@ GNUNET_OS_INHERIT_STD_ERR
When this flag is set, the child process will inherit stderr of the parent.
@ GNUNET_OS_INHERIT_STD_NONE
No standard streams should be inherited.
void GNUNET_SCHEDULER_shutdown(void)
Request the shutdown of a scheduler.
Definition scheduler.c:572

References _, al_task, arm_is_running(), end, GNUNET_ARM_request_service_list(), GNUNET_ARM_request_service_start(), GNUNET_ARM_request_service_stop(), GNUNET_ERROR_TYPE_DEBUG, GNUNET_ERROR_TYPE_WARNING, GNUNET_log, GNUNET_OS_INHERIT_STD_ERR, GNUNET_OS_INHERIT_STD_NONE, GNUNET_OS_INHERIT_STD_OUT, GNUNET_SCHEDULER_shutdown(), h, init, init_callback(), list, list_callback(), monitor, no_stderr, no_stdout, op, phase, quiet, restart, ret, start, start_callback(), stop_callback(), term, and term_callback().

Referenced by init_callback(), list_callback(), run(), start_callback(), stop_callback(), and term_callback().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ conn_status()

static void conn_status ( void *  cls,
int  connected 
)
static

Function called whenever we connect to or disconnect from ARM.

Terminates the process if we fail to connect to the service on our first attempt.

Parameters
clsclosure
connectedGNUNET_YES if connected, GNUNET_NO if disconnected, GNUNET_SYSERR on error.

Definition at line 318 of file gnunet-arm.c.

320{
321 static int once;
322
323 (void) cls;
324 if ( (GNUNET_SYSERR == connected) &&
325 (0 == once) )
326 {
328 _ ("Fatal error initializing ARM API.\n"));
330 return;
331 }
332 once = 1;
333}
static int once
Option -i.
Definition gnunet-pils.c:39
@ GNUNET_SYSERR
@ GNUNET_ERROR_TYPE_ERROR

References _, GNUNET_ERROR_TYPE_ERROR, GNUNET_log, GNUNET_SCHEDULER_shutdown(), GNUNET_SYSERR, and once.

Referenced by GNUNET_ARM_connect(), and run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ start_callback()

static void start_callback ( void *  cls,
enum GNUNET_ARM_RequestStatus  rs,
enum GNUNET_ARM_Result  result 
)
static

We have requested ARM to be started, this function is called with the result of the operation.

Informs the use of the result; on success, we continue with the event loop, on failure we terminate the process.

Parameters
clsclosure unused
rswhat happened to our request
resultif the request was processed, this is the result according to ARM

Definition at line 348 of file gnunet-arm.c.

351{
352 (void) cls;
353 op = NULL;
355 {
356 fprintf (stdout,
357 _ ("Failed to start the ARM service: %s\n"),
358 req_string (rs));
360 return;
361 }
364 {
365 fprintf (stdout,
366 _ ("Failed to start the ARM service: %s\n"),
369 return;
370 }
372 "ARM service [re]start successful\n");
373 start = 0;
375 NULL);
376}
static const char * req_string(enum GNUNET_ARM_RequestStatus rs)
Returns a string interpretation of rs.
Definition gnunet-arm.c:223
static void action_loop(void *cls)
Main task that runs our various operations in order.
Definition gnunet-arm.c:746
static const char * ret_string(enum GNUNET_ARM_Result result)
Returns a string interpretation of the result.
Definition gnunet-arm.c:244
struct GNUNET_SCHEDULER_Task * GNUNET_SCHEDULER_add_now(GNUNET_SCHEDULER_TaskCallback task, void *task_cls)
Schedule a new task to be run as soon as possible.
Definition scheduler.c:1310

References _, action_loop(), al_task, GNUNET_ARM_REQUEST_SENT_OK, GNUNET_ARM_RESULT_IS_STARTED_ALREADY, GNUNET_ARM_RESULT_STARTING, GNUNET_ERROR_TYPE_DEBUG, GNUNET_log, GNUNET_SCHEDULER_add_now(), GNUNET_SCHEDULER_shutdown(), op, req_string(), result, ret_string(), and start.

Referenced by action_loop().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ stop_callback()

static void stop_callback ( void *  cls,
enum GNUNET_ARM_RequestStatus  rs,
enum GNUNET_ARM_Result  result 
)
static

We have requested ARM to be stopped, this function is called with the result of the operation.

Informs the use of the result; on success, we continue with the event loop, on failure we terminate the process.

Parameters
clsclosure unused
rswhat happened to our request
resultif the request was processed, this is the result according to ARM

Definition at line 391 of file gnunet-arm.c.

394{
395 char *msg;
396
397 (void) cls;
398 op = NULL;
400 {
402 "%s",
403 _ (
404 "Failed to send a stop request to the ARM service: %s\n")
405 );
406 fprintf (stdout, msg, req_string (rs));
409 return;
410 }
414 {
415 fprintf (stdout,
416 _ ("Failed to stop the ARM service: %s\n"),
419 return;
420 }
422 "ARM service shutdown successful\n");
423 end = 0;
424 if (restart)
425 {
426 restart = 0;
427 start = 1;
429 "Initiating an ARM restart\n");
430 }
432 NULL);
433}
struct GNUNET_MessageHeader * msg
Definition 005.c:2
int int GNUNET_asprintf(char **buf, const char *format,...) __attribute__((format(printf
Like asprintf, just portable.
#define GNUNET_free(ptr)
Wrapper around free.

References _, action_loop(), al_task, end, GNUNET_ARM_REQUEST_SENT_OK, GNUNET_ARM_RESULT_IS_STOPPED_ALREADY, GNUNET_ARM_RESULT_STOPPED, GNUNET_ARM_RESULT_STOPPING, GNUNET_asprintf(), GNUNET_ERROR_TYPE_DEBUG, GNUNET_free, GNUNET_log, GNUNET_SCHEDULER_add_now(), GNUNET_SCHEDULER_shutdown(), msg, op, req_string(), restart, result, ret_string(), and start.

Referenced by action_loop().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_callback()

static void init_callback ( void *  cls,
enum GNUNET_ARM_RequestStatus  rs,
enum GNUNET_ARM_Result  result 
)
static

We have requested a service to be started, this function is called with the result of the operation.

Informs the use of the result; on success, we continue with the event loop, on failure we terminate the process.

Parameters
clsclosure unused
rswhat happened to our request
resultif the request was processed, this is the result according to ARM

Definition at line 448 of file gnunet-arm.c.

451{
452 (void) cls;
453 op = NULL;
455 {
456 fprintf (stdout,
457 _ ("Failed to send a request to start the `%s' service: %s\n"),
458 init,
459 req_string (rs));
461 return;
462 }
465 {
466 fprintf (stdout,
467 _ ("Failed to start the `%s' service: %s\n"),
468 init,
471 return;
472 }
474 "Service %s [re]started successfully\n",
475 init);
477 init = NULL;
479 NULL);
480}

References _, action_loop(), al_task, GNUNET_ARM_REQUEST_SENT_OK, GNUNET_ARM_RESULT_IS_STARTED_ALREADY, GNUNET_ARM_RESULT_STARTING, GNUNET_ERROR_TYPE_DEBUG, GNUNET_free, GNUNET_log, GNUNET_SCHEDULER_add_now(), GNUNET_SCHEDULER_shutdown(), init, op, req_string(), result, and ret_string().

Referenced by action_loop().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ term_callback()

static void term_callback ( void *  cls,
enum GNUNET_ARM_RequestStatus  rs,
enum GNUNET_ARM_Result  result 
)
static

We have requested a service to be stopped, this function is called with the result of the operation.

Informs the use of the result; on success, we continue with the event loop, on failure we terminate the process.

Parameters
clsclosure unused
rswhat happened to our request
resultif the request was processed, this is the result according to ARM

Definition at line 495 of file gnunet-arm.c.

498{
499 char *msg;
500
501 (void) cls;
502 op = NULL;
504 {
506 _ (
507 "Failed to send a request to kill the `%s' service: %%s\n"),
508 term);
509 fprintf (stdout,
510 msg,
511 req_string (rs));
514 return;
515 }
518 {
519 fprintf (stdout,
520 _ ("Failed to kill the `%s' service: %s\n"),
521 term,
524 return;
525 }
526
528 "Service %s stopped successfully\n",
529 term);
531 term = NULL;
533 NULL);
534}

References _, action_loop(), al_task, GNUNET_ARM_REQUEST_SENT_OK, GNUNET_ARM_RESULT_IS_STOPPED_ALREADY, GNUNET_ARM_RESULT_STOPPED, GNUNET_asprintf(), GNUNET_ERROR_TYPE_DEBUG, GNUNET_free, GNUNET_log, GNUNET_SCHEDULER_add_now(), GNUNET_SCHEDULER_shutdown(), msg, op, req_string(), result, ret_string(), and term.

Referenced by action_loop().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ list_callback()

static void list_callback ( void *  cls,
enum GNUNET_ARM_RequestStatus  rs,
unsigned int  count,
const struct GNUNET_ARM_ServiceInfo service_info 
)
static

Function called with the list of running services.

Prints the list to stdout, then starts the event loop again. Prints an error message and terminates the process on errors.

Parameters
clsclosure (unused)
rsrequest status (success, failure, etc.)
countnumber of services in the list
listlist of services managed by arm

Definition at line 548 of file gnunet-arm.c.

552{
553 unsigned int num_stopped = 0;
554 unsigned int num_started = 0;
555 unsigned int num_stopping = 0;
556 unsigned int num_failed = 0;
557 unsigned int num_finished = 0;
558 (void) cls;
559 op = NULL;
561 {
562 char *msg;
563
565 "%s",
566 _ ("Failed to request a list of services: %s\n"));
567 fprintf (stdout,
568 msg,
569 req_string (rs));
571 ret = 3;
573 }
574 if (NULL == service_info)
575 {
576 fprintf (stderr,
577 "%s",
578 _ ("Error communicating with ARM. ARM not running?\n"));
580 ret = 3;
581 return;
582 }
583 for (unsigned int i = 0; i < count; i++)
584 {
585 switch (service_info[i].status)
586 {
588 num_stopped++;
589 break;
591 num_failed++;
592 break;
594 num_finished++;
595 break;
597 num_started++;
598 break;
600 num_stopping++;
601 fprintf (stdout,
602 "%s (binary='%s', status=stopping)\n",
603 service_info[i].name,
604 service_info[i].binary);
605 break;
606 default:
607 GNUNET_break_op (0);
608 fprintf (stdout,
609 "%s (binary='%s', status=unknown)\n",
610 service_info[i].name,
611 service_info[i].binary);
612 break;
613 }
614 }
615 if (! quiet)
616 {
617 if (show_all)
618 fprintf (stdout,
619 "%s",
620 _ ("All services:\n"));
621 else
622 fprintf (stdout,
623 "%s",
624 _ ("Services (excluding stopped services):\n"));
625 if (num_stopped || num_failed || num_finished || num_stopping ||
626 num_started)
627 {
628 int sep = 0;
629 fprintf (stdout, "(");
630 if (0 != num_started)
631 {
632 if (sep)
633 fprintf (stdout, " / ");
634 fprintf (stdout,
635 "started: %u",
636 num_started);
637 sep = 1;
638 }
639 if (0 != num_failed)
640 {
641 if (sep)
642 fprintf (stdout, " / ");
643 fprintf (stdout,
644 "failed: %u",
645 num_failed);
646 sep = 1;
647 }
648 if (0 != num_stopping)
649 {
650 if (sep)
651 fprintf (stdout, " / ");
652 fprintf (stdout,
653 "stopping: %u",
654 num_stopping);
655 sep = 1;
656 }
657 if (0 != num_stopped)
658 {
659 if (sep)
660 fprintf (stdout, " / ");
661 fprintf (stdout,
662 "stopped: %u",
663 num_stopped);
664 sep = 1;
665 }
666 if (0 != num_finished)
667 {
668 if (sep)
669 fprintf (stdout, " / ");
670 fprintf (stdout,
671 "finished: %u",
672 num_finished);
673 sep = 1;
674 }
675 fprintf (stdout, ")\n");
676 }
677 else
678 {
679 fprintf (stdout,
680 "%s",
681 _ ("(No services configured.)\n"));
682 }
683 }
684 for (unsigned int i = 0; i < count; i++)
685 {
686 struct GNUNET_TIME_Relative restart_in;
687 switch (service_info[i].status)
688 {
690 if (show_all)
691 fprintf (stdout,
692 "%s (binary='%s', status=stopped)\n",
693 service_info[i].name,
694 service_info[i].binary);
695 break;
697 restart_in = GNUNET_TIME_absolute_get_remaining (service_info[i].
698 restart_at);
699 fprintf (stdout,
700 "%s (binary='%s', status=failed, exit_status=%d, restart_delay='%s')\n",
701 service_info[i].name,
702 service_info[i].binary,
703 service_info[i].last_exit_status,
705 GNUNET_YES));
706 break;
708 fprintf (stdout,
709 "%s (binary='%s', status=finished)\n",
710 service_info[i].name,
711 service_info[i].binary);
712 break;
714 fprintf (stdout,
715 "%s (binary='%s', status=started)\n",
716 service_info[i].name,
717 service_info[i].binary);
718 break;
720 fprintf (stdout,
721 "%s (binary='%s', status=stopping)\n",
722 service_info[i].name,
723 service_info[i].binary);
724 break;
725 default:
726 GNUNET_break_op (0);
727 fprintf (stdout,
728 "%s (binary='%s', status=unknown)\n",
729 service_info[i].name,
730 service_info[i].binary);
731 break;
732 }
733 }
735 NULL);
736}
static int show_all
Set if we should print all services, including stopped ones.
Definition gnunet-arm.c:58
static char * name
Name (label) of the records to list.
static int status
The program status; 0 for success.
Definition gnunet-nse.c:39
@ GNUNET_ARM_SERVICE_STATUS_FINISHED
The service was started, but then exited normally.
@ GNUNET_ARM_SERVICE_STATUS_FAILED
The service has previously failed, and will be restarted.
@ GNUNET_ARM_SERVICE_STATUS_STOPPED
Service is stopped.
@ GNUNET_ARM_SERVICE_STATUS_STOPPING
The service was started, and we're currently waiting for it to be stopped.
@ GNUNET_ARM_SERVICE_STATUS_STARTED
Service has been started and is currently running.
#define GNUNET_break_op(cond)
Use this for assertion violations caused by other peers (i.e.
struct GNUNET_TIME_Relative GNUNET_TIME_absolute_get_remaining(struct GNUNET_TIME_Absolute future)
Given a timestamp in the future, how much time remains until then?
Definition time.c:406
const char * GNUNET_STRINGS_relative_time_to_string(struct GNUNET_TIME_Relative delta, int do_round)
Give relative time in human-readable fancy format.
Definition strings.c:610
Time for relative time used by GNUnet, in microseconds.

References _, action_loop(), al_task, GNUNET_ARM_REQUEST_SENT_OK, GNUNET_ARM_SERVICE_STATUS_FAILED, GNUNET_ARM_SERVICE_STATUS_FINISHED, GNUNET_ARM_SERVICE_STATUS_STARTED, GNUNET_ARM_SERVICE_STATUS_STOPPED, GNUNET_ARM_SERVICE_STATUS_STOPPING, GNUNET_asprintf(), GNUNET_break_op, GNUNET_free, GNUNET_SCHEDULER_add_now(), GNUNET_SCHEDULER_shutdown(), GNUNET_STRINGS_relative_time_to_string(), GNUNET_TIME_absolute_get_remaining(), GNUNET_YES, msg, name, op, quiet, req_string(), ret, show_all, and status.

Referenced by action_loop().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ srv_status()

static void srv_status ( void *  cls,
const char *  service,
enum GNUNET_ARM_ServiceMonitorStatus  status 
)
static

Function called when a service starts or stops.

Parameters
clsclosure
serviceservice name
statusstatus of the service

Definition at line 897 of file gnunet-arm.c.

900{
901 const char *msg;
902
903 (void) cls;
904 switch (status)
905 {
907 return; /* this should be done silently */
908
910 msg = _ ("Stopped %s.\n");
911 break;
912
914 msg = _ ("Starting %s...\n");
915 break;
916
918 msg = _ ("Stopping %s...\n");
919 break;
920
921 default:
922 msg = NULL;
923 break;
924 }
925 if (! quiet)
926 {
927 if (NULL != msg)
928 fprintf (stderr,
929 msg,
930 service);
931 else
932 fprintf (stderr,
933 _ ("Unknown status %u for service %s.\n"),
934 status,
935 service);
936 }
938 "Got service %s status %d\n",
939 service,
940 (int) status);
941}
static struct GNUNET_SERVICE_Handle * service
Handle to our service instance.
@ GNUNET_ARM_SERVICE_STOPPING
Service stopping was initiated.
@ GNUNET_ARM_SERVICE_STOPPED
Service was stopped.
@ GNUNET_ARM_SERVICE_STARTING
Service starting was initiated.
@ GNUNET_ARM_SERVICE_MONITORING_STARTED
Dummy message.

References _, GNUNET_ARM_SERVICE_MONITORING_STARTED, GNUNET_ARM_SERVICE_STARTING, GNUNET_ARM_SERVICE_STOPPED, GNUNET_ARM_SERVICE_STOPPING, GNUNET_ERROR_TYPE_DEBUG, GNUNET_log, msg, quiet, service, and status.

Referenced by run().

Here is the caller graph for this function:

◆ timeout_task_cb()

static void timeout_task_cb ( void *  cls)
static

Task run on timeout (if -T is given).

Definition at line 948 of file gnunet-arm.c.

949{
950 (void) cls;
951 timeout_task = NULL;
952 ret = 2;
954}

References GNUNET_SCHEDULER_shutdown(), ret, and timeout_task.

Referenced by run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ run()

static void run ( void *  cls,
char *const *  args,
const char *  cfgfile,
const struct GNUNET_CONFIGURATION_Handle c 
)
static

Main function that will be run by the scheduler.

Parameters
clsclosure
argsremaining command-line arguments
cfgfilename of the configuration file used (for saving, can be NULL!)
cconfiguration

Definition at line 966 of file gnunet-arm.c.

970{
971 (void) cls;
972 (void) args;
973 (void) cfgfile;
975 if (GNUNET_OK !=
977 "PATHS",
978 "GNUNET_HOME",
979 &dir))
980 {
982 "PATHS",
983 "GNUNET_HOME");
984 return;
985 }
987 "arm",
988 "CONFIG",
989 &config_file);
990 if (NULL == (h = GNUNET_ARM_connect (cfg,
992 NULL)))
993 return;
994 if (monitor)
996 &srv_status,
997 NULL);
999 NULL);
1001 NULL);
1002 if (0 != timeout.rel_value_us)
1003 timeout_task =
1006 NULL);
1007}
static void timeout_task_cb(void *cls)
Task run on timeout (if -T is given).
Definition gnunet-arm.c:948
static void conn_status(void *cls, int connected)
Function called whenever we connect to or disconnect from ARM.
Definition gnunet-arm.c:318
static struct GNUNET_TIME_Relative timeout
User defined timestamp for completing operations.
Definition gnunet-arm.c:118
static void srv_status(void *cls, const char *service, enum GNUNET_ARM_ServiceMonitorStatus status)
Function called when a service starts or stops.
Definition gnunet-arm.c:897
struct GNUNET_SCHEDULER_Task * shutdown_task
struct GNUNET_ARM_Handle * GNUNET_ARM_connect(const struct GNUNET_CONFIGURATION_Handle *cfg, GNUNET_ARM_ConnectionStatusCallback conn_status, void *conn_status_cls)
Set up a context for communicating with ARM, then start connecting to the ARM service using that cont...
Definition arm_api.c:577
struct GNUNET_ARM_MonitorHandle * GNUNET_ARM_monitor_start(const struct GNUNET_CONFIGURATION_Handle *cfg, GNUNET_ARM_ServiceMonitorCallback cont, void *cont_cls)
Setup a context for monitoring ARM, then start connecting to the ARM service for monitoring using tha...
enum GNUNET_GenericReturnValue GNUNET_CONFIGURATION_get_value_filename(const struct GNUNET_CONFIGURATION_Handle *cfg, const char *section, const char *option, char **value)
Get a configuration value that should be the name of a file or directory.
struct GNUNET_CONFIGURATION_Handle * GNUNET_CONFIGURATION_dup(const struct GNUNET_CONFIGURATION_Handle *cfg)
Duplicate an existing configuration object.
enum GNUNET_GenericReturnValue GNUNET_CONFIGURATION_get_value_string(const struct GNUNET_CONFIGURATION_Handle *cfg, const char *section, const char *option, char **value)
Get a configuration value that should be a string.
void GNUNET_log_config_missing(enum GNUNET_ErrorType kind, const char *section, const char *option)
Log error message about missing configuration option.
struct GNUNET_SCHEDULER_Task * GNUNET_SCHEDULER_add_shutdown(GNUNET_SCHEDULER_TaskCallback task, void *task_cls)
Schedule a new task to be run on shutdown, that is when a CTRL-C signal is received,...
Definition scheduler.c:1345
struct GNUNET_SCHEDULER_Task * GNUNET_SCHEDULER_add_delayed(struct GNUNET_TIME_Relative delay, GNUNET_SCHEDULER_TaskCallback task, void *task_cls)
Schedule a new task to be run with a specified delay.
Definition scheduler.c:1283
uint64_t rel_value_us
The actual value.

References action_loop(), al_task, cfg, config_file, conn_status(), dir, GNUNET_ARM_connect(), GNUNET_ARM_monitor_start(), GNUNET_CONFIGURATION_dup(), GNUNET_CONFIGURATION_get_value_filename(), GNUNET_CONFIGURATION_get_value_string(), GNUNET_ERROR_TYPE_ERROR, GNUNET_log_config_missing(), GNUNET_OK, GNUNET_SCHEDULER_add_delayed(), GNUNET_SCHEDULER_add_now(), GNUNET_SCHEDULER_add_shutdown(), h, m, monitor, GNUNET_TIME_Relative::rel_value_us, shutdown_task, srv_status(), timeout, timeout_task, and timeout_task_cb().

Referenced by finish_test(), GNUNET_TESTING_command_new_ac(), GNUNET_TESTING_interpreter_lookup_command(), main(), and rewind_ip_run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ main()

int main ( int  argc,
char *const *  argv 
)

The main function to obtain arm from gnunetd.

Parameters
argcnumber of arguments from the command line
argvcommand line arguments
Returns
0 ok, 1 on error, 2 on timeout, 3 on communication failure with ARM, 4 if ARM is not running

Definition at line 1019 of file gnunet-arm.c.

1020{
1023 "end",
1024 gettext_noop ("stop all GNUnet services"),
1025 &end),
1027 "init",
1028 "SERVICE",
1029 gettext_noop ("start a particular service"),
1030 &init),
1032 "kill",
1033 "SERVICE",
1034 gettext_noop ("stop a particular service"),
1035 &term),
1037 "all",
1038 gettext_noop (
1039 "also show stopped services (used with -I)"),
1040 &show_all),
1042 "start",
1043 gettext_noop (
1044 "start all GNUnet default services"),
1045 &start),
1047 "restart",
1048 gettext_noop (
1049 "stop and start all GNUnet default services"),
1050 &restart),
1052 "delete",
1053 gettext_noop (
1054 "delete config file and directory on exit"),
1055 &delete),
1057 "monitor",
1058 gettext_noop ("monitor ARM activities"),
1059 &monitor),
1061 "quiet",
1062 gettext_noop ("don't print status messages"),
1063 &quiet),
1065 'T',
1066 "timeout",
1067 "DELAY",
1068 gettext_noop (
1069 "exit with error status if operation does not finish after DELAY"),
1070 &timeout),
1072 "info",
1073 gettext_noop (
1074 "list currently running services"),
1075 &list),
1077 'O',
1078 "no-stdout",
1079 gettext_noop ("don't let gnunet-service-arm inherit standard output"),
1080 &no_stdout),
1082 'E',
1083 "no-stderr",
1084 gettext_noop ("don't let gnunet-service-arm inherit standard error"),
1085 &no_stderr),
1087 };
1088 int lret;
1089
1090 if (GNUNET_OK ==
1091 (lret = GNUNET_PROGRAM_run (
1093 argc,
1094 argv,
1095 "gnunet-arm",
1096 gettext_noop (
1097 "Control services and the Automated Restart Manager (ARM)"),
1098 options,
1099 &run,
1100 NULL)))
1101 {
1102 return ret;
1103 }
1104 return lret;
1105}
struct GNUNET_GETOPT_CommandLineOption options[]
Definition 002.c:5
#define gettext_noop(String)
Definition gettext.h:74
static void run(void *cls, char *const *args, const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *c)
Main function that will be run by the scheduler.
Definition gnunet-arm.c:966
struct GNUNET_GETOPT_CommandLineOption GNUNET_GETOPT_option_relative_time(char shortName, const char *name, const char *argumentHelp, const char *description, struct GNUNET_TIME_Relative *val)
Allow user to specify a struct GNUNET_TIME_Relative (using human-readable "fancy" time).
#define GNUNET_GETOPT_OPTION_END
Marker for the end of the list of options.
struct GNUNET_GETOPT_CommandLineOption GNUNET_GETOPT_option_flag(char shortName, const char *name, const char *description, int *val)
Allow user to specify a flag (which internally means setting an integer to 1/GNUNET_YES/GNUNET_OK.
struct GNUNET_GETOPT_CommandLineOption GNUNET_GETOPT_option_string(char shortName, const char *name, const char *argumentHelp, const char *description, char **str)
Allow user to specify a string.
const struct GNUNET_OS_ProjectData * GNUNET_OS_project_data_gnunet(void)
Return default project data used by 'libgnunetutil' for GNUnet.
enum GNUNET_GenericReturnValue GNUNET_PROGRAM_run(const struct GNUNET_OS_ProjectData *pd, int argc, char *const *argv, const char *binaryName, const char *binaryHelp, const struct GNUNET_GETOPT_CommandLineOption *options, GNUNET_PROGRAM_Main task, void *task_cls)
Run a standard GNUnet command startup sequence (initialize loggers and configuration,...
Definition program.c:406
Definition of a command line option.

References end, gettext_noop, GNUNET_GETOPT_OPTION_END, GNUNET_GETOPT_option_flag(), GNUNET_GETOPT_option_relative_time(), GNUNET_GETOPT_option_string(), GNUNET_OK, GNUNET_OS_project_data_gnunet(), GNUNET_PROGRAM_run(), init, list, monitor, no_stderr, no_stdout, options, quiet, restart, ret, run(), show_all, start, term, and timeout.

Here is the call graph for this function:

Variable Documentation

◆ end

int end
static

Set if we are to shutdown all services (including ARM).

Definition at line 33 of file gnunet-arm.c.

Referenced by action_loop(), attach_path(), auth_key_to_string(), check_member_session_completion(), cmd_read(), compute_policy(), dump_buffer(), expand_dollar(), extend_path(), get_path_from_PATH(), get_serialization_short_name(), GNUNET_CONFIGURATION_deserialize(), GNUNET_CONFIGURATION_iterate_value_filenames(), GNUNET_CONFIGURATION_remove_value_filename(), GNUNET_CRYPTO_ecdsa_private_key_to_string(), GNUNET_CRYPTO_ecdsa_public_key_to_string(), GNUNET_CRYPTO_eddsa_private_key_to_string(), GNUNET_CRYPTO_eddsa_public_key_to_string(), GNUNET_DISK_pipe_close_end(), GNUNET_DISK_pipe_detach_end(), GNUNET_GNSRECORD_z2s(), GNUNET_HELLO_parser_from_block_(), GNUNET_NETWORK_shorten_unixpath(), GNUNET_PQ_event_notify(), GNUNET_PQ_get_event_notify_channel(), GNUNET_STRINGS_data_to_string_alloc(), GNUNET_STRINGS_parse_ipv4_policy(), GNUNET_STRINGS_parse_uri(), GNUNET_STRINGS_urlencode(), GNUNET_TESTING_interpreter_commands_iterate(), GNUNET_TESTING_SIMPLE_TRAITS(), GNUNET_TIME_absolute_get_difference(), handle_get(), handle_link_list_request(), is_excluded_generation(), main(), manage_subscribe(), needs_parentheses(), nfa_add_alternation(), nfa_add_label(), nfa_add_question_op(), nfa_add_star_op(), nfa_fragment_create(), output_message(), pool_get(), process_helper_msgs(), REGEX_TEST_automaton_save_graph(), remove_parentheses(), run(), sh_to_channel(), shutdown_task(), stop_callback(), time_between(), transmit_item(), update_subscription(), and uri_sks_parse().

◆ start

int start
static

Set if we are to start default services (including ARM).

Definition at line 38 of file gnunet-arm.c.

Referenced by action_loop(), add_record(), block_align(), check_member_session_completion(), check_tcp_remote(), check_tcp_service(), compute_policy(), dfa_add_multi_strides_helper(), dfa_compress_paths_helper(), expand_dollar(), extract_address(), extract_address(), GNUNET_CONSENSUS_create(), GNUNET_DNSPARSER_builder_add_name(), GNUNET_FS_queue_(), GNUNET_process_run_command(), GNUNET_SECRETSHARING_create_session(), GNUNET_SECRETSHARING_decrypt(), GNUNET_STRINGS_buffer_tokenize(), GNUNET_STRINGS_parse_ipv6_policy(), GNUNET_TESTING_interpreter_commands_iterate(), GNUNET_TIME_absolute_add(), GNUNET_TIME_absolute_get_difference(), GNUNET_TIME_absolute_subtract(), GNUNET_TIME_calculate_eta(), GSF_update_datastore_delay_(), handle_client_start(), handle_monitor_start(), handle_tcp_remote(), handle_tcp_service(), ibf_read_slice(), ibf_read_slice(), ibf_write_slice(), ibf_write_slice(), is_excluded_generation(), main(), nfa_add_alternation(), nfa_add_label(), nfa_add_question_op(), nfa_add_star_op(), nfa_fragment_create(), pack_counter(), parse_definitions(), REGEX_INTERNAL_automaton_traverse(), REGEX_TEST_automaton_save_graph(), run(), run_iteration_round(), run_zone_iteration_round(), solve_srv_room_member_collisions(), start_callback(), stop_callback(), tcp_address_to_sockaddr(), tcp_address_to_sockaddr(), time_between(), try_ifconfig(), udp_address_to_sockaddr(), udp_address_to_sockaddr(), udp_address_to_sockaddr(), udp_address_to_sockaddr(), and unpack_counter().

◆ restart

int restart
static

Set if we are to stop/start default services (including ARM).

Definition at line 43 of file gnunet-arm.c.

Referenced by action_loop(), main(), and stop_callback().

◆ delete

int delete
static

Set if we should delete configuration and temp directory on exit.

Definition at line 48 of file gnunet-arm.c.

◆ quiet

int quiet
static

Set if we should not print status messages.

Definition at line 53 of file gnunet-arm.c.

Referenced by action_loop(), list_callback(), main(), and srv_status().

◆ show_all

int show_all
static

Set if we should print all services, including stopped ones.

Definition at line 58 of file gnunet-arm.c.

Referenced by list_callback(), and main().

◆ monitor

int monitor
static

◆ list

◆ init

◆ term

char* term
static

Set to the name of a service to kill.

Definition at line 78 of file gnunet-arm.c.

Referenced by action_loop(), main(), and term_callback().

◆ config_file

char* config_file
static

Set to the name of the config file used.

Definition at line 83 of file gnunet-arm.c.

Referenced by delete_files(), load_member(), load_member_session(), load_member_session_next(), run(), save_member(), save_member_session(), and set_cont().

◆ dir

◆ ret

int ret
static

Final status code.

Definition at line 93 of file gnunet-arm.c.

Referenced by __attribute__(), action_loop(), add_record(), add_services(), add_valid_peer(), address_to_regex(), attr_in_claims_request(), barrier_reached_traits(), barrier_traits(), batch_traits(), bound_priority(), build_dns_query(), calculate_rtt(), check_dht_p2p_hello(), check_signature_identity(), check_vectors(), cleanup_expired_records(), close_all_files(), cmd_read(), communicator_list(), compute_chk_offset(), compute_policy(), compute_rand_delay(), connect_peers_traits(), connect_traits(), cont_GCT_handle_kx(), cont_GCT_handle_kx_auth(), conversation_value_to_string(), convert_with_table(), copy_from_reader(), create_peer_ctx(), create_response(), create_response(), CustomPeerMap_remove_peer(), decrypt_and_check_tc(), decrypt_and_check_tc(), demultiplex_with_cmc(), derive_es_ets(), derive_hs(), derive_ms(), derive_next_ats(), deserialize_fi_node(), deserialize_file_information(), do_discover_peers(), do_open_listening_socket(), do_read(), do_send(), do_send(), download_hostlist(), enter_srv_room_at(), execute_get(), extract_fixed_blob(), extract_rsa_pub(), extract_rsa_sig(), extract_var_blob(), fh_reader(), file_test_internal(), find_queue_by_ip(), fork_and_exec(), fork_and_exec(), GCP_2s(), GCP_iterate_indirect_paths(), GCP_iterate_paths(), GCP_iterate_paths_at(), GDS_NEIGHBOURS_handle_put(), generate_initiator_finished(), generate_responder_finished(), get_bootstrap_server(), get_delay_randomization(), get_latest(), get_next_free_ctn(), get_peer_ctx(), get_random_peer_from_peermap(), get_randomized_delay(), get_read_handle(), get_records_and_call_iterator(), get_serialization_file_name(), get_serialization_file_name_in_dir(), get_server_addresses(), get_server_addresses(), get_transmit_delay(), get_update_information_directory(), get_valid_peers(), get_write_handle(), get_write_handle_in_dir(), gns_resolve_name(), GNUNET_ABD_delegates_get_size(), GNUNET_ABD_delegation_chain_get_size(), GNUNET_ABD_delegation_set_get_size(), GNUNET_ARM_request_service_start(), GNUNET_asprintf(), GNUNET_b2s(), GNUNET_BANDWIDTH_tracker_get_delay(), GNUNET_BANDWIDTH_value_get_delay_for(), GNUNET_BANDWIDTH_value_init(), GNUNET_BIO_flush(), GNUNET_BIO_get_buffer_contents(), GNUNET_BIO_read_spec_commit(), GNUNET_BIO_write_spec_commit(), GNUNET_BLOCK_group_merge(), GNUNET_CADET_get_channel_cancel(), GNUNET_CADET_get_path_cancel(), GNUNET_CADET_list_peers_cancel(), GNUNET_CADET_list_tunnels_cancel(), GNUNET_CLIENT_test(), GNUNET_CONFIGURATION_deserialize(), GNUNET_CONFIGURATION_dup(), GNUNET_CONFIGURATION_get_value_filename(), GNUNET_CONFIGURATION_get_value_time(), GNUNET_CONFIGURATION_get_value_yesno(), GNUNET_CONFIGURATION_iterate_value_filenames(), GNUNET_CONFIGURATION_parse(), GNUNET_CONFIGURATION_parse_and_run(), GNUNET_CONFIGURATION_write_diffs(), GNUNET_CONTAINER_heap_remove_node(), GNUNET_CONTAINER_heap_remove_root(), GNUNET_CONTAINER_multihashmap32_create(), GNUNET_CONTAINER_multihashmap32_remove_all(), GNUNET_CONTAINER_multihashmap_clear(), GNUNET_CONTAINER_multihashmap_remove_all(), GNUNET_CONTAINER_multipeermap_remove_all(), GNUNET_CONTAINER_multishortmap_remove_all(), GNUNET_CONTAINER_multiuuidmap_remove_all(), GNUNET_copy_message(), GNUNET_CRYPTO_blind_sign_keys_create(), GNUNET_CRYPTO_blindable_private_key_from_string(), GNUNET_CRYPTO_blindable_public_key_from_string(), GNUNET_CRYPTO_ecdsa_private_key_derive(), GNUNET_CRYPTO_eddsa_key_from_file(), GNUNET_CRYPTO_hash(), GNUNET_CRYPTO_hash_count_leading_zeros(), GNUNET_CRYPTO_hash_count_tailing_zeros(), GNUNET_CRYPTO_hash_from_string2(), GNUNET_CRYPTO_random_permute(), GNUNET_CRYPTO_rsa_blind(), GNUNET_CRYPTO_rsa_private_key_cmp(), GNUNET_CRYPTO_rsa_private_key_create(), GNUNET_CRYPTO_rsa_public_key_check(), GNUNET_CRYPTO_rsa_public_key_cmp(), GNUNET_CRYPTO_rsa_public_key_encode(), GNUNET_CRYPTO_rsa_signature_cmp(), GNUNET_CRYPTO_rsa_signature_dup(), GNUNET_CRYPTO_rsa_signature_encode(), GNUNET_CRYPTO_rsa_unblind(), GNUNET_DATACACHE_create(), GNUNET_DISK_directory_create(), GNUNET_DISK_directory_scan(), GNUNET_DISK_directory_test(), GNUNET_DISK_file_close(), GNUNET_DISK_file_open(), GNUNET_DISK_file_size(), GNUNET_DISK_file_unmap(), GNUNET_DISK_file_write_blocking(), GNUNET_DISK_fn_read(), GNUNET_DISK_glob(), GNUNET_DISK_internal_file_handle_unbox(), GNUNET_DISK_pipe_close(), GNUNET_DISK_pipe_close_end(), GNUNET_DISK_pipe_detach_end(), GNUNET_DISK_pipe_from_fd(), GNUNET_DNSPARSER_bin_to_hex(), GNUNET_DNSPARSER_builder_add_query(), GNUNET_DNSPARSER_builder_add_soa(), GNUNET_DNSPARSER_builder_add_srv(), GNUNET_DNSPARSER_pack(), GNUNET_e2s(), GNUNET_e2s2(), GNUNET_FS_data_reader_file_(), GNUNET_FS_directory_builder_add(), GNUNET_FS_directory_builder_create(), GNUNET_FS_directory_builder_finish(), GNUNET_FS_file_information_create_empty_directory(), GNUNET_FS_file_information_create_from_file(), GNUNET_FS_file_information_create_from_reader(), GNUNET_FS_make_top(), GNUNET_FS_meta_data_duplicate(), GNUNET_FS_meta_data_get_first_by_types(), GNUNET_FS_meta_data_get_serialized_size(), GNUNET_FS_meta_data_suggest_filename(), GNUNET_FS_meta_data_test_for_directory(), GNUNET_FS_publish_start(), GNUNET_FS_search_make_status_(), GNUNET_FS_search_start(), GNUNET_FS_start(), GNUNET_FS_tree_calculate_block_size(), GNUNET_FS_tree_compute_iblock_size(), GNUNET_FS_uri_dup(), GNUNET_FS_uri_ksk_create_from_meta_data(), GNUNET_FS_uri_ksk_merge(), GNUNET_FS_uri_ksk_to_string_fancy(), GNUNET_FS_uri_loc_get_uri(), GNUNET_FS_uri_parse(), GNUNET_FS_uri_test_equal(), GNUNET_GNS_lookup_cancel(), GNUNET_GNS_lookup_with_tld_cancel(), GNUNET_GNSRECORD_block_decrypt(), GNUNET_GNSRECORD_JSON_spec_gnsrecord(), GNUNET_GNSRECORD_number_to_typename(), GNUNET_GNSRECORD_pkey_to_zkey(), GNUNET_GNSRECORD_pow_round(), GNUNET_GNSRECORD_records_get_size(), GNUNET_GNSRECORD_typename_to_number(), GNUNET_GNSRECORD_value_to_string(), GNUNET_h2s(), GNUNET_h2s2(), GNUNET_h2s_full(), GNUNET_HELLO_builder_add_address(), GNUNET_HELLO_dht_msg_to_block(), GNUNET_HELLO_parser_from_block_(), GNUNET_HELLO_parser_from_url(), GNUNET_HELPER_kill(), GNUNET_HELPER_wait(), GNUNET_i2s(), GNUNET_i2s2(), GNUNET_i2s_full(), GNUNET_JSON_from_rsa_public_key(), GNUNET_JSON_from_rsa_signature(), GNUNET_JSON_pack_(), GNUNET_JSON_spec_array_const(), GNUNET_JSON_spec_array_copy(), GNUNET_JSON_spec_blinded_message(), GNUNET_JSON_spec_blinded_signature(), GNUNET_JSON_spec_bool(), GNUNET_JSON_spec_boolean(), GNUNET_JSON_spec_double(), GNUNET_JSON_spec_end(), GNUNET_JSON_spec_fixed(), GNUNET_JSON_spec_fixed64(), GNUNET_JSON_spec_int16(), GNUNET_JSON_spec_int64(), GNUNET_JSON_spec_json(), GNUNET_JSON_spec_mark_optional(), GNUNET_JSON_spec_object_const(), GNUNET_JSON_spec_object_copy(), GNUNET_JSON_spec_relative_time(), GNUNET_JSON_spec_rsa_public_key(), GNUNET_JSON_spec_rsa_signature(), GNUNET_JSON_spec_string(), GNUNET_JSON_spec_string_copy(), GNUNET_JSON_spec_time_rounder_interval(), GNUNET_JSON_spec_timestamp(), GNUNET_JSON_spec_timestamp_nbo(), GNUNET_JSON_spec_uint(), GNUNET_JSON_spec_uint16(), GNUNET_JSON_spec_uint32(), GNUNET_JSON_spec_uint64(), GNUNET_JSON_spec_uint8(), GNUNET_JSON_spec_ull(), GNUNET_JSON_spec_unblinded_signature(), GNUNET_JSON_spec_varsize(), GNUNET_LOAD_value_init(), GNUNET_MHD_post_parser(), GNUNET_MQ_env_combine_options(), GNUNET_MQ_inject_message(), GNUNET_MST_create(), GNUNET_MST_from_buffer(), GNUNET_MST_read(), GNUNET_NAT_mini_map_start(), GNUNET_NAT_stun_handle_packet_(), GNUNET_NETWORK_socket_accept(), GNUNET_NETWORK_socket_bind(), GNUNET_NETWORK_socket_box_native(), GNUNET_NETWORK_socket_close(), GNUNET_NETWORK_socket_connect(), GNUNET_NETWORK_socket_create(), GNUNET_NETWORK_socket_disable_corking(), GNUNET_NETWORK_socket_getsockopt(), GNUNET_NETWORK_socket_listen(), GNUNET_NETWORK_socket_recv(), GNUNET_NETWORK_socket_send(), GNUNET_NETWORK_socket_shutdown(), GNUNET_NETWORK_test_pf(), GNUNET_NETWORK_test_port_free(), GNUNET_NETWORK_unix_precheck(), GNUNET_p2s(), GNUNET_p2s2(), GNUNET_PEER_intern(), GNUNET_PLUGIN_load(), GNUNET_PLUGIN_unload(), GNUNET_PQ_check_current(), GNUNET_PQ_eval_prepared_multi_select(), GNUNET_PQ_exec_prepared(), GNUNET_PQ_extract_result(), GNUNET_PQ_load_versioning(), GNUNET_PQ_prepare_anon(), GNUNET_PQ_prepare_statements(), GNUNET_PQ_run_sql(), GNUNET_process_kill(), GNUNET_process_run_command_va(), GNUNET_process_wait(), GNUNET_PROGRAM_conf_and_options(), GNUNET_PROGRAM_run2(), gnunet_read(), GNUNET_RECLAIM_attribute_number_to_typename(), GNUNET_RECLAIM_attribute_typename_to_number(), GNUNET_RECLAIM_attribute_value_to_string(), GNUNET_RECLAIM_credential_get_attributes(), GNUNET_RECLAIM_credential_get_issuer(), GNUNET_RECLAIM_credential_number_to_typename(), GNUNET_RECLAIM_credential_typename_to_number(), GNUNET_RECLAIM_credential_value_to_string(), GNUNET_RECLAIM_JSON_spec_attribute(), GNUNET_RECLAIM_JSON_spec_credential(), GNUNET_RECLAIM_JSON_spec_ticket(), GNUNET_RECLAIM_presentation_get_attributes(), GNUNET_RECLAIM_presentation_get_issuer(), GNUNET_RECLAIM_presentation_number_to_typename(), GNUNET_RECLAIM_presentation_typename_to_number(), GNUNET_RECLAIM_presentation_value_to_string(), GNUNET_RESOLVER_local_fqdn_get(), GNUNET_SCHEDULER_add_now_with_lifeness(), GNUNET_SCHEDULER_cancel(), GNUNET_SCHEDULER_get_load(), GNUNET_SERVICE_run_(), GNUNET_SIGNAL_handler_install(), GNUNET_snprintf(), GNUNET_SQ_prepare(), GNUNET_STRINGS_base64_decode(), GNUNET_STRINGS_base64_encode(), GNUNET_STRINGS_base64url_decode(), GNUNET_STRINGS_byte_size_fancy(), GNUNET_STRINGS_conv(), GNUNET_STRINGS_fancy_time_to_relative(), GNUNET_STRINGS_fancy_time_to_timestamp(), GNUNET_STRINGS_get_suffix_from_binary_name(), GNUNET_STRINGS_parse_ipv6_policy(), GNUNET_STRINGS_string_to_data(), GNUNET_STRINGS_to_address_ipv6(), GNUNET_STRINGS_utf8_tolower(), GNUNET_STRINGS_utf8_toupper(), GNUNET_TESTBED_reserve_port(), GNUNET_TESTING_get_trait(), GNUNET_TIME_absolute_add(), GNUNET_TIME_absolute_from_ms(), GNUNET_TIME_absolute_from_s(), GNUNET_TIME_absolute_get(), GNUNET_TIME_absolute_get_difference(), GNUNET_TIME_absolute_get_duration(), GNUNET_TIME_absolute_get_remaining(), GNUNET_TIME_absolute_hton(), GNUNET_TIME_absolute_ntoh(), GNUNET_TIME_absolute_round_down(), GNUNET_TIME_absolute_subtract(), GNUNET_TIME_calculate_eta(), GNUNET_TIME_relative_add(), GNUNET_TIME_relative_divide(), GNUNET_TIME_relative_hton(), GNUNET_TIME_relative_multiply(), GNUNET_TIME_relative_ntoh(), GNUNET_TIME_relative_saturating_multiply(), GNUNET_TIME_relative_subtract(), GNUNET_TIME_relative_to_absolute(), GNUNET_TIME_timestamp_from_s(), GNUNET_TIME_year_to_time(), GNUNET_TRANSPORT_TESTING_get_config_name(), GNUNET_TRANSPORT_TESTING_get_test_name(), GNUNET_TRANSPORT_TESTING_get_test_plugin_name(), GNUNET_TRANSPORT_TESTING_main_(), GNUNET_xmalloc_(), GNUNET_xmemdup_(), GSC_KX_encrypt_and_transmit(), handle_create_queue(), handle_dht_p2p_put(), handle_dht_p2p_result(), handle_encrypted_message(), handle_initiator_done(), handle_initiator_hello_cont(), handle_lookup_block(), handle_msg_test(), handle_request_connection_reversal(), handle_responder_hello(), handle_revoke_message(), heap_plugin_get(), helper_mst(), inflate_data(), insert_in_view(), ipv4_to_regex(), ipv6_to_regex(), kwait(), list_callback(), load_cert_from_file(), load_ikm(), load_key_from_file(), load_plugin(), main(), main(), main(), maint_child_death(), make_peer(), make_serialization_file_name(), make_serialization_file_name_in_dir(), make_udp_socket(), messenger_value_to_string(), monitor_iteration_next(), monitor_iteration_next(), my_timegm(), namecache_sqlite_del_block(), namecache_sqlite_lookup_block(), namestore_postgres_drop_tables(), namestore_postgres_store_records(), namestore_sqlite_store_records(), netjail_exec_traits(), nfa_closure_set_create(), nibble_to_regex(), notify_connect(), notify_connect(), notify_connect(), notify_connect(), notify_connect(), notify_connect(), notify_connect(), notify_connect(), notify_connect(), num_to_regex(), ogg_demux_and_decode(), op_get_element(), op_get_element(), open_socket(), os_get_exec_path(), os_get_gnunet_path(), parent_control_handler(), parent_control_handler(), parse_name(), parser_add_address(), pass_plaintext_to_core(), pass_plaintext_to_core(), patch_file_exists(), PEERSTORE_hash_key(), peerstore_sqlite_delete_records(), peerstore_sqlite_iterate_records(), percent_decode_keyword(), port_to_regex(), postgres_plugin_estimate_size(), postgres_plugin_put(), postgres_plugin_put(), postgres_plugin_remove_key(), prepare_daemon(), print_put_message(), process_acl4(), process_acl6(), process_start(), queue(), quit(), quit(), read_cb(), read_external_ipv4(), read_from_file(), receive_ready(), recursive_dns_resolution(), remove_epsilon(), repl_proc(), repl_proc(), reply_to_dns(), resolver_lookup_get_next_label(), result_callback(), resume_client_receive(), rewind_ip_run(), rfn_noncontested(), run(), s2i_full(), safe_dup2(), sb_append(), sb_append_cstr(), sb_printf1(), sb_printf2(), sb_printf3(), sb_realloc(), sb_wrap(), seek_batch(), select_del(), select_read_cb(), send_client_element(), send_initiator_hello(), send_responder_hello(), service_client_recv(), set_external_ipv4(), setup_service(), sigchld_handler(), sockaddr_to_udpaddr_string(), sockaddr_to_udpaddr_string(), sockaddr_to_udpaddr_string(), sqlite_plugin_get_keys(), sqlite_plugin_put(), start_arm_service(), start_peer_run(), start_peer_traits(), start_peer_traits(), start_process(), start_service_traits(), stop_peer_traits(), store_and_free_entries(), store_peer_presistently_iterator(), store_valid_peers(), stun_read_task(), system_create_traits(), test_service_configuration(), timeout_task_cb(), traits(), traits(), translate_dot_plus(), transmit_content(), transmit_ready(), try_open_listening_socket(), uri_chk_parse(), uri_chk_to_string(), uri_ksk_parse(), uri_ksk_to_string(), uri_loc_to_string(), uri_sks_parse(), uri_sks_to_string(), write_data(), write_data(), and write_wav_header().

◆ h

struct GNUNET_ARM_Handle* h
static

Connection with ARM.

Definition at line 98 of file gnunet-arm.c.

Referenced by action_loop(), add_setter_action(), addr_cb(), addr_cb(), cadet_mq_send_impl(), cancel_initiating_connections(), change_service(), clean_node(), connect_peer(), core_mq_send_impl(), crc_init(), create_channel(), create_download_context(), derive_private_key(), deserialization_master(), deserialize_download(), deserialize_download_file(), deserialize_fi_node(), deserialize_file_information(), deserialize_publish_file(), deserialize_search(), deserialize_search_file(), deserialize_unindex_file(), destroy_channel(), disconnect(), disconnect(), disconnect_after_drop(), disconnect_and_free_peer_entry(), disconnect_and_schedule_reconnect(), disconnect_and_schedule_reconnect(), disconnect_on_mq_error(), discovered_socket_cb(), do_accept(), do_close_listening_socket(), do_connect_to_peer(), do_destroy(), do_disconnect(), do_disconnect(), do_disconnect(), do_discover_peers(), do_notify_address_change(), do_notify_connect(), do_open_listening_socket(), encrypt_fair(), env_delete_notify(), extract_array_generic(), find_channel(), find_op(), find_op_by_id(), find_port(), find_qe(), find_qe(), find_zi(), flush_ops(), flush_pending_operations(), force_reconnect(), force_reconnect(), free_ait(), free_ego(), free_it(), free_qe(), free_queue_entry(), free_ze(), full_recursive_download(), GCD_search(), GCD_search_stop(), get_fair_encryption_challenge(), get_op_id(), get_op_id(), get_op_id(), get_queue_head(), get_read_handle(), get_serialization_file_name(), get_serialization_file_name_in_dir(), get_update_information_directory(), get_write_handle(), get_write_handle_in_dir(), GN_start_gnunet_nat_server_(), GN_stop_gnunet_nat_server_(), GNUNET_ARM_connect(), GNUNET_ARM_disconnect(), GNUNET_ARM_monitor_start(), GNUNET_ARM_monitor_stop(), GNUNET_ARM_operation_cancel(), GNUNET_ARM_request_service_list(), GNUNET_ARM_request_service_start(), GNUNET_ARM_request_service_stop(), GNUNET_BIO_flush(), GNUNET_BIO_get_buffer_contents(), GNUNET_BIO_read(), GNUNET_BIO_read_close(), GNUNET_BIO_read_double(), GNUNET_BIO_read_float(), GNUNET_BIO_read_int32(), GNUNET_BIO_read_int64(), GNUNET_BIO_read_open_buffer(), GNUNET_BIO_read_open_file(), GNUNET_BIO_read_set_error(), GNUNET_BIO_read_spec_commit(), GNUNET_BIO_read_string(), GNUNET_BIO_write(), GNUNET_BIO_write_close(), GNUNET_BIO_write_double(), GNUNET_BIO_write_float(), GNUNET_BIO_write_int32(), GNUNET_BIO_write_int64(), GNUNET_BIO_write_open_buffer(), GNUNET_BIO_write_open_file(), GNUNET_BIO_write_spec_commit(), GNUNET_BIO_write_string(), GNUNET_CADET_channel_create(), GNUNET_CADET_channel_destroy(), GNUNET_CADET_connect(), GNUNET_CADET_open_port(), GNUNET_CONFIGURATION_write(), GNUNET_CORE_connect(), GNUNET_CORE_get_mq(), GNUNET_CORE_UNDERLAY_DUMMY_connect(), GNUNET_CRYPTO_ecdsa_private_key_derive(), GNUNET_CRYPTO_eddsa_private_key_derive(), GNUNET_CRYPTO_eddsa_public_key_derive(), GNUNET_CRYPTO_edx25519_private_key_derive(), GNUNET_CRYPTO_edx25519_public_key_derive(), GNUNET_CRYPTO_hash_count_leading_zeros(), GNUNET_CRYPTO_hash_count_tailing_zeros(), GNUNET_DATACACHE_destroy(), GNUNET_DATACACHE_get(), GNUNET_DATACACHE_get_closest(), GNUNET_DATACACHE_put(), GNUNET_DATASTORE_cancel(), GNUNET_DATASTORE_connect(), GNUNET_DATASTORE_disconnect(), GNUNET_DATASTORE_get_for_replication(), GNUNET_DATASTORE_get_key(), GNUNET_DATASTORE_get_zero_anonymity(), GNUNET_DATASTORE_put(), GNUNET_DATASTORE_release_reserve(), GNUNET_DATASTORE_remove(), GNUNET_DATASTORE_reserve(), GNUNET_DISK_file_close(), GNUNET_DISK_file_map(), GNUNET_DISK_file_read(), GNUNET_DISK_file_seek(), GNUNET_DISK_file_sync(), GNUNET_DISK_file_unmap(), GNUNET_DISK_file_write(), GNUNET_DISK_file_write_blocking(), GNUNET_DISK_handle_invalid(), GNUNET_DNSPARSER_hex_to_bin(), GNUNET_FS_dequeue_(), GNUNET_FS_download_start(), GNUNET_FS_download_start_from_search(), GNUNET_FS_end_top(), GNUNET_FS_file_information_create_empty_directory(), GNUNET_FS_file_information_create_from_data(), GNUNET_FS_file_information_create_from_file(), GNUNET_FS_file_information_create_from_reader(), GNUNET_FS_get_indexed_files(), GNUNET_FS_make_top(), GNUNET_FS_namespace_list_updateable(), GNUNET_FS_probe(), GNUNET_FS_publish_ksk(), GNUNET_FS_publish_sks(), GNUNET_FS_publish_start(), GNUNET_FS_queue_(), GNUNET_FS_read_meta_data(), GNUNET_FS_remove_sync_dir_(), GNUNET_FS_remove_sync_file_(), GNUNET_FS_search_make_status_(), GNUNET_FS_search_start(), GNUNET_FS_stop(), GNUNET_FS_stop_probe_ping_task_(), GNUNET_FS_tree_encoder_create(), GNUNET_FS_unindex_start(), GNUNET_FS_write_meta_data(), GNUNET_HELLO_get_expiration_time_from_msg(), GNUNET_HELLO_parser_from_msg_(), GNUNET_HELPER_destroy(), GNUNET_HELPER_kill(), GNUNET_HELPER_send(), GNUNET_HELPER_send_cancel(), GNUNET_HELPER_start(), GNUNET_HELPER_stop(), GNUNET_HELPER_wait(), GNUNET_IDENTITY_connect(), GNUNET_IDENTITY_create(), GNUNET_IDENTITY_delete(), GNUNET_IDENTITY_disconnect(), GNUNET_IDENTITY_rename(), GNUNET_NAMECACHE_block_cache(), GNUNET_NAMECACHE_block_delete(), GNUNET_NAMECACHE_cancel(), GNUNET_NAMECACHE_connect(), GNUNET_NAMECACHE_disconnect(), GNUNET_NAMECACHE_lookup_block(), GNUNET_NAMESTORE_connect(), GNUNET_NAMESTORE_disconnect(), GNUNET_NAMESTORE_record_set_edit_begin(), GNUNET_NAMESTORE_record_set_edit_cancel(), GNUNET_NAMESTORE_record_set_store(), GNUNET_NAMESTORE_records_lookup(), GNUNET_NAMESTORE_records_lookup2(), GNUNET_NAMESTORE_records_store(), GNUNET_NAMESTORE_zone_iteration_start(), GNUNET_NAMESTORE_zone_iteration_start2(), GNUNET_NAMESTORE_zone_iteration_stop(), GNUNET_NAMESTORE_zone_iterator_next(), GNUNET_NAMESTORE_zone_to_name(), GNUNET_NETWORK_fdset_handle_isset(), GNUNET_NETWORK_fdset_handle_set(), GNUNET_NETWORK_fdset_handle_set_first(), GNUNET_NSE_connect(), GNUNET_NSE_disconnect(), GNUNET_PEERSTORE_connect(), GNUNET_PEERSTORE_disconnect(), GNUNET_PEERSTORE_hello_add(), GNUNET_PEERSTORE_iteration_start(), GNUNET_PEERSTORE_store(), GNUNET_PILS_connect(), GNUNET_RECLAIM_attribute_delete(), GNUNET_RECLAIM_attribute_store(), GNUNET_RECLAIM_cancel(), GNUNET_RECLAIM_connect(), GNUNET_RECLAIM_credential_delete(), GNUNET_RECLAIM_credential_store(), GNUNET_RECLAIM_disconnect(), GNUNET_RECLAIM_get_attributes_next(), GNUNET_RECLAIM_get_attributes_start(), GNUNET_RECLAIM_get_attributes_stop(), GNUNET_RECLAIM_get_credentials_next(), GNUNET_RECLAIM_get_credentials_start(), GNUNET_RECLAIM_get_credentials_stop(), GNUNET_RECLAIM_ticket_consume(), GNUNET_RECLAIM_ticket_issue(), GNUNET_RECLAIM_ticket_iteration_next(), GNUNET_RECLAIM_ticket_iteration_start(), GNUNET_RECLAIM_ticket_iteration_stop(), GNUNET_RECLAIM_ticket_revoke(), GNUNET_REVOCATION_revoke(), GNUNET_REVOCATION_revoke_cancel(), GNUNET_RPS_connect(), GNUNET_RPS_disconnect(), GNUNET_RPS_request_cancel(), GNUNET_RPS_request_single_info_cancel(), GNUNET_RPS_seed_ids(), GNUNET_RPS_sub_start(), GNUNET_RPS_sub_stop(), GNUNET_SCALARPRODUCT_accept_computation(), GNUNET_SCALARPRODUCT_cancel(), GNUNET_SCALARPRODUCT_start_computation(), GNUNET_SECRETSHARING_encrypt(), GNUNET_STATISTICS_create(), GNUNET_STATISTICS_destroy(), handle_arm_list_result(), handle_arm_result(), handle_attribute_result(), handle_block_cache_response(), handle_block_delete_response(), handle_channel_created(), handle_channel_destroy(), handle_client_error(), handle_confirm(), handle_connect(), handle_connect_notify(), handle_consume_ticket_result(), handle_credential_result(), handle_data(), handle_data_end(), handle_decaps_result(), handle_disconnect(), handle_disconnect_confirm(), handle_disconnect_notify(), handle_ecdh_result(), handle_edit_record_set_response(), handle_estimate(), handle_generic_response(), handle_identity_result_code(), handle_identity_update(), handle_init_reply(), handle_iterate_end(), handle_iterate_result(), handle_local_ack(), handle_local_data(), handle_lookup_block_response(), handle_lookup_result(), handle_monitor_notify(), handle_mq_error(), handle_mq_error(), handle_notify_inbound(), handle_peer_id(), handle_record_result(), handle_record_result_end(), handle_recv(), handle_response(), handle_revocation_response(), handle_revoke_ticket_result(), handle_send_ok(), handle_send_ready(), handle_sign_result(), handle_statistics_end(), handle_statistics_value(), handle_statistics_watch_value(), handle_status(), handle_store_result(), handle_stream_input(), handle_success_response(), handle_view_update(), handle_zone_to_name_response(), hash_pkey_and_label(), helper_read(), helper_write(), initialize_network_handle(), make_queue_entry(), make_serialization_file_name(), make_serialization_file_name_in_dir(), mq_error_handler(), mq_error_handler(), mq_error_handler(), mq_error_handler(), mq_error_handler(), mq_error_handler(), mq_error_handler(), mq_error_handler(), mq_error_handler(), mq_error_handler(), mq_error_handler(), mq_error_handler(), mq_error_handler(), nat_server_read(), neighbour_find(), notify_running(), notify_starting(), nse_cb(), op_destroy(), op_start(), open_port_cb(), probe_ping_task_cb(), process_job_queue(), process_queue(), process_result_message(), process_status_message(), qconv_array(), read_from_buffer(), read_from_file(), read_spec_handler_int32(), read_spec_handler_int64(), read_spec_handler_meta_data(), read_spec_handler_object(), read_spec_handler_string(), read_update_information_graph(), reconnect(), reconnect(), reconnect(), reconnect(), reconnect(), reconnect(), reconnect(), reconnect(), reconnect(), reconnect(), reconnect(), reconnect_arm(), reconnect_arm_later(), reconnect_arm_monitor(), reconnect_arm_monitor_later(), reconnect_arm_monitor_task(), reconnect_arm_task(), reconnect_cbk(), reconnect_later(), reconnect_later(), reconnect_task(), reconnect_task(), reconnect_task(), reconnect_task(), records_lookup(), regex_cancel_dht_get(), REGEX_INTERNAL_announce(), REGEX_INTERNAL_announce_cancel(), REGEX_INTERNAL_reannounce(), REGEX_INTERNAL_search(), REGEX_INTERNAL_search_cancel(), regex_iterator(), remove_sync_file_in_dir(), reschedule_connect(), restart_nat_server(), restart_task(), reversal_cb(), reversal_cb(), revocation_mq_error_handler(), run(), run(), schedule_action(), schedule_watch_request(), search_start(), send_get(), send_get_known_results(), send_monitor_start(), shutdown_service(), shutdown_task(), sign_accept_block(), socket_set_inheritable(), socket_set_nodelay(), start_arm_service(), start_helper(), start_probe_ping_task(), stop_helper(), t_hmac_derive_key(), transmit_op(), try_again(), try_anat(), try_connect(), try_connect(), try_connect(), try_open_listening_socket(), try_reconnect(), try_reconnect(), update_memory_statistics(), write_spec_handler_int32(), write_spec_handler_int64(), write_spec_handler_meta_data(), write_spec_handler_object(), write_spec_handler_string(), write_to_buffer(), and write_to_file().

◆ m

struct GNUNET_ARM_MonitorHandle* m
static

Monitor connection with ARM.

Definition at line 103 of file gnunet-arm.c.

Referenced by address_to_regex(), check_client_join(), check_encrypted_message(), check_initiator_done(), check_initiator_hello(), check_request_hello_validation(), check_responder_hello(), decrypt_conclude(), deliver_message(), for_matching_monitors(), full_recursive_download(), get_action(), GNUNET_CRYPTO_eddsa_verify_(), GNUNET_CRYPTO_edx25519_verify_(), GNUNET_CRYPTO_paillier_decrypt(), GNUNET_CRYPTO_paillier_encrypt(), GNUNET_CRYPTO_paillier_encrypt1(), GNUNET_CURL_get_select_info(), GNUNET_DATASTORE_get_for_replication(), GNUNET_DATASTORE_get_zero_anonymity(), GNUNET_DHT_monitor_stop(), GNUNET_DISK_file_map(), GNUNET_FS_write_meta_data(), GNUNET_FS_write_spec_meta_data(), GNUNET_memcmp_ct_(), GNUNET_SECRETSHARING_encrypt(), GNUNET_SET_operation_cancel(), GNUNET_SETI_operation_cancel(), GNUNET_SETU_operation_cancel(), GNUNET_TESTING_calculate_num(), GNUNET_TIME_relative_multiply_double(), GNUNET_TRANSPORT_application_suggest_cancel(), GNUNET_TRANSPORT_application_validate(), handle_client_join(), handle_decrypt_done(), handle_encrypted_message(), handle_heartbeat(), handle_init_reply(), handle_request_hello_validation(), handle_secret_ready(), horner_eval(), idx_of(), keygen_round2_conclude(), libgnunet_test_transport_plugin_cmd_udp_backchannel_init(), main(), num_to_regex(), publish_inspector(), put_action(), response_action(), run(), send_monitor_start(), send_to_client_iter(), shutdown_task(), start_testcase(), start_testcase(), start_testcase(), start_testcase(), start_testcase(), start_testcase(), start_testcase(), transmit(), transmit_suggestion(), and write_spec_handler_meta_data().

◆ cfg

struct GNUNET_CONFIGURATION_Handle* cfg
static

Our configuration.

Definition at line 108 of file gnunet-arm.c.

Referenced by arm_is_running(), connect_check_run(), create_internal(), create_subnets(), database_setup(), dht_ca(), dump_os_ipk(), expand_dollar(), find_entry(), find_section(), get_server_addresses(), GN_request_connection_reversal(), GN_start_gnunet_nat_server_(), GNUNET_ABD_connect(), GNUNET_ARM_connect(), GNUNET_ARM_monitor_start(), GNUNET_BLOCK_context_create(), GNUNET_CADET_connect(), GNUNET_CADET_get_channel(), GNUNET_CADET_get_path(), GNUNET_CADET_list_peers(), GNUNET_CADET_list_tunnels(), GNUNET_CLIENT_connect(), GNUNET_CLIENT_test(), GNUNET_CONFIGURATION_append_value_filename(), GNUNET_CONFIGURATION_config_tool_run(), GNUNET_CONFIGURATION_create(), GNUNET_CONFIGURATION_deserialize(), GNUNET_CONFIGURATION_destroy(), GNUNET_CONFIGURATION_dup(), GNUNET_CONFIGURATION_enable_diagnostics(), GNUNET_CONFIGURATION_expand_dollar(), GNUNET_CONFIGURATION_get_data(), GNUNET_CONFIGURATION_get_project_data(), GNUNET_CONFIGURATION_get_suid_binary_path(), GNUNET_CONFIGURATION_get_value_choice(), GNUNET_CONFIGURATION_get_value_filename(), GNUNET_CONFIGURATION_get_value_float(), GNUNET_CONFIGURATION_get_value_number(), GNUNET_CONFIGURATION_get_value_size(), GNUNET_CONFIGURATION_get_value_string(), GNUNET_CONFIGURATION_get_value_time(), GNUNET_CONFIGURATION_get_value_yesno(), GNUNET_CONFIGURATION_have_value(), GNUNET_CONFIGURATION_is_dirty(), GNUNET_CONFIGURATION_iterate(), GNUNET_CONFIGURATION_iterate_section_values(), GNUNET_CONFIGURATION_iterate_sections(), GNUNET_CONFIGURATION_iterate_value_filenames(), GNUNET_CONFIGURATION_load(), GNUNET_CONFIGURATION_load_from(), GNUNET_CONFIGURATION_parse(), GNUNET_CONFIGURATION_parse_and_run(), GNUNET_CONFIGURATION_remove_section(), GNUNET_CONFIGURATION_remove_value_filename(), GNUNET_CONFIGURATION_serialize(), GNUNET_CONFIGURATION_serialize_diagnostics(), GNUNET_CONFIGURATION_set_value_float(), GNUNET_CONFIGURATION_set_value_number(), GNUNET_CONFIGURATION_set_value_string(), GNUNET_CONFIGURATION_write(), GNUNET_CONSENSUS_create(), GNUNET_CONVERSATION_call_start(), GNUNET_CONVERSATION_phone_create(), GNUNET_CORE_connect(), GNUNET_CORE_monitor_start(), GNUNET_CRYPTO_blinded_key_sign_by_peer_identity(), GNUNET_CRYPTO_eddsa_key_create_from_configuration(), GNUNET_CRYPTO_get_peer_identity(), GNUNET_DAEMON_main(), GNUNET_DATACACHE_create(), GNUNET_DATASTORE_connect(), GNUNET_DHT_connect(), GNUNET_DNS_connect(), GNUNET_FS_start(), GNUNET_GNS_connect(), GNUNET_IDENTITY_connect(), GNUNET_IDENTITY_ego_lookup(), GNUNET_IDENTITY_ego_lookup_by_suffix(), GNUNET_MESSENGER_connect(), GNUNET_MICROPHONE_create_from_hardware(), GNUNET_NAMECACHE_connect(), GNUNET_NAMESTORE_connect(), GNUNET_NAMESTORE_zone_monitor_start(), GNUNET_NAMESTORE_zone_monitor_start2(), GNUNET_NAT_AUTO_autoconfig_start(), GNUNET_NAT_AUTO_test_start(), GNUNET_NAT_autoconfig_start(), GNUNET_NAT_register(), GNUNET_NAT_test_start(), GNUNET_NSE_connect(), GNUNET_PEERSTORE_connect(), GNUNET_PEERSTORE_monitor_start(), GNUNET_PILS_connect(), GNUNET_PILS_create_key_ring(), GNUNET_PQ_init(), GNUNET_PROGRAM_conf_and_options(), GNUNET_PROGRAM_monolith_main(), GNUNET_PROGRAM_run2(), GNUNET_RECLAIM_connect(), GNUNET_REGEX_announce(), GNUNET_REGEX_search(), GNUNET_RESOLVER_connect(), GNUNET_REVOCATION_query(), GNUNET_REVOCATION_revoke(), GNUNET_RPS_connect(), GNUNET_SCALARPRODUCT_accept_computation(), GNUNET_SCALARPRODUCT_start_computation(), GNUNET_SECRETSHARING_create_session(), GNUNET_SECRETSHARING_decrypt(), GNUNET_SERVICE_main(), GNUNET_SERVICE_run_(), GNUNET_SERVICE_start(), GNUNET_SET_create(), GNUNET_SET_listen(), GNUNET_SETI_create(), GNUNET_SETI_listen(), GNUNET_SETU_create(), GNUNET_SETU_listen(), GNUNET_SOCKS_check_service(), GNUNET_SOCKS_do_connect(), GNUNET_SPEAKER_create_from_hardware(), GNUNET_SPEEDUP_start_(), GNUNET_STATISTICS_create(), GNUNET_TESTBED_configuration_create(), GNUNET_TESTING_get_topo_from_string_(), GNUNET_TIME_absolute_get_monotonic(), GNUNET_TRANSPORT_application_init(), GNUNET_TRANSPORT_communicator_connect(), GNUNET_TRANSPORT_links_list(), GNUNET_TRANSPORT_monitor(), GNUNET_VPN_connect(), handle_auto_result(), handle_inline(), handle_uri(), init_cb(), launch_daemons(), launch_registered_services(), libgnunet_plugin_block_consensus_init(), libgnunet_plugin_block_revocation_init(), libgnunet_plugin_namecache_flat_init(), libgnunet_plugin_namecache_postgres_init(), libgnunet_plugin_namecache_sqlite_init(), libgnunet_plugin_namestore_flat_init(), libgnunet_plugin_namestore_postgres_init(), libgnunet_plugin_namestore_sqlite_init(), libgnunet_plugin_peerstore_sqlite_init(), load_member(), load_member_session(), load_member_session_next(), load_operation(), main(), main_task(), print_filename_option(), purge_cfg_dir(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), run(), save_member(), save_member_session(), save_operation(), send_create(), set_entry_hint(), shutdown_task(), test_service_configuration(), and try_unixpath().

◆ phase

unsigned int phase
static

Processing stage that we are in.

Simple counter.

Definition at line 113 of file gnunet-arm.c.

Referenced by action_loop(), check_valid_phase(), main(), and phasename().

◆ timeout

◆ timeout_task

struct GNUNET_SCHEDULER_Task* timeout_task
static

Task to be run on timeout.

Definition at line 123 of file gnunet-arm.c.

Referenced by iter_finished(), run(), run(), run(), run(), shutdown_task(), test_master(), and timeout_task_cb().

◆ no_stdout

int no_stdout
static

Do we want to give our stdout to gnunet-service-arm?

Definition at line 128 of file gnunet-arm.c.

Referenced by action_loop(), and main().

◆ no_stderr

int no_stderr
static

Do we want to give our stderr to gnunet-service-arm?

Definition at line 133 of file gnunet-arm.c.

Referenced by action_loop(), and main().

◆ al_task

struct GNUNET_SCHEDULER_Task* al_task
static

Handle for the task running the action_loop().

Definition at line 138 of file gnunet-arm.c.

Referenced by action_loop(), init_callback(), list_callback(), run(), shutdown_task(), start_callback(), stop_callback(), and term_callback().

◆ op

struct GNUNET_ARM_Operation* op
static

Current operation.

Definition at line 143 of file gnunet-arm.c.

Referenced by _GSS_is_element_of_operation(), _GSS_is_element_of_operation(), _GSS_is_element_of_operation(), _GSS_operation_destroy(), _GSS_operation_destroy(), _GSS_operation_destroy(), _GSS_operation_destroy2(), _GSS_operation_destroy2(), _GSS_operation_destroy2(), action_loop(), begin_bf_exchange(), begin_bf_exchange(), bind_loose_channel(), callback_operation(), callback_scan_for_operations(), cancel_store_operation(), cb_sign_result(), change_service(), channel_end_cb(), channel_end_cb(), channel_end_cb(), channel_new_cb(), channel_new_cb(), channel_new_cb(), check_byzantine_bounds(), check_incoming_msg(), check_incoming_msg(), check_incoming_msg(), check_intersection_p2p_bf(), check_intersection_p2p_bf(), check_max_differential_rounds(), check_union_p2p_demand(), check_union_p2p_demand(), check_union_p2p_elements(), check_union_p2p_elements(), check_union_p2p_full_element(), check_union_p2p_full_element(), check_union_p2p_ibf(), check_union_p2p_ibf(), check_union_p2p_inquiry(), check_union_p2p_inquiry(), check_union_p2p_offer(), check_union_p2p_offer(), check_union_p2p_strata_estimator(), check_union_p2p_strata_estimator(), check_valid_phase(), check_vectors(), cleanup_helper_operation(), client_disconnect_cb(), client_disconnect_cb(), client_disconnect_cb(), client_release_ports(), collect_generation_garbage(), create_finished(), create_internal(), create_operation(), create_randomized_element_iterator(), decode_and_send(), decode_and_send(), delayed_put(), delete_finished(), destroy_operation(), determinate_avg_element_size_iterator(), dht_connect_cb(), dht_connected(), do_shutdown(), fail_intersection_operation(), fail_intersection_operation(), fail_union_operation(), fail_union_operation(), filter_all(), filter_all(), filtered_map_initialization(), filtered_map_initialization(), find_op(), finished_local_operations(), finished_local_operations(), flush_ops(), free_op(), full_sync_plausibility_check(), GCCH_channel_incoming_new(), GCCH_channel_local_new(), GDS_helper_cleanup_operations(), GDS_helper_sign_path(), get_incoming(), get_incoming(), get_incoming(), get_store_operation_type(), GNUNET_ARM_disconnect(), GNUNET_ARM_operation_cancel(), GNUNET_ARM_request_service_list(), GNUNET_ARM_request_service_start(), GNUNET_ARM_request_service_stop(), GNUNET_IDENTITY_cancel(), GNUNET_IDENTITY_create(), GNUNET_IDENTITY_delete(), GNUNET_IDENTITY_disconnect(), GNUNET_IDENTITY_rename(), GNUNET_PILS_cancel(), GNUNET_PILS_disconnect(), GNUNET_PILS_ecdh(), GNUNET_PILS_kem_decaps(), GNUNET_PILS_sign_by_peer_identity(), GNUNET_RECLAIM_attribute_delete(), GNUNET_RECLAIM_attribute_store(), GNUNET_RECLAIM_cancel(), GNUNET_RECLAIM_credential_delete(), GNUNET_RECLAIM_credential_store(), GNUNET_RECLAIM_ticket_consume(), GNUNET_RECLAIM_ticket_issue(), GNUNET_RECLAIM_ticket_revoke(), GNUNET_SET_create(), handle_arm_list_result(), handle_arm_result(), handle_attribute_result(), handle_client_accept(), handle_client_accept(), handle_client_accept(), handle_client_cancel(), handle_client_cancel(), handle_client_cancel(), handle_client_evaluate(), handle_client_evaluate(), handle_client_evaluate(), handle_client_reject(), handle_client_reject(), handle_client_reject(), handle_consume_ticket_result(), handle_credential_result(), handle_decaps_result(), handle_ecdh_result(), handle_identity_result_code(), handle_incoming_msg(), handle_incoming_msg(), handle_incoming_msg(), handle_intersection_p2p_bf(), handle_intersection_p2p_bf(), handle_intersection_p2p_done(), handle_intersection_p2p_done(), handle_intersection_p2p_element_info(), handle_intersection_p2p_element_info(), handle_port_close(), handle_port_open(), handle_revoke_ticket_result(), handle_sign_result(), handle_success_response(), handle_ticket_result(), handle_union_p2p_demand(), handle_union_p2p_demand(), handle_union_p2p_done(), handle_union_p2p_done(), handle_union_p2p_elements(), handle_union_p2p_elements(), handle_union_p2p_full_done(), handle_union_p2p_full_done(), handle_union_p2p_full_element(), handle_union_p2p_full_element(), handle_union_p2p_ibf(), handle_union_p2p_ibf(), handle_union_p2p_inquiry(), handle_union_p2p_inquiry(), handle_union_p2p_offer(), handle_union_p2p_offer(), handle_union_p2p_request_full(), handle_union_p2p_request_full(), handle_union_p2p_send_full(), handle_union_p2p_strata_estimator(), handle_union_p2p_strata_estimator(), incoming_destroy(), incoming_destroy(), incoming_destroy(), incoming_timeout_cb(), incoming_timeout_cb(), incoming_timeout_cb(), init_callback(), init_key_to_element_iterator(), init_key_to_element_iterator(), initialize_key_to_element(), initialize_key_to_element(), initialize_map_unfiltered(), initialize_map_unfiltered(), intersection_accept(), intersection_channel_death(), intersection_evaluate(), intersection_op_cancel(), iterate_destroy_operations(), iterate_save_operations(), iterator_bf_create(), iterator_bf_create(), iterator_bf_reduce(), iterator_bf_reduce(), list_callback(), load_operation(), maybe_finish(), maybe_finish(), mq_error_handler(), needs_parens(), needs_parentheses(), notify_running(), notify_starting(), ogg_demux_and_decode(), ogg_init(), op_destroy(), op_get_element(), op_get_element(), op_register_element(), op_register_element(), op_start(), packetizer(), prepare_ibf(), prepare_ibf(), prepare_ibf_iterator(), prepare_ibf_iterator(), process_bf(), process_bf(), process_header(), reconnect(), reconnect_arm_later(), remove_parentheses(), reschedule_connect(), save_operation(), send_bloomfilter(), send_bloomfilter(), send_client_done(), send_client_done(), send_client_done_and_destroy(), send_client_done_and_destroy(), send_client_element(), send_client_element(), send_client_removed_element(), send_client_removed_element(), send_element_count(), send_element_count(), send_full_element_iterator(), send_full_element_iterator(), send_full_set(), send_full_set(), send_ibf(), send_ibf(), send_missing_full_elements_iter(), send_missing_full_elements_iter(), send_offers_for_key(), send_offers_for_key(), send_offers_iterator(), send_offers_iterator(), send_p2p_done(), send_p2p_done(), send_remaining_elements(), send_remaining_elements(), service_connect_comp(), shutdown_task(), start_callback(), start_operation(), stop_callback(), stop_operation(), term_callback(), transmit_op(), union_accept(), union_channel_death(), union_evaluate(), union_op_cancel(), and use_store_operation().