Mercurial > mplayer.hg
annotate subopt-helper.h @ 29058:713fe7dab281
Relicense file to LGPL with the permission of Romain Dolbeau, the author.
author | diego |
---|---|
date | Sun, 29 Mar 2009 13:47:30 +0000 |
parents | 2b021e3e1000 |
children | 0f1b5b68af32 |
rev | line source |
---|---|
26029 | 1 #ifndef MPLAYER_SUBOPT_HELPER_H |
2 #define MPLAYER_SUBOPT_HELPER_H | |
14281 | 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 | |
14538
00c3c4111017
New suboption type: malloc'ed, zero terminated string
reimar
parents:
14285
diff
changeset
|
15 #define OPT_ARG_MSTRZ 3 ///< A malloced, zero terminated string, use free()! |
16720 | 16 #define OPT_ARG_FLOAT 4 |
14281 | 17 |
14285 | 18 typedef int (*opt_test_f)(void *); |
19 | |
14281 | 20 /** simple structure for defining the option name, type and storage location */ |
21 typedef struct opt_s | |
22 { | |
19194
5949a654e2d4
marks some read-only char* inside structs as const, patch by Stefan Huehner, stefan At huehner-org
reynaldo
parents:
19104
diff
changeset
|
23 const char * name; ///< string that identifies the option |
14281 | 24 int type; ///< option type as defined in subopt-helper.h |
25 void * valp; ///< pointer to the mem where the value should be stored | |
14285 | 26 opt_test_f test; ///< argument test func ( optional ) |
14281 | 27 } opt_t; |
28 | |
29 /** parses the string for the options specified in opt */ | |
28827
2b021e3e1000
Get rid of the "set" member of the subopt-parser struct, it made
reimar
parents:
26029
diff
changeset
|
30 int subopt_parse( char const * const str, const opt_t * opts ); |
14281 | 31 |
32 | |
33 /*------------------ arg specific types and declaration -------------------*/ | |
34 typedef struct strarg_s | |
35 { | |
14538
00c3c4111017
New suboption type: malloc'ed, zero terminated string
reimar
parents:
14285
diff
changeset
|
36 int len; ///< length of the string determined by the parser |
14281 | 37 char const * str; ///< pointer to position inside the parse string |
38 } strarg_t; | |
39 | |
14736 | 40 |
41 int int_non_neg( int * i ); | |
42 int int_pos( int * i ); | |
43 | |
19104
2ec2301183cd
marks several read-only string parameters which aren't modified inside the called function as const. Patch by Stefan Huehner, stefan AT huehner-org
reynaldo
parents:
16720
diff
changeset
|
44 int strargcmp(strarg_t *arg, const char *str); |
15734
7e4fa8fc255c
helper functions for comparing strarg_t "strings".
reimar
parents:
14736
diff
changeset
|
45 int strargcasecmp(strarg_t *arg, char *str); |
7e4fa8fc255c
helper functions for comparing strarg_t "strings".
reimar
parents:
14736
diff
changeset
|
46 |
26029 | 47 #endif /* MPLAYER_SUBOPT_HELPER_H */ |