diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2010-05-18 11:12:49 +1000 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2010-05-18 15:43:51 -0700 |
commit | d88ba7721d2d3b58cdc664fd4c23a3c5e2a5f909 (patch) | |
tree | 80b64d2ed0c450d093156b1be4ca626228eeb78c /hw/xfree86/common/xf86Opt.h | |
parent | 673eb707ce6737284c4886265ba149c5587a74e2 (diff) |
xfree86: Add option parsing for percent options.
In some cases, an option of "50%" would be preferable over fixed value
configuration - especially if the actual values are autoprobed.
Add a new set of functions to parse percent values from configurations.
The percent value parsing differs slightly - if the option is not to marked
as used (e.g. xf86CheckPercentOption()), no warning is emitted to the log
file if the value is not a percent value. This allows double-options (either
as % or as absolute number) without warnings.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'hw/xfree86/common/xf86Opt.h')
-rw-r--r-- | hw/xfree86/common/xf86Opt.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/xfree86/common/xf86Opt.h b/hw/xfree86/common/xf86Opt.h index ce3d76724..d75d3bf87 100644 --- a/hw/xfree86/common/xf86Opt.h +++ b/hw/xfree86/common/xf86Opt.h @@ -51,6 +51,7 @@ typedef enum { OPTV_ANYSTR, /* Any string, including an empty one */ OPTV_REAL, OPTV_BOOLEAN, + OPTV_PERCENT, OPTV_FREQ } OptionValueType; @@ -72,10 +73,12 @@ extern _X_EXPORT int xf86SetIntOption(pointer optlist, const char *name, int def extern _X_EXPORT double xf86SetRealOption(pointer optlist, const char *name, double deflt); extern _X_EXPORT char *xf86SetStrOption(pointer optlist, const char *name, char *deflt); extern _X_EXPORT int xf86SetBoolOption(pointer list, const char *name, int deflt ); +extern _X_EXPORT double xf86SetPercentOption(pointer list, const char *name, double deflt ); extern _X_EXPORT int xf86CheckIntOption(pointer optlist, const char *name, int deflt); extern _X_EXPORT double xf86CheckRealOption(pointer optlist, const char *name, double deflt); extern _X_EXPORT char *xf86CheckStrOption(pointer optlist, const char *name, char *deflt); extern _X_EXPORT int xf86CheckBoolOption(pointer list, const char *name, int deflt ); +extern _X_EXPORT double xf86CheckPercentOption(pointer list, const char *name, double deflt ); extern _X_EXPORT pointer xf86AddNewOption(pointer head, const char *name, const char *val ); extern _X_EXPORT pointer xf86NewOption(char *name, char *value ); extern _X_EXPORT pointer xf86NextOption(pointer list ); @@ -109,5 +112,6 @@ extern _X_EXPORT char *xf86NormalizeName(const char *s); extern _X_EXPORT pointer xf86ReplaceIntOption(pointer optlist, const char *name, const int val); extern _X_EXPORT pointer xf86ReplaceRealOption(pointer optlist, const char *name, const double val); extern _X_EXPORT pointer xf86ReplaceBoolOption(pointer optlist, const char *name, const Bool val); +extern _X_EXPORT pointer xf86ReplacePercentOption(pointer optlist, const char *name, const double val); extern _X_EXPORT pointer xf86ReplaceStrOption(pointer optlist, const char *name, const char* val); #endif |