annotate subopt-helper.h @ 14379:30d62dbb5520

lavc is reintegrated, just as it was before removal some commits ago it hasn't been touched yet (no work done yet) so it's neither reformatted nor up to date
author kraymer
date Wed, 05 Jan 2005 23:32:38 +0000
parents 6c3241503d9b
children 00c3c4111017
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14281
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
1 #ifndef SUBOPT_HELPER_H
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
2 #define SUBOPT_HELPER_H
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
3
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
4 /**
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
5 * \file subopt-helper.h
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
6 *
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
7 * \brief Datatype and functions declarations for usage
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
8 * of the suboption parser.
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
9 *
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
10 */
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
11
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
12 #define OPT_ARG_BOOL 0
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
13 #define OPT_ARG_INT 1
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
14 #define OPT_ARG_STR 2
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
15
14285
6c3241503d9b Add a type name for the test function
reimar
parents: 14281
diff changeset
16 typedef int (*opt_test_f)(void *);
6c3241503d9b Add a type name for the test function
reimar
parents: 14281
diff changeset
17
14281
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
18 /** simple structure for defining the option name, type and storage location */
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
19 typedef struct opt_s
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
20 {
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
21 char * name; ///< string that identifies the option
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
22 int type; ///< option type as defined in subopt-helper.h
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
23 void * valp; ///< pointer to the mem where the value should be stored
14285
6c3241503d9b Add a type name for the test function
reimar
parents: 14281
diff changeset
24 opt_test_f test; ///< argument test func ( optional )
14281
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
25 int set; ///< Is set internally by the parser if the option was found.
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
26 ///< Don't use it at initialization of your opts, it will be
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
27 ///< overriden anyway!
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
28 } opt_t;
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
29
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
30 /** parses the string for the options specified in opt */
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
31 int subopt_parse( char const * const str, opt_t * opts );
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
32
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
33
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
34 /*------------------ arg specific types and declaration -------------------*/
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
35 typedef struct strarg_s
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
36 {
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
37 unsigned char len; ///< length of the string determined by the parser
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
38 char const * str; ///< pointer to position inside the parse string
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
39 } strarg_t;
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
40
577c16f551ad suboption parser for vo and ao modules
al
parents:
diff changeset
41 #endif