This file is part of GNUnet.
Copyright (C) 2009, 2012, 2013 GNUnet e.V.
- GNUnet is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3, or (at your
- option) any later version.
+ GNUnet is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
GNUnet is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
+ Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
- You should have received a copy of the GNU General Public License
- along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
+ SPDX-License-Identifier: AGPL3.0-or-later
*/
/**
/**
* Set to the name of the config file used.
*/
-static const char *config_file;
+static char *config_file;
/**
* Set to the directory where runtime files are stored.
/**
* Do we want to give our stdout to gnunet-service-arm?
*/
-static unsigned int no_stdout;
+static int no_stdout;
/**
* Do we want to give our stderr to gnunet-service-arm?
*/
-static unsigned int no_stderr;
+static int no_stderr;
/**
* Handle for the task running the #action_loop().
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Will attempt to remove configuration file %s and service directory %s\n",
- config_file, dir);
-
+ config_file,
+ dir);
if (0 != UNLINK (config_file))
{
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
_("Failed to remove servicehome directory %s\n"),
dir);
-
}
}
static void
shutdown_task (void *cls)
{
+ (void) cls;
if (NULL != al_task)
{
GNUNET_SCHEDULER_cancel (al_task);
{
static int once;
+ (void) cls;
if ( (GNUNET_SYSERR == connected) &&
(0 == once) )
{
enum GNUNET_ARM_RequestStatus rs,
enum GNUNET_ARM_Result result)
{
+ (void) cls;
op = NULL;
if (GNUNET_ARM_REQUEST_SENT_OK != rs)
{
{
char *msg;
+ (void) cls;
op = NULL;
if (GNUNET_ARM_REQUEST_SENT_OK != rs)
{
enum GNUNET_ARM_RequestStatus rs,
enum GNUNET_ARM_Result result)
{
+ (void) cls;
op = NULL;
if (GNUNET_ARM_REQUEST_SENT_OK != rs)
{
{
char *msg;
+ (void) cls;
op = NULL;
if (GNUNET_ARM_REQUEST_SENT_OK != rs)
{
{
unsigned int i;
+ (void) cls;
op = NULL;
if (GNUNET_ARM_REQUEST_SENT_OK != rs)
{
static void
action_loop (void *cls)
{
+ (void) cls;
al_task = NULL;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Running requested actions\n");
{
const char *msg;
+ (void) cls;
switch (status)
{
case GNUNET_ARM_SERVICE_MONITORING_STARTED:
static void
timeout_task_cb (void *cls)
{
+ (void) cls;
timeout_task = NULL;
ret = 2;
GNUNET_SCHEDULER_shutdown ();
const char *cfgfile,
const struct GNUNET_CONFIGURATION_Handle *c)
{
- char *armconfig;
-
+ (void) cls;
+ (void) args;
+ (void) cfgfile;
cfg = GNUNET_CONFIGURATION_dup (c);
- config_file = cfgfile;
if (GNUNET_OK !=
GNUNET_CONFIGURATION_get_value_string (cfg,
"PATHS",
"GNUNET_HOME");
return;
}
- if (NULL != cfgfile)
- {
- if (GNUNET_OK !=
- GNUNET_CONFIGURATION_get_value_filename (cfg,
- "arm",
- "CONFIG",
- &armconfig))
- {
- GNUNET_CONFIGURATION_set_value_string (cfg,
- "arm",
- "CONFIG",
- cfgfile);
- }
- else
- GNUNET_free (armconfig);
- }
+ (void) GNUNET_CONFIGURATION_get_value_filename (cfg,
+ "arm",
+ "CONFIG",
+ &config_file);
if (NULL == (h = GNUNET_ARM_connect (cfg,
&conn_status,
NULL)))
return;
if (monitor)
m = GNUNET_ARM_monitor_start (cfg,
- &srv_status,
- NULL);
+ &srv_status,
+ NULL);
al_task = GNUNET_SCHEDULER_add_now (&action_loop,
NULL);
GNUNET_SCHEDULER_add_shutdown (&shutdown_task,
* @return 0 ok, 1 on error, 2 on timeout
*/
int
-main (int argc, char *const *argv)
+main (int argc,
+ char *const *argv)
{
- static const struct GNUNET_GETOPT_CommandLineOption options[] = {
- {'e', "end", NULL, gettext_noop ("stop all GNUnet services"),
- GNUNET_NO, &GNUNET_GETOPT_set_one, &end},
- {'i', "init", "SERVICE", gettext_noop ("start a particular service"),
- GNUNET_YES, &GNUNET_GETOPT_set_string, &init},
- {'k', "kill", "SERVICE", gettext_noop ("stop a particular service"),
- GNUNET_YES, &GNUNET_GETOPT_set_string, &term},
- {'s', "start", NULL, gettext_noop ("start all GNUnet default services"),
- GNUNET_NO, &GNUNET_GETOPT_set_one, &start},
- {'r', "restart", NULL,
- gettext_noop ("stop and start all GNUnet default services"),
- GNUNET_NO, &GNUNET_GETOPT_set_one, &restart},
- {'d', "delete", NULL,
- gettext_noop ("delete config file and directory on exit"),
- GNUNET_NO, &GNUNET_GETOPT_set_one, &delete},
- {'m', "monitor", NULL,
- gettext_noop ("monitor ARM activities"),
- GNUNET_NO, &GNUNET_GETOPT_set_one, &monitor},
- {'q', "quiet", NULL, gettext_noop ("don't print status messages"),
- GNUNET_NO, &GNUNET_GETOPT_set_one, &quiet},
- {'T', "timeout", "DELAY",
- gettext_noop ("exit with error status if operation does not finish after DELAY"),
- GNUNET_YES, &GNUNET_GETOPT_set_relative_time, &timeout},
- {'I', "info", NULL, gettext_noop ("list currently running services"),
- GNUNET_NO, &GNUNET_GETOPT_set_one, &list},
- {'O', "no-stdout", NULL, gettext_noop ("don't let gnunet-service-arm inherit standard output"),
- GNUNET_NO, &GNUNET_GETOPT_set_one, &no_stdout},
- {'E', "no-stderr", NULL, gettext_noop ("don't let gnunet-service-arm inherit standard error"),
- GNUNET_NO, &GNUNET_GETOPT_set_one, &no_stderr},
+ struct GNUNET_GETOPT_CommandLineOption options[] = {
+ GNUNET_GETOPT_option_flag ('e',
+ "end",
+ gettext_noop ("stop all GNUnet services"),
+ &end),
+ GNUNET_GETOPT_option_string ('i',
+ "init",
+ "SERVICE",
+ gettext_noop ("start a particular service"),
+ &init),
+ GNUNET_GETOPT_option_string ('k',
+ "kill",
+ "SERVICE",
+ gettext_noop ("stop a particular service"),
+ &term),
+ GNUNET_GETOPT_option_flag ('s',
+ "start",
+ gettext_noop ("start all GNUnet default services"),
+ &start),
+ GNUNET_GETOPT_option_flag ('r',
+ "restart",
+ gettext_noop ("stop and start all GNUnet default services"),
+ &restart),
+ GNUNET_GETOPT_option_flag ('d',
+ "delete",
+ gettext_noop ("delete config file and directory on exit"),
+ &delete),
+ GNUNET_GETOPT_option_flag ('m',
+ "monitor",
+ gettext_noop ("monitor ARM activities"),
+ &monitor),
+ GNUNET_GETOPT_option_flag ('q',
+ "quiet",
+ gettext_noop ("don't print status messages"),
+ &quiet),
+ GNUNET_GETOPT_option_relative_time ('T',
+ "timeout",
+ "DELAY",
+ gettext_noop ("exit with error status if operation does not finish after DELAY"),
+ &timeout),
+ GNUNET_GETOPT_option_flag ('I',
+ "info",
+ gettext_noop ("list currently running services"),
+ &list),
+ GNUNET_GETOPT_option_flag ('O',
+ "no-stdout",
+ gettext_noop ("don't let gnunet-service-arm inherit standard output"),
+ &no_stdout),
+ GNUNET_GETOPT_option_flag ('E',
+ "no-stderr",
+ gettext_noop ("don't let gnunet-service-arm inherit standard error"),
+ &no_stderr),
GNUNET_GETOPT_OPTION_END
};
- if (GNUNET_OK != GNUNET_STRINGS_get_utf8_args (argc, argv,
- &argc, &argv))
+ if (GNUNET_OK !=
+ GNUNET_STRINGS_get_utf8_args (argc, argv,
+ &argc, &argv))
return 2;
if (GNUNET_OK ==
- GNUNET_PROGRAM_run (argc, argv, "gnunet-arm",
+ GNUNET_PROGRAM_run (argc,
+ argv,
+ "gnunet-arm",
gettext_noop
("Control services and the Automated Restart Manager (ARM)"),
- options, &run, NULL))
+ options,
+ &run, NULL))
{
GNUNET_free ((void *) argv);
return ret;