summaryrefslogtreecommitdiff
path: root/support/popt-gnome.h
diff options
context:
space:
mode:
authorErik Troan <ewt@src.gnome.org>1997-01-17 00:24:36 +0000
committerErik Troan <ewt@src.gnome.org>1997-01-17 00:24:36 +0000
commita0a678e03978fa4eb122470c980c60fdd5cc0411 (patch)
tree2280410c23129bbc502745f0964210acc028cd07 /support/popt-gnome.h
downloadgnome-common-a0a678e03978fa4eb122470c980c60fdd5cc0411.tar.gz
Initial revision
svn path=/trunk/; revision=2
Diffstat (limited to 'support/popt-gnome.h')
-rw-r--r--support/popt-gnome.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/support/popt-gnome.h b/support/popt-gnome.h
new file mode 100644
index 0000000..831974a
--- /dev/null
+++ b/support/popt-gnome.h
@@ -0,0 +1,49 @@
+#ifndef H_POPT
+#define H_POPT
+
+#define POPT_OPTION_DEPTH 10
+
+#define POPT_ARG_NONE 0
+#define POPT_ARG_YES 1
+
+#define POPT_ERROR_NOARG -10
+#define POPT_ERROR_BADOPT -11
+#define POPT_ERROR_BADALIAS -12
+#define POPT_ERROR_OPTSTOODEEP -13
+#define POPT_ERROR_UNEXPARG -14
+#define POPT_ERROR_BADQUOTE -15 /* only from poptParseArgString() */
+
+struct poptOption {
+ const char * longName; /* may be NULL */
+ char shortName; /* may be '\0' */
+ int takesArg;
+ int *flag; /* may be NULL */
+ int val; /* 0 means don't return, just update flag */
+};
+
+struct poptAlias {
+ const char * longName;
+ int argc;
+ char ** argv;
+};
+
+typedef struct poptContext_s * poptContext;
+
+poptContext poptGetContext(char * name, int argc, char ** argv,
+ struct poptOption * options, int flags);
+
+/* returns 'val' element, -1 on last item, POPT_ERROR_* on error */
+int poptGetNextOpt(poptContext con);
+/* returns NULL if no argument is available */
+char * poptGetOptArg(poptContext con);
+/* returns NULL if no more options are available */
+char * poptGetArg(poptContext con);
+char * poptPeekArg(poptContext con);
+char ** poptGetArgs(poptContext con);
+void poptFreeContext(poptContext con);
+int poptAddAlias(poptContext con, struct poptAlias alias);
+/* argv should be freed -- this allows ', ", and \ quoting, but ' is treated
+ the same as " and both may include \ quotes */
+int poptParseArgvString(char * s, int * argcPtr, char *** argvPtr);
+
+#endif