diff options
Diffstat (limited to 'm_option.h')
-rw-r--r-- | m_option.h | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/m_option.h b/m_option.h index 9417fb562e..3387193db4 100644 --- a/m_option.h +++ b/m_option.h @@ -2,6 +2,7 @@ #define MPLAYER_M_OPTION_H #include <string.h> +#include <stddef.h> /// \defgroup Options /// m_option allows to parse, print and copy data of various types. @@ -284,6 +285,10 @@ struct m_option { * Passing a 'default func' is still valid for all func based option types. */ void* priv; + + int new; + + int offset; }; @@ -478,20 +483,6 @@ m_option_print(const m_option_t* opt, const void* val_ptr) { return (char*)-1; } -/// Helper around \ref m_option_type::save. -inline static void -m_option_save(const m_option_t* opt,void* dst, void* src) { - if(opt->type->save) - opt->type->save(opt,dst,src); -} - -/// Helper around \ref m_option_type::set. -inline static void -m_option_set(const m_option_t* opt,void* dst, void* src) { - if(opt->type->set) - opt->type->set(opt,dst,src); -} - /// Helper around \ref m_option_type::copy. inline static void m_option_copy(const m_option_t* opt,void* dst, void* src) { @@ -510,4 +501,14 @@ m_option_free(const m_option_t* opt,void* dst) { /*@}*/ +#define OPT_FLAG_ON(optname, varname, flags) {optname, NULL, &m_option_type_flag, flags, 0, 1, NULL, 1, offsetof(struct MPOpts, varname)} +#define OPT_FLAG_OFF(optname, varname, flags) {optname, NULL, &m_option_type_flag, flags, 1, 0, NULL, 1, offsetof(struct MPOpts, varname)} +#define OPT_FLAG_CONSTANTS(optname, varname, flags, offvalue, value) {optname, NULL, &m_option_type_flag, flags, offvalue, value, NULL, 1, offsetof(struct MPOpts, varname)} +#define OPT_STRINGLIST(optname, varname, flags) {optname, NULL, &m_option_type_string_list, flags, 0, 0, NULL, 1, offsetof(struct MPOpts, varname)} +#define OPT_INT(optname, varname, flags) {optname, NULL, &m_option_type_int, flags, 0, 0, NULL, 1, offsetof(struct MPOpts, varname)} +#define OPT_INTRANGE(optname, varname, flags, min, max) {optname, NULL, &m_option_type_int, (flags)|CONF_RANGE, min, max, NULL, 1, offsetof(struct MPOpts, varname)} +#define OPT_FLOATRANGE(optname, varname, flags, min, max) {optname, NULL, &m_option_type_float, (flags)|CONF_RANGE, min, max, NULL, 1, offsetof(struct MPOpts, varname)} +#define OPT_STRING(optname, varname, flags) {optname, NULL, &m_option_type_string, flags, 0, 0, NULL, 1, offsetof(struct MPOpts, varname)} +#define OPT_SETTINGSLIST(optname, varname, flags, objlist) {optname, NULL, &m_option_type_obj_settings_list, flags, 0, 0, objlist, 1, offsetof(struct MPOpts, varname)} + #endif /* MPLAYER_M_OPTION_H */ |