annotate cfgparser.h @ 2316:bcb229557e9b

fixed alignment (static variables where sometimes not 8-byte aligned) added half uv interpolation support added prefetch BGR15 support in MMX (untested) (so BGR15,16,24,32 are supported) special unscaled height version (not much faster but it doesnt interpolate uv vertically)
author michael
date Sat, 20 Oct 2001 21:12:09 +0000
parents 13aeaa05ac5e
children b97a9e3fdb63
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
147
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
1 /*
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
2 * command line and config file parser
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
3 */
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
4
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
5 #ifndef __CONFIG_H
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
6 #define __CONFIG_H
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
7
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
8 #define CONF_TYPE_FLAG 0
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
9 #define CONF_TYPE_INT 1
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
10 #define CONF_TYPE_FLOAT 2
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
11 #define CONF_TYPE_STRING 3
150
2f3e01a1fd87 cfgparse fixes
szabii
parents: 147
diff changeset
12 #define CONF_TYPE_FUNC 4
151
9708d4b2765b cfgparser fix
szabii
parents: 150
diff changeset
13 #define CONF_TYPE_FUNC_PARAM 5
152
372a9a836e86 cfgparser fix
szabii
parents: 151
diff changeset
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
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
24
153
8e55121885b2 new configfile/cmdline parser
arpi_esp
parents: 152
diff changeset
25 #define CONF_MIN (1<<0)
8e55121885b2 new configfile/cmdline parser
arpi_esp
parents: 152
diff changeset
26 #define CONF_MAX (1<<1)
8e55121885b2 new configfile/cmdline parser
arpi_esp
parents: 152
diff changeset
27 #define CONF_RANGE (CONF_MIN|CONF_MAX)
151
9708d4b2765b cfgparser fix
szabii
parents: 150
diff changeset
28 #define CONF_NOCFG (1<<2)
9708d4b2765b cfgparser fix
szabii
parents: 150
diff changeset
29 #define CONF_NOCMD (1<<3)
147
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
30
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
31 struct config {
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
32 char *name;
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
33 void *p;
150
2f3e01a1fd87 cfgparse fixes
szabii
parents: 147
diff changeset
34 unsigned int type :3;
151
9708d4b2765b cfgparser fix
szabii
parents: 150
diff changeset
35 unsigned int flags:4;
147
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
36 float min,max;
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
37 };
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
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
2f3e01a1fd87 cfgparse fixes
szabii
parents: 147
diff changeset
40 typedef int (*cfg_func_param_t)(struct config *, char *);
2f3e01a1fd87 cfgparse fixes
szabii
parents: 147
diff changeset
41 typedef int (*cfg_func_t)(struct config *);
2f3e01a1fd87 cfgparse fixes
szabii
parents: 147
diff changeset
42
147
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
43 /* parse_config_file returns:
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
44 * -1 on error (can't malloc, invalid option...)
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
45 * 0 if can't open configfile
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
46 * 1 on success
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
47 */
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
48 int parse_config_file(struct config *conf, char *conffile);
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
49
1629
13aeaa05ac5e multifile support in config parser
arpi
parents: 1536
diff changeset
50 /* parse_command_line returns:
147
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
51 * -1 on error (invalid option...)
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
52 * 0 if there was no filename on command line
1629
13aeaa05ac5e multifile support in config parser
arpi
parents: 1536
diff changeset
53 * >=1 if there were filenames
147
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
54 */
1629
13aeaa05ac5e multifile support in config parser
arpi
parents: 1536
diff changeset
55 int parse_command_line(struct config *conf, int argc, char **argv, char **envp, char ***filenames);
147
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
56
0a0d7dd8fb51 new command line/config file parser
szabii
parents:
diff changeset
57 #endif /* __CONFIG_H */