1
by Reinhard Tartler
imported mplayer_0.99+1.0pre7try2+cvs20060117 |
1 |
#ifndef SUBOPT_HELPER_H
|
2 |
#define SUBOPT_HELPER_H
|
|
3 |
||
4 |
/**
|
|
5 |
* \file subopt-helper.h
|
|
6 |
*
|
|
7 |
* \brief Datatype and functions declarations for usage
|
|
8 |
* of the suboption parser.
|
|
9 |
*
|
|
10 |
*/
|
|
11 |
||
12 |
#define OPT_ARG_BOOL 0
|
|
13 |
#define OPT_ARG_INT 1
|
|
14 |
#define OPT_ARG_STR 2
|
|
15 |
#define OPT_ARG_MSTRZ 3 ///< A malloced, zero terminated string, use free()! |
|
16 |
#define OPT_ARG_FLOAT 4
|
|
17 |
||
18 |
typedef int (*opt_test_f)(void *); |
|
19 |
||
20 |
/** simple structure for defining the option name, type and storage location */
|
|
21 |
typedef struct opt_s |
|
22 |
{
|
|
2.6.1
by William Grant
Update to 1.0rc1. |
23 |
const char * name; ///< string that identifies the option |
1
by Reinhard Tartler
imported mplayer_0.99+1.0pre7try2+cvs20060117 |
24 |
int type; ///< option type as defined in subopt-helper.h |
25 |
void * valp; ///< pointer to the mem where the value should be stored |
|
26 |
opt_test_f test; ///< argument test func ( optional ) |
|
27 |
int set; ///< Is set internally by the parser if the option was found. |
|
28 |
///< Don't use it at initialization of your opts, it will be
|
|
29 |
///< overriden anyway!
|
|
30 |
} opt_t; |
|
31 |
||
32 |
/** parses the string for the options specified in opt */
|
|
33 |
int subopt_parse( char const * const str, opt_t * opts ); |
|
34 |
||
35 |
||
36 |
/*------------------ arg specific types and declaration -------------------*/
|
|
37 |
typedef struct strarg_s |
|
38 |
{
|
|
39 |
int len; ///< length of the string determined by the parser |
|
40 |
char const * str; ///< pointer to position inside the parse string |
|
41 |
} strarg_t; |
|
42 |
||
43 |
||
44 |
int int_non_neg( int * i ); |
|
45 |
int int_pos( int * i ); |
|
46 |
||
2.6.1
by William Grant
Update to 1.0rc1. |
47 |
int strargcmp(strarg_t *arg, const char *str); |
1
by Reinhard Tartler
imported mplayer_0.99+1.0pre7try2+cvs20060117 |
48 |
int strargcasecmp(strarg_t *arg, char *str); |
49 |
||
50 |
#endif
|