tighten formatting rules
[oweals/gnunet.git] / src / template / gnunet-template.c
1 /*
2      This file is part of GNUnet.
3      Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2009 GNUnet e.V.
4
5      GNUnet is free software: you can redistribute it and/or modify it
6      under the terms of the GNU Affero General Public License as published
7      by the Free Software Foundation, either version 3 of the License,
8      or (at your option) any later version.
9
10      GNUnet is distributed in the hope that it will be useful, but
11      WITHOUT ANY WARRANTY; without even the implied warranty of
12      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13      Affero General Public License for more details.
14
15      You should have received a copy of the GNU Affero General Public License
16      along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18      SPDX-License-Identifier: AGPL3.0-or-later
19  */
20
21 /**
22  * @file template/gnunet-template.c
23  * @brief template for writing a tool
24  * @author Christian Grothoff
25  */
26 #include "platform.h"
27 #include "gnunet_util_lib.h"
28 /* #include "gnunet_template_service.h" */
29
30 /**
31  * Final status code.
32  */
33 static int ret;
34
35
36 /**
37  * Main function that will be run by the scheduler.
38  *
39  * @param cls closure
40  * @param args remaining command-line arguments
41  * @param cfgfile name of the configuration file used (for saving, can be NULL!)
42  * @param cfg configuration
43  */
44 static void
45 run (void *cls,
46      char *const *args,
47      const char *cfgfile,
48      const struct GNUNET_CONFIGURATION_Handle *cfg)
49 {
50   /* main code here */
51 }
52
53
54 /**
55  * The main function.
56  *
57  * @param argc number of arguments from the command line
58  * @param argv command line arguments
59  * @return 0 ok, 1 on error
60  */
61 int
62 main (int argc, char *const *argv)
63 {
64   static const struct GNUNET_GETOPT_CommandLineOption options[] = {
65     /* FIMXE: add options here */
66     GNUNET_GETOPT_OPTION_END
67   };
68
69   if (GNUNET_OK != GNUNET_STRINGS_get_utf8_args (argc, argv, &argc, &argv))
70     return 2;
71
72   ret = (GNUNET_OK == GNUNET_PROGRAM_run (argc,
73                                           argv,
74                                           "gnunet-template",
75                                           gettext_noop ("help text"),
76                                           options,
77                                           &run,
78                                           NULL))
79         ? ret
80         : 1;
81   GNUNET_free ((void *) argv);
82   return ret;
83 }
84
85
86 /* end of gnunet-template.c */