initial load of upstream version 1.06.32
[xmlrpc-c] / lib / util / include / cmdline_parser.h
1 #ifndef CMDLINE_PARSER_H
2 #define CMDLINE_PARSER_H
3
4
5 /*
6
7    NOTE NOTE NOTE: cmd_getOptionValueString() and
8    cmd_getArgument() return malloc'ed memory (and abort the program if
9    out of memory).  You must free it.
10
11 */
12
13 enum optiontype {OPTTYPE_FLAG, OPTTYPE_INT, OPTTYPE_UINT, OPTTYPE_STRING};
14
15 struct cmdlineParserCtl;
16
17 typedef struct cmdlineParserCtl * cmdlineParser;
18
19 void
20 cmd_processOptions(cmdlineParser   const cpP,
21                    int             const argc,
22                    const char **   const argv, 
23                    const char **   const errorP);
24
25 cmdlineParser
26 cmd_createOptionParser(void);
27
28 void
29 cmd_destroyOptionParser(cmdlineParser const cpP);
30
31 void
32 cmd_defineOption(cmdlineParser   const cpP,
33                  const char *    const name, 
34                  enum optiontype const type);
35     
36 int
37 cmd_optionIsPresent(cmdlineParser const cpP,
38                     const char *  const name);
39
40 unsigned int
41 cmd_getOptionValueUint(cmdlineParser const cpP,
42                        const char *  const name);
43
44 int
45 cmd_getOptionValueInt(cmdlineParser const cpP,
46                       const char *  const name);
47
48 const char *
49 cmd_getOptionValueString(cmdlineParser const cpP,
50                          const char *  const name);
51
52 unsigned int 
53 cmd_argumentCount(cmdlineParser const cpP);
54
55 const char * 
56 cmd_getArgument(cmdlineParser const cpP, 
57                 unsigned int  const argNumber); 
58
59 #endif