summaryrefslogtreecommitdiffstats
path: root/subopt-helper.h
diff options
context:
space:
mode:
authoral <al@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-12-31 11:11:24 +0000
committeral <al@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-12-31 11:11:24 +0000
commit672dc76569e0ac4cfc9a76fe14d0efa654c70826 (patch)
tree31b37a1e58d7da013b0741418f14539fd80842b0 /subopt-helper.h
parentfc91fed21ea71c50273c7c09f88e8d634c1e444e (diff)
downloadmpv-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.h39
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