paragraph for gnunet devs that don't know how to use the web
[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
19 /**
20  * @file template/gnunet-template.c
21  * @brief template for writing a tool
22  * @author Christian Grothoff
23  */
24 #include "platform.h"
25 #include "gnunet_util_lib.h"
26 /* #include "gnunet_template_service.h" */
27
28 /**
29  * Final status code.
30  */
31 static int ret;
32
33
34 /**
35  * Main function that will be run by the scheduler.
36  *
37  * @param cls closure
38  * @param args remaining command-line arguments
39  * @param cfgfile name of the configuration file used (for saving, can be NULL!)
40  * @param cfg configuration
41  */
42 static void
43 run (void *cls,
44      char *const *args,
45      const char *cfgfile,
46      const struct GNUNET_CONFIGURATION_Handle *cfg)
47 {
48   /* main code here */
49 }
50
51
52 /**
53  * The main function.
54  *
55  * @param argc number of arguments from the command line
56  * @param argv command line arguments
57  * @return 0 ok, 1 on error
58  */
59 int
60 main (int argc, char *const *argv)
61 {
62   static const struct GNUNET_GETOPT_CommandLineOption options[] = {
63     /* FIMXE: add options here */
64     GNUNET_GETOPT_OPTION_END
65   };
66   if (GNUNET_OK !=
67       GNUNET_STRINGS_get_utf8_args (argc, argv,
68                                     &argc, &argv))
69     return 2;
70
71   ret = (GNUNET_OK ==
72          GNUNET_PROGRAM_run (argc, argv,
73                              "gnunet-template",
74                              gettext_noop ("help text"),
75                              options,
76                              &run,
77                              NULL)) ? ret : 1;
78   GNUNET_free ((void*) argv);
79   return ret;
80 }
81
82 /* end of gnunet-template.c */