2 * Include file with captive_options definition of libcaptive
3 * Copyright (C) 2003 Jan Kratochvil <project-captive@jankratochvil.net>
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; exactly version 2 of June 1991 is required
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 #ifndef _CAPTIVE_CLIENT_OPTIONS_H
21 #define _CAPTIVE_CLIENT_OPTIONS_H 1
24 #include <glib/gtypes.h>
25 #include <glib/giochannel.h>
27 #include <glib/glist.h>
28 #include "captive/options-module.h"
33 extern const struct poptOption captive_popt[];
34 #define CAPTIVE_POPT_INCLUDE \
35 { NULL,'\0',POPT_ARG_INCLUDE_TABLE,(struct poptOption *)&captive_popt,0,"Captive" }
38 enum captive_option_rwmode {
39 CAPTIVE_OPTION_RWMODE_RO,
40 CAPTIVE_OPTION_RWMODE_BLIND,
41 CAPTIVE_OPTION_RWMODE_RW,
44 enum captive_option_rwmode captive_option_rwmode_t;
46 enum captive_option_media {
47 CAPTIVE_OPTION_MEDIA_UNKNOWN,
48 CAPTIVE_OPTION_MEDIA_CDROM,
49 CAPTIVE_OPTION_MEDIA_DISK,
52 struct captive_options {
53 struct captive_options_module filesystem;
54 enum captive_option_rwmode rwmode;
55 enum captive_option_media media;
56 gboolean debug_messages;
57 GIOChannel *image_iochannel;
58 GList *load_module; /* of 'struct captive_options_module *' */
60 char **sandbox_server_argv;
61 gchar *sandbox_server_ior;
63 int syslog_facility; /* LOG_*; -1 if not used */
69 * Current options set in one CORBA sandboxed child.
70 * It is also set when run in non-CORBA debugging mode.
71 * Set to %NULL in the CORBA master process.
73 extern struct captive_options *captive_options;
75 /* Functions handle just the fields, not the structure itself. */
76 void captive_options_init(struct captive_options *options);
77 void captive_options_copy(struct captive_options *dest,const struct captive_options *src);
78 void captive_options_free(struct captive_options *options);
79 gboolean captive_options_parse(struct captive_options *options,const gchar *captive_args);
84 #endif /* _CAPTIVE_CLIENT_OPTIONS_H */