Mercurial > mplayer.hg
diff subopt-helper.h @ 14281:577c16f551ad
suboption parser for vo and ao modules
author | al |
---|---|
date | Fri, 31 Dec 2004 11:11:24 +0000 |
parents | |
children | 6c3241503d9b |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/subopt-helper.h Fri Dec 31 11:11:24 2004 +0000 @@ -0,0 +1,39 @@ +#ifndef SUBOPT_HELPER_H +#define SUBOPT_HELPER_H + +/** + * \file subopt-helper.h + * + * \brief Datatype and functions declarations for usage + * of the suboption parser. + * + */ + +#define OPT_ARG_BOOL 0 +#define OPT_ARG_INT 1 +#define OPT_ARG_STR 2 + +/** simple structure for defining the option name, type and storage location */ +typedef struct opt_s +{ + char * name; ///< string that identifies the option + int type; ///< option type as defined in subopt-helper.h + void * valp; ///< pointer to the mem where the value should be stored + int (* test)(void *); ///< argument test func ( optional ) + int set; ///< Is set internally by the parser if the option was found. + ///< Don't use it at initialization of your opts, it will be + ///< overriden anyway! +} opt_t; + +/** parses the string for the options specified in opt */ +int subopt_parse( char const * const str, opt_t * opts ); + + +/*------------------ arg specific types and declaration -------------------*/ +typedef struct strarg_s +{ + unsigned char len; ///< length of the string determined by the parser + char const * str; ///< pointer to position inside the parse string +} strarg_t; + +#endif