Mercurial > mplayer.hg
annotate cfgparser.h @ 1543:228bb6a3e76d
UnregisterComClass added
author | arpi |
---|---|
date | Thu, 16 Aug 2001 00:43:28 +0000 |
parents | e89233dab4da |
children | 13aeaa05ac5e |
rev | line source |
---|---|
147 | 1 /* |
2 * command line and config file parser | |
3 */ | |
4 | |
5 #ifndef __CONFIG_H | |
6 #define __CONFIG_H | |
7 | |
8 #define CONF_TYPE_FLAG 0 | |
9 #define CONF_TYPE_INT 1 | |
10 #define CONF_TYPE_FLOAT 2 | |
11 #define CONF_TYPE_STRING 3 | |
150 | 12 #define CONF_TYPE_FUNC 4 |
151 | 13 #define CONF_TYPE_FUNC_PARAM 5 |
152 | 14 #define CONF_TYPE_PRINT 6 |
1536
e89233dab4da
New feature for option processing: CONF_TYPE_FUNC_FULL
folke
parents:
153
diff
changeset
|
15 #define CONF_TYPE_FUNC_FULL 7 |
e89233dab4da
New feature for option processing: CONF_TYPE_FUNC_FULL
folke
parents:
153
diff
changeset
|
16 |
e89233dab4da
New feature for option processing: CONF_TYPE_FUNC_FULL
folke
parents:
153
diff
changeset
|
17 |
e89233dab4da
New feature for option processing: CONF_TYPE_FUNC_FULL
folke
parents:
153
diff
changeset
|
18 #define ERR_NOT_AN_OPTION -1 |
e89233dab4da
New feature for option processing: CONF_TYPE_FUNC_FULL
folke
parents:
153
diff
changeset
|
19 #define ERR_MISSING_PARAM -2 |
e89233dab4da
New feature for option processing: CONF_TYPE_FUNC_FULL
folke
parents:
153
diff
changeset
|
20 #define ERR_OUT_OF_RANGE -3 |
e89233dab4da
New feature for option processing: CONF_TYPE_FUNC_FULL
folke
parents:
153
diff
changeset
|
21 #define ERR_FUNC_ERR -4 |
e89233dab4da
New feature for option processing: CONF_TYPE_FUNC_FULL
folke
parents:
153
diff
changeset
|
22 |
e89233dab4da
New feature for option processing: CONF_TYPE_FUNC_FULL
folke
parents:
153
diff
changeset
|
23 |
147 | 24 |
153 | 25 #define CONF_MIN (1<<0) |
26 #define CONF_MAX (1<<1) | |
27 #define CONF_RANGE (CONF_MIN|CONF_MAX) | |
151 | 28 #define CONF_NOCFG (1<<2) |
29 #define CONF_NOCMD (1<<3) | |
147 | 30 |
31 struct config { | |
32 char *name; | |
33 void *p; | |
150 | 34 unsigned int type :3; |
151 | 35 unsigned int flags:4; |
147 | 36 float min,max; |
37 }; | |
38 | |
1536
e89233dab4da
New feature for option processing: CONF_TYPE_FUNC_FULL
folke
parents:
153
diff
changeset
|
39 typedef int (*cfg_func_arg_param_t)(struct config *, char *, char *); |
150 | 40 typedef int (*cfg_func_param_t)(struct config *, char *); |
41 typedef int (*cfg_func_t)(struct config *); | |
42 | |
147 | 43 /* parse_config_file returns: |
44 * -1 on error (can't malloc, invalid option...) | |
45 * 0 if can't open configfile | |
46 * 1 on success | |
47 */ | |
48 int parse_config_file(struct config *conf, char *conffile); | |
49 | |
50 /* parse_command_line reutrns: | |
51 * -1 on error (invalid option...) | |
52 * 0 if there was no filename on command line | |
53 * 1 if it found a filename | |
54 */ | |
55 int parse_command_line(struct config *conf, int argc, char **argv, char **envp, char **filename); | |
56 | |
57 #endif /* __CONFIG_H */ |