diff options
author | al <al@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-12-31 11:11:24 +0000 |
---|---|---|
committer | al <al@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-12-31 11:11:24 +0000 |
commit | 672dc76569e0ac4cfc9a76fe14d0efa654c70826 (patch) | |
tree | 31b37a1e58d7da013b0741418f14539fd80842b0 /subopt-helper.h | |
parent | fc91fed21ea71c50273c7c09f88e8d634c1e444e (diff) | |
download | mpv-672dc76569e0ac4cfc9a76fe14d0efa654c70826.tar.bz2 mpv-672dc76569e0ac4cfc9a76fe14d0efa654c70826.tar.xz |
suboption parser for vo and ao modules
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14282 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'subopt-helper.h')
-rw-r--r-- | subopt-helper.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/subopt-helper.h b/subopt-helper.h new file mode 100644 index 0000000000..529801697f --- /dev/null +++ b/subopt-helper.h @@ -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 |