xfree86: switch options from pointer to XF86OptionPtr

In all cases, the pointer was simply type-cast anyway. Let's get some
compile-time type safety going, how about that.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>

Squashed in:
xfree86: Move definition of xf86OptionPtr into separate header file

The pile of spaghettis that is the xfree86 include dependencies make it
rather hard to have a single typedef somewhere that's not interfering with
everything else or drags in a whole bunch of other includes.

Move the xf86OptionRec and GenericListRec declarations into a separate
header.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
This commit is contained in:
Peter Hutterer 2011-08-03 16:01:28 +10:00
parent 05284a03f9
commit 24823f1ab0
13 changed files with 168 additions and 134 deletions

View File

@ -51,7 +51,7 @@ sdk_HEADERS = compiler.h fourcc.h xf86.h xf86Module.h xf86Opt.h \
xf86PciInfo.h xf86Priv.h xf86Privstr.h \ xf86PciInfo.h xf86Priv.h xf86Privstr.h \
xf86cmap.h xf86fbman.h xf86str.h xf86Xinput.h xisb.h \ xf86cmap.h xf86fbman.h xf86str.h xf86Xinput.h xisb.h \
$(XVSDKINCS) $(XF86VMODE_SDK) xorgVersion.h \ $(XVSDKINCS) $(XF86VMODE_SDK) xorgVersion.h \
xf86sbusBus.h xf86VGAarbiter.h xf86sbusBus.h xf86VGAarbiter.h xf86Optionstr.h
DISTCLEANFILES = xf86Build.h DISTCLEANFILES = xf86Build.h
CLEANFILES = $(BUILT_SOURCES) CLEANFILES = $(BUILT_SOURCES)

View File

@ -332,7 +332,7 @@ extern _X_EXPORT DisplayModePtr xf86ModesAdd(DisplayModePtr modes, DisplayModePt
/* xf86Option.c */ /* xf86Option.c */
extern _X_EXPORT void xf86CollectOptions(ScrnInfoPtr pScrn, pointer extraOpts); extern _X_EXPORT void xf86CollectOptions(ScrnInfoPtr pScrn, XF86OptionPtr extraOpts);
/* xf86RandR.c */ /* xf86RandR.c */

View File

@ -30,6 +30,7 @@
#ifndef _XF86_OPT_H_ #ifndef _XF86_OPT_H_
#define _XF86_OPT_H_ #define _XF86_OPT_H_
#include "xf86Optionstr.h"
typedef struct { typedef struct {
double freq; double freq;
@ -69,34 +70,34 @@ typedef struct {
Bool found; Bool found;
} OptionInfoRec, *OptionInfoPtr; } OptionInfoRec, *OptionInfoPtr;
extern _X_EXPORT int xf86SetIntOption(pointer optlist, const char *name, int deflt); extern _X_EXPORT int xf86SetIntOption(XF86OptionPtr optlist, const char *name, int deflt);
extern _X_EXPORT double xf86SetRealOption(pointer optlist, const char *name, double deflt); extern _X_EXPORT double xf86SetRealOption(XF86OptionPtr optlist, const char *name, double deflt);
extern _X_EXPORT char *xf86SetStrOption(pointer optlist, const char *name, char *deflt); extern _X_EXPORT char *xf86SetStrOption(XF86OptionPtr optlist, const char *name, char *deflt);
extern _X_EXPORT int xf86SetBoolOption(pointer list, const char *name, int deflt ); extern _X_EXPORT int xf86SetBoolOption(XF86OptionPtr list, const char *name, int deflt );
extern _X_EXPORT double xf86SetPercentOption(pointer list, const char *name, double deflt ); extern _X_EXPORT double xf86SetPercentOption(XF86OptionPtr list, const char *name, double deflt );
extern _X_EXPORT int xf86CheckIntOption(pointer optlist, const char *name, int deflt); extern _X_EXPORT int xf86CheckIntOption(XF86OptionPtr optlist, const char *name, int deflt);
extern _X_EXPORT double xf86CheckRealOption(pointer optlist, const char *name, double deflt); extern _X_EXPORT double xf86CheckRealOption(XF86OptionPtr optlist, const char *name, double deflt);
extern _X_EXPORT char *xf86CheckStrOption(pointer optlist, const char *name, char *deflt); extern _X_EXPORT char *xf86CheckStrOption(XF86OptionPtr optlist, const char *name, char *deflt);
extern _X_EXPORT int xf86CheckBoolOption(pointer list, const char *name, int deflt ); extern _X_EXPORT int xf86CheckBoolOption(XF86OptionPtr list, const char *name, int deflt );
extern _X_EXPORT double xf86CheckPercentOption(pointer list, const char *name, double deflt ); extern _X_EXPORT double xf86CheckPercentOption(XF86OptionPtr list, const char *name, double deflt );
extern _X_EXPORT pointer xf86AddNewOption(pointer head, const char *name, const char *val ); extern _X_EXPORT XF86OptionPtr xf86AddNewOption(XF86OptionPtr head, const char *name, const char *val );
extern _X_EXPORT pointer xf86NewOption(char *name, char *value ); extern _X_EXPORT XF86OptionPtr xf86NewOption(char *name, char *value );
extern _X_EXPORT pointer xf86NextOption(pointer list ); extern _X_EXPORT XF86OptionPtr xf86NextOption(XF86OptionPtr list );
extern _X_EXPORT pointer xf86OptionListCreate(const char **options, int count, int used); extern _X_EXPORT XF86OptionPtr xf86OptionListCreate(const char **options, int count, int used);
extern _X_EXPORT pointer xf86OptionListMerge(pointer head, pointer tail); extern _X_EXPORT XF86OptionPtr xf86OptionListMerge(XF86OptionPtr head, XF86OptionPtr tail);
extern _X_EXPORT pointer xf86OptionListDuplicate(pointer list); extern _X_EXPORT XF86OptionPtr xf86OptionListDuplicate(XF86OptionPtr list);
extern _X_EXPORT void xf86OptionListFree(pointer opt); extern _X_EXPORT void xf86OptionListFree(XF86OptionPtr opt);
extern _X_EXPORT char *xf86OptionName(pointer opt); extern _X_EXPORT char *xf86OptionName(XF86OptionPtr opt);
extern _X_EXPORT char *xf86OptionValue(pointer opt); extern _X_EXPORT char *xf86OptionValue(XF86OptionPtr opt);
extern _X_EXPORT void xf86OptionListReport(pointer parm); extern _X_EXPORT void xf86OptionListReport(XF86OptionPtr parm);
extern _X_EXPORT pointer xf86FindOption(pointer options, const char *name); extern _X_EXPORT XF86OptionPtr xf86FindOption(XF86OptionPtr options, const char *name);
extern _X_EXPORT char *xf86FindOptionValue(pointer options, const char *name); extern _X_EXPORT char *xf86FindOptionValue(XF86OptionPtr options, const char *name);
extern _X_EXPORT void xf86MarkOptionUsed(pointer option); extern _X_EXPORT void xf86MarkOptionUsed(XF86OptionPtr option);
extern _X_EXPORT void xf86MarkOptionUsedByName(pointer options, const char *name); extern _X_EXPORT void xf86MarkOptionUsedByName(XF86OptionPtr options, const char *name);
extern _X_EXPORT Bool xf86CheckIfOptionUsed(pointer option); extern _X_EXPORT Bool xf86CheckIfOptionUsed(XF86OptionPtr option);
extern _X_EXPORT Bool xf86CheckIfOptionUsedByName(pointer options, const char *name); extern _X_EXPORT Bool xf86CheckIfOptionUsedByName(XF86OptionPtr options, const char *name);
extern _X_EXPORT void xf86ShowUnusedOptions(int scrnIndex, pointer options); extern _X_EXPORT void xf86ShowUnusedOptions(int scrnIndex, XF86OptionPtr options);
extern _X_EXPORT void xf86ProcessOptions(int scrnIndex, pointer options, OptionInfoPtr optinfo); extern _X_EXPORT void xf86ProcessOptions(int scrnIndex, XF86OptionPtr options, OptionInfoPtr optinfo);
extern _X_EXPORT OptionInfoPtr xf86TokenToOptinfo(const OptionInfoRec *table, int token); extern _X_EXPORT OptionInfoPtr xf86TokenToOptinfo(const OptionInfoRec *table, int token);
extern _X_EXPORT const char *xf86TokenToOptName(const OptionInfoRec *table, int token); extern _X_EXPORT const char *xf86TokenToOptName(const OptionInfoRec *table, int token);
extern _X_EXPORT Bool xf86IsOptionSet(const OptionInfoRec *table, int token); extern _X_EXPORT Bool xf86IsOptionSet(const OptionInfoRec *table, int token);
@ -110,9 +111,9 @@ extern _X_EXPORT Bool xf86GetOptValBool(const OptionInfoRec *table, int token, B
extern _X_EXPORT Bool xf86ReturnOptValBool(const OptionInfoRec *table, int token, Bool def); extern _X_EXPORT Bool xf86ReturnOptValBool(const OptionInfoRec *table, int token, Bool def);
extern _X_EXPORT int xf86NameCmp(const char *s1, const char *s2); extern _X_EXPORT int xf86NameCmp(const char *s1, const char *s2);
extern _X_EXPORT char *xf86NormalizeName(const char *s); extern _X_EXPORT char *xf86NormalizeName(const char *s);
extern _X_EXPORT pointer xf86ReplaceIntOption(pointer optlist, const char *name, const int val); extern _X_EXPORT XF86OptionPtr xf86ReplaceIntOption(XF86OptionPtr optlist, const char *name, const int val);
extern _X_EXPORT pointer xf86ReplaceRealOption(pointer optlist, const char *name, const double val); extern _X_EXPORT XF86OptionPtr xf86ReplaceRealOption(XF86OptionPtr optlist, const char *name, const double val);
extern _X_EXPORT pointer xf86ReplaceBoolOption(pointer optlist, const char *name, const Bool val); extern _X_EXPORT XF86OptionPtr xf86ReplaceBoolOption(XF86OptionPtr optlist, const char *name, const Bool val);
extern _X_EXPORT pointer xf86ReplacePercentOption(pointer optlist, const char *name, const double val); extern _X_EXPORT XF86OptionPtr xf86ReplacePercentOption(XF86OptionPtr optlist, const char *name, const double val);
extern _X_EXPORT pointer xf86ReplaceStrOption(pointer optlist, const char *name, const char* val); extern _X_EXPORT XF86OptionPtr xf86ReplaceStrOption(XF86OptionPtr optlist, const char *name, const char* val);
#endif #endif

View File

@ -40,11 +40,12 @@
#include <X11/X.h> #include <X11/X.h>
#include "os.h" #include "os.h"
#include "xf86.h" #include "xf86.h"
#include "xf86Opt.h"
#include "xf86Xinput.h" #include "xf86Xinput.h"
#include "xf86Optrec.h" #include "xf86Optrec.h"
#include "xf86Parser.h" #include "xf86Parser.h"
static Bool ParseOptionValue(int scrnIndex, pointer options, OptionInfoPtr p, static Bool ParseOptionValue(int scrnIndex, XF86OptionPtr options, OptionInfoPtr p,
Bool markUsed); Bool markUsed);
/* /*
@ -66,7 +67,7 @@ static Bool ParseOptionValue(int scrnIndex, pointer options, OptionInfoPtr p,
*/ */
void void
xf86CollectOptions(ScrnInfoPtr pScrn, pointer extraOpts) xf86CollectOptions(ScrnInfoPtr pScrn, XF86OptionPtr extraOpts)
{ {
XF86OptionPtr tmp; XF86OptionPtr tmp;
XF86OptionPtr extras = (XF86OptionPtr)extraOpts; XF86OptionPtr extras = (XF86OptionPtr)extraOpts;
@ -140,10 +141,10 @@ xf86CollectInputOptions(InputInfoPtr pInfo, const char **defaultOpts)
* Duplicate the option list passed in. The returned pointer will be a newly * Duplicate the option list passed in. The returned pointer will be a newly
* allocated option list and must be freed by the caller. * allocated option list and must be freed by the caller.
*/ */
pointer XF86OptionPtr
xf86OptionListDuplicate(pointer options) xf86OptionListDuplicate(XF86OptionPtr options)
{ {
pointer o = NULL; XF86OptionPtr o = NULL;
while (options) while (options)
{ {
@ -158,7 +159,7 @@ xf86OptionListDuplicate(pointer options)
/* Created for new XInput stuff -- essentially extensions to the parser */ /* Created for new XInput stuff -- essentially extensions to the parser */
static int static int
LookupIntOption(pointer optlist, const char *name, int deflt, Bool markUsed) LookupIntOption(XF86OptionPtr optlist, const char *name, int deflt, Bool markUsed)
{ {
OptionInfoRec o; OptionInfoRec o;
@ -171,7 +172,7 @@ LookupIntOption(pointer optlist, const char *name, int deflt, Bool markUsed)
static double static double
LookupRealOption(pointer optlist, const char *name, double deflt, LookupRealOption(XF86OptionPtr optlist, const char *name, double deflt,
Bool markUsed) Bool markUsed)
{ {
OptionInfoRec o; OptionInfoRec o;
@ -185,7 +186,7 @@ LookupRealOption(pointer optlist, const char *name, double deflt,
static char * static char *
LookupStrOption(pointer optlist, const char *name, char *deflt, Bool markUsed) LookupStrOption(XF86OptionPtr optlist, const char *name, char *deflt, Bool markUsed)
{ {
OptionInfoRec o; OptionInfoRec o;
@ -201,7 +202,7 @@ LookupStrOption(pointer optlist, const char *name, char *deflt, Bool markUsed)
static int static int
LookupBoolOption(pointer optlist, const char *name, int deflt, Bool markUsed) LookupBoolOption(XF86OptionPtr optlist, const char *name, int deflt, Bool markUsed)
{ {
OptionInfoRec o; OptionInfoRec o;
@ -213,7 +214,7 @@ LookupBoolOption(pointer optlist, const char *name, int deflt, Bool markUsed)
} }
static double static double
LookupPercentOption(pointer optlist, const char *name, double deflt, Bool markUsed) LookupPercentOption(XF86OptionPtr optlist, const char *name, double deflt, Bool markUsed)
{ {
OptionInfoRec o; OptionInfoRec o;
@ -227,34 +228,34 @@ LookupPercentOption(pointer optlist, const char *name, double deflt, Bool markUs
/* These xf86Set* functions are intended for use by non-screen specific code */ /* These xf86Set* functions are intended for use by non-screen specific code */
int int
xf86SetIntOption(pointer optlist, const char *name, int deflt) xf86SetIntOption(XF86OptionPtr optlist, const char *name, int deflt)
{ {
return LookupIntOption(optlist, name, deflt, TRUE); return LookupIntOption(optlist, name, deflt, TRUE);
} }
double double
xf86SetRealOption(pointer optlist, const char *name, double deflt) xf86SetRealOption(XF86OptionPtr optlist, const char *name, double deflt)
{ {
return LookupRealOption(optlist, name, deflt, TRUE); return LookupRealOption(optlist, name, deflt, TRUE);
} }
char * char *
xf86SetStrOption(pointer optlist, const char *name, char *deflt) xf86SetStrOption(XF86OptionPtr optlist, const char *name, char *deflt)
{ {
return LookupStrOption(optlist, name, deflt, TRUE); return LookupStrOption(optlist, name, deflt, TRUE);
} }
int int
xf86SetBoolOption(pointer optlist, const char *name, int deflt) xf86SetBoolOption(XF86OptionPtr optlist, const char *name, int deflt)
{ {
return LookupBoolOption(optlist, name, deflt, TRUE); return LookupBoolOption(optlist, name, deflt, TRUE);
} }
double double
xf86SetPercentOption(pointer optlist, const char *name, double deflt) xf86SetPercentOption(XF86OptionPtr optlist, const char *name, double deflt)
{ {
return LookupPercentOption(optlist, name, deflt, TRUE); return LookupPercentOption(optlist, name, deflt, TRUE);
} }
@ -264,35 +265,35 @@ xf86SetPercentOption(pointer optlist, const char *name, double deflt)
* as used. * as used.
*/ */
int int
xf86CheckIntOption(pointer optlist, const char *name, int deflt) xf86CheckIntOption(XF86OptionPtr optlist, const char *name, int deflt)
{ {
return LookupIntOption(optlist, name, deflt, FALSE); return LookupIntOption(optlist, name, deflt, FALSE);
} }
double double
xf86CheckRealOption(pointer optlist, const char *name, double deflt) xf86CheckRealOption(XF86OptionPtr optlist, const char *name, double deflt)
{ {
return LookupRealOption(optlist, name, deflt, FALSE); return LookupRealOption(optlist, name, deflt, FALSE);
} }
char * char *
xf86CheckStrOption(pointer optlist, const char *name, char *deflt) xf86CheckStrOption(XF86OptionPtr optlist, const char *name, char *deflt)
{ {
return LookupStrOption(optlist, name, deflt, FALSE); return LookupStrOption(optlist, name, deflt, FALSE);
} }
int int
xf86CheckBoolOption(pointer optlist, const char *name, int deflt) xf86CheckBoolOption(XF86OptionPtr optlist, const char *name, int deflt)
{ {
return LookupBoolOption(optlist, name, deflt, FALSE); return LookupBoolOption(optlist, name, deflt, FALSE);
} }
double double
xf86CheckPercentOption(pointer optlist, const char *name, double deflt) xf86CheckPercentOption(XF86OptionPtr optlist, const char *name, double deflt)
{ {
return LookupPercentOption(optlist, name, deflt, FALSE); return LookupPercentOption(optlist, name, deflt, FALSE);
} }
@ -300,44 +301,44 @@ xf86CheckPercentOption(pointer optlist, const char *name, double deflt)
* addNewOption() has the required property of replacing the option value * addNewOption() has the required property of replacing the option value
* if the option is already present. * if the option is already present.
*/ */
pointer XF86OptionPtr
xf86ReplaceIntOption(pointer optlist, const char *name, const int val) xf86ReplaceIntOption(XF86OptionPtr optlist, const char *name, const int val)
{ {
char tmp[16]; char tmp[16];
sprintf(tmp,"%i",val); sprintf(tmp,"%i",val);
return xf86AddNewOption(optlist,name,tmp); return xf86AddNewOption(optlist,name,tmp);
} }
pointer XF86OptionPtr
xf86ReplaceRealOption(pointer optlist, const char *name, const double val) xf86ReplaceRealOption(XF86OptionPtr optlist, const char *name, const double val)
{ {
char tmp[32]; char tmp[32];
snprintf(tmp,32,"%f",val); snprintf(tmp,32,"%f",val);
return xf86AddNewOption(optlist,name,tmp); return xf86AddNewOption(optlist,name,tmp);
} }
pointer XF86OptionPtr
xf86ReplaceBoolOption(pointer optlist, const char *name, const Bool val) xf86ReplaceBoolOption(XF86OptionPtr optlist, const char *name, const Bool val)
{ {
return xf86AddNewOption(optlist,name,val?"True":"False"); return xf86AddNewOption(optlist,name,val?"True":"False");
} }
pointer XF86OptionPtr
xf86ReplacePercentOption(pointer optlist, const char *name, const double val) xf86ReplacePercentOption(XF86OptionPtr optlist, const char *name, const double val)
{ {
char tmp[16]; char tmp[16];
sprintf(tmp, "%lf%%", val); sprintf(tmp, "%lf%%", val);
return xf86AddNewOption(optlist,name,tmp); return xf86AddNewOption(optlist,name,tmp);
} }
pointer XF86OptionPtr
xf86ReplaceStrOption(pointer optlist, const char *name, const char* val) xf86ReplaceStrOption(XF86OptionPtr optlist, const char *name, const char* val)
{ {
return xf86AddNewOption(optlist,name,val); return xf86AddNewOption(optlist,name,val);
} }
pointer XF86OptionPtr
xf86AddNewOption(pointer head, const char *name, const char *val) xf86AddNewOption(XF86OptionPtr head, const char *name, const char *val)
{ {
/* XXX These should actually be allocated in the parser library. */ /* XXX These should actually be allocated in the parser library. */
char *tmp = val ? strdup(val) : NULL; char *tmp = val ? strdup(val) : NULL;
@ -347,51 +348,51 @@ xf86AddNewOption(pointer head, const char *name, const char *val)
} }
pointer XF86OptionPtr
xf86NewOption(char *name, char *value) xf86NewOption(char *name, char *value)
{ {
return xf86newOption(name, value); return xf86newOption(name, value);
} }
pointer XF86OptionPtr
xf86NextOption(pointer list) xf86NextOption(XF86OptionPtr list)
{ {
return xf86nextOption(list); return xf86nextOption(list);
} }
pointer XF86OptionPtr
xf86OptionListCreate(const char **options, int count, int used) xf86OptionListCreate(const char **options, int count, int used)
{ {
return xf86optionListCreate(options, count, used); return xf86optionListCreate(options, count, used);
} }
pointer XF86OptionPtr
xf86OptionListMerge(pointer head, pointer tail) xf86OptionListMerge(XF86OptionPtr head, XF86OptionPtr tail)
{ {
return xf86optionListMerge(head, tail); return xf86optionListMerge(head, tail);
} }
void void
xf86OptionListFree(pointer opt) xf86OptionListFree(XF86OptionPtr opt)
{ {
xf86optionListFree(opt); xf86optionListFree(opt);
} }
char * char *
xf86OptionName(pointer opt) xf86OptionName(XF86OptionPtr opt)
{ {
return xf86optionName(opt); return xf86optionName(opt);
} }
char * char *
xf86OptionValue(pointer opt) xf86OptionValue(XF86OptionPtr opt)
{ {
return xf86optionValue(opt); return xf86optionValue(opt);
} }
void void
xf86OptionListReport(pointer parm) xf86OptionListReport(XF86OptionPtr parm)
{ {
XF86OptionPtr opts = parm; XF86OptionPtr opts = parm;
@ -407,30 +408,30 @@ xf86OptionListReport(pointer parm)
/* End of XInput-caused section */ /* End of XInput-caused section */
pointer XF86OptionPtr
xf86FindOption(pointer options, const char *name) xf86FindOption(XF86OptionPtr options, const char *name)
{ {
return xf86findOption(options, name); return xf86findOption(options, name);
} }
char * char *
xf86FindOptionValue(pointer options, const char *name) xf86FindOptionValue(XF86OptionPtr options, const char *name)
{ {
return xf86findOptionValue(options, name); return xf86findOptionValue(options, name);
} }
void void
xf86MarkOptionUsed(pointer option) xf86MarkOptionUsed(XF86OptionPtr option)
{ {
if (option != NULL) if (option != NULL)
((XF86OptionPtr)option)->opt_used = TRUE; option->opt_used = TRUE;
} }
void void
xf86MarkOptionUsedByName(pointer options, const char *name) xf86MarkOptionUsedByName(XF86OptionPtr options, const char *name)
{ {
XF86OptionPtr opt; XF86OptionPtr opt;
@ -440,16 +441,16 @@ xf86MarkOptionUsedByName(pointer options, const char *name)
} }
Bool Bool
xf86CheckIfOptionUsed(pointer option) xf86CheckIfOptionUsed(XF86OptionPtr option)
{ {
if (option != NULL) if (option != NULL)
return ((XF86OptionPtr)option)->opt_used; return option->opt_used;
else else
return FALSE; return FALSE;
} }
Bool Bool
xf86CheckIfOptionUsedByName(pointer options, const char *name) xf86CheckIfOptionUsedByName(XF86OptionPtr options, const char *name)
{ {
XF86OptionPtr opt; XF86OptionPtr opt;
@ -461,10 +462,8 @@ xf86CheckIfOptionUsedByName(pointer options, const char *name)
} }
void void
xf86ShowUnusedOptions(int scrnIndex, pointer options) xf86ShowUnusedOptions(int scrnIndex, XF86OptionPtr opt)
{ {
XF86OptionPtr opt = options;
while (opt) { while (opt) {
if (opt->opt_name && !opt->opt_used) { if (opt->opt_name && !opt->opt_used) {
xf86DrvMsg(scrnIndex, X_WARNING, "Option \"%s\" is not used\n", xf86DrvMsg(scrnIndex, X_WARNING, "Option \"%s\" is not used\n",
@ -482,7 +481,7 @@ GetBoolValue(OptionInfoPtr p, const char *s)
} }
static Bool static Bool
ParseOptionValue(int scrnIndex, pointer options, OptionInfoPtr p, ParseOptionValue(int scrnIndex, XF86OptionPtr options, OptionInfoPtr p,
Bool markUsed) Bool markUsed)
{ {
char *s, *end; char *s, *end;
@ -695,7 +694,7 @@ ParseOptionValue(int scrnIndex, pointer options, OptionInfoPtr p,
void void
xf86ProcessOptions(int scrnIndex, pointer options, OptionInfoPtr optinfo) xf86ProcessOptions(int scrnIndex, XF86OptionPtr options, OptionInfoPtr optinfo)
{ {
OptionInfoPtr p; OptionInfoPtr p;

View File

@ -0,0 +1,53 @@
/*
* Copyright © 2011 Red Hat, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the next
* paragraph) shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
*/
#ifndef XF86OPTIONSTR_H
#define XF86OPTIONSTR_H
/*
* all records that need to be linked lists should contain a GenericList as
* their first field.
*/
typedef struct generic_list_rec
{
void *next;
}
GenericListRec, *GenericListPtr, *glp;
/*
* All options are stored using this data type.
*/
typedef struct _XF86OptionRec
{
GenericListRec list;
char *opt_name;
char *opt_val;
int opt_used;
char *opt_comment;
}
XF86OptionRec;
typedef struct _XF86OptionRec *XF86OptionPtr;
#endif

View File

@ -276,7 +276,7 @@ ApplyAccelerationSettings(DeviceIntPtr dev){
*/ */
void void
xf86ProcessCommonOptions(InputInfoPtr pInfo, xf86ProcessCommonOptions(InputInfoPtr pInfo,
pointer list) XF86OptionPtr list)
{ {
if (xf86SetBoolOption(list, "Floating", 0) || if (xf86SetBoolOption(list, "Floating", 0) ||
!xf86SetBoolOption(list, "AlwaysCore", 1) || !xf86SetBoolOption(list, "AlwaysCore", 1) ||

View File

@ -103,7 +103,7 @@ typedef struct _InputInfoRec {
char * type_name; char * type_name;
InputDriverPtr drv; InputDriverPtr drv;
pointer module; pointer module;
pointer options; XF86OptionPtr options;
InputAttributes *attrs; InputAttributes *attrs;
} *InputInfoPtr; } *InputInfoPtr;
@ -144,7 +144,7 @@ extern _X_EXPORT void xf86PostKeyboardEvent(DeviceIntPtr device, unsigned int ke
extern _X_EXPORT InputInfoPtr xf86FirstLocalDevice(void); extern _X_EXPORT InputInfoPtr xf86FirstLocalDevice(void);
extern _X_EXPORT int xf86ScaleAxis(int Cx, int to_max, int to_min, int from_max, int from_min); extern _X_EXPORT int xf86ScaleAxis(int Cx, int to_max, int to_min, int from_max, int from_min);
extern _X_EXPORT void xf86XInputSetScreen(InputInfoPtr pInfo, int screen_number, int x, int y); extern _X_EXPORT void xf86XInputSetScreen(InputInfoPtr pInfo, int screen_number, int x, int y);
extern _X_EXPORT void xf86ProcessCommonOptions(InputInfoPtr pInfo, pointer options); extern _X_EXPORT void xf86ProcessCommonOptions(InputInfoPtr pInfo, XF86OptionPtr options);
extern _X_EXPORT void xf86InitValuatorAxisStruct(DeviceIntPtr dev, int axnum, Atom label, int minval, extern _X_EXPORT void xf86InitValuatorAxisStruct(DeviceIntPtr dev, int axnum, Atom label, int minval,
int maxval, int resolution, int min_res, int maxval, int resolution, int min_res,
int max_res, int mode); int max_res, int mode);

View File

@ -3175,7 +3175,7 @@ would not need to use these directly.
<blockquote><para> <blockquote><para>
<programlisting> <programlisting>
pointer xf86FindOption(pointer options, const char *name); XF86OptionPtr xf86FindOption(XF86OptionPtr options, const char *name);
</programlisting> </programlisting>
<blockquote><para> <blockquote><para>
Takes a list of options and an option name, and returns a handle Takes a list of options and an option name, and returns a handle
@ -3187,7 +3187,7 @@ would not need to use these directly.
<blockquote><para> <blockquote><para>
<programlisting> <programlisting>
char *xf86FindOptionValue(pointer options, const char *name); char *xf86FindOptionValue(XF86OptionPtr options, const char *name);
</programlisting> </programlisting>
<blockquote><para> <blockquote><para>
Takes a list of options and an option name, and returns the value Takes a list of options and an option name, and returns the value
@ -3201,7 +3201,7 @@ would not need to use these directly.
<blockquote><para> <blockquote><para>
<programlisting> <programlisting>
void xf86MarkOptionUsed(pointer option); void xf86MarkOptionUsed(XF86OptionPtr option);
</programlisting> </programlisting>
<blockquote><para> <blockquote><para>
Takes a handle for an option, and marks that option as used. Takes a handle for an option, and marks that option as used.
@ -3211,7 +3211,7 @@ would not need to use these directly.
<blockquote><para> <blockquote><para>
<programlisting> <programlisting>
void xf86MarkOptionUsedByName(pointer options, const char *name); void xf86MarkOptionUsedByName(XF86OptionPtr options, const char *name);
</programlisting> </programlisting>
<blockquote><para> <blockquote><para>
Takes a list of options and an option name and marks the first Takes a list of options and an option name and marks the first
@ -3225,7 +3225,7 @@ Next, the higher level functions that most drivers would use.
</para> </para>
<blockquote><para> <blockquote><para>
<programlisting> <programlisting>
void xf86CollectOptions(ScrnInfoPtr pScrn, pointer extraOpts); void xf86CollectOptions(ScrnInfoPtr pScrn, XF86OptionPtr extraOpts);
</programlisting> </programlisting>
<blockquote><para> <blockquote><para>
Collect the options from each of the config file sections used by Collect the options from each of the config file sections used by
@ -3245,7 +3245,7 @@ Next, the higher level functions that most drivers would use.
<blockquote><para> <blockquote><para>
<programlisting> <programlisting>
void xf86ProcessOptions(int scrnIndex, pointer options, void xf86ProcessOptions(int scrnIndex, XF86OptionPtr options,
OptionInfoPtr optinfo); OptionInfoPtr optinfo);
</programlisting> </programlisting>
<blockquote><para> <blockquote><para>
@ -3354,7 +3354,7 @@ Next, the higher level functions that most drivers would use.
<blockquote><para> <blockquote><para>
<programlisting> <programlisting>
void xf86ShowUnusedOptions(int scrnIndex, pointer options); void xf86ShowUnusedOptions(int scrnIndex, XF86OptionPtr options);
</programlisting> </programlisting>
<blockquote><para> <blockquote><para>
Prints out warning messages for each option in the list of options Prints out warning messages for each option in the list of options

View File

@ -112,7 +112,7 @@ GetBaud (int baudrate)
} }
int int
xf86OpenSerial (pointer options) xf86OpenSerial (XF86OptionPtr options)
{ {
struct termios t; struct termios t;
int fd, i; int fd, i;
@ -185,7 +185,7 @@ xf86OpenSerial (pointer options)
} }
int int
xf86SetSerial (int fd, pointer options) xf86SetSerial (int fd, XF86OptionPtr options)
{ {
struct termios t; struct termios t;
int val; int val;

View File

@ -126,6 +126,7 @@
#include <X11/Xfuncproto.h> #include <X11/Xfuncproto.h>
#include "opaque.h" #include "opaque.h"
#include "xf86Optionstr.h"
_XFUNCPROTOBEGIN _XFUNCPROTOBEGIN
@ -145,8 +146,8 @@ extern _X_EXPORT void xf86SetRGBOut(void);
extern _X_EXPORT void xf86OSRingBell(int, int, int); extern _X_EXPORT void xf86OSRingBell(int, int, int);
extern _X_EXPORT void xf86SetReallySlowBcopy(void); extern _X_EXPORT void xf86SetReallySlowBcopy(void);
extern _X_EXPORT void xf86SlowBcopy(unsigned char *, unsigned char *, int); extern _X_EXPORT void xf86SlowBcopy(unsigned char *, unsigned char *, int);
extern _X_EXPORT int xf86OpenSerial(pointer options); extern _X_EXPORT int xf86OpenSerial(XF86OptionPtr options);
extern _X_EXPORT int xf86SetSerial(int fd, pointer options); extern _X_EXPORT int xf86SetSerial(int fd, XF86OptionPtr options);
extern _X_EXPORT int xf86SetSerialSpeed(int fd, int speed); extern _X_EXPORT int xf86SetSerialSpeed(int fd, int speed);
extern _X_EXPORT int xf86ReadSerial(int fd, void *buf, int count); extern _X_EXPORT int xf86ReadSerial(int fd, void *buf, int count);
extern _X_EXPORT int xf86WriteSerial(int fd, const void *buf, int count); extern _X_EXPORT int xf86WriteSerial(int fd, const void *buf, int count);

View File

@ -50,3 +50,5 @@ EXTRA_DIST = \
sdk_HEADERS = \ sdk_HEADERS = \
xf86Parser.h \ xf86Parser.h \
xf86Optrec.h xf86Optrec.h
INCLUDES = -I$(srcdir)/../common

View File

@ -65,33 +65,10 @@
#define _xf86Optrec_h_ #define _xf86Optrec_h_
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include "xf86Optionstr.h"
#include <X11/Xfuncproto.h> #include <X11/Xfuncproto.h>
/*
* all records that need to be linked lists should contain a GenericList as
* their first field.
*/
typedef struct generic_list_rec
{
void *next;
}
GenericListRec, *GenericListPtr, *glp;
/*
* All options are stored using this data type.
*/
typedef struct
{
GenericListRec list;
char *opt_name;
char *opt_val;
int opt_used;
char *opt_comment;
}
XF86OptionRec, *XF86OptionPtr;
extern _X_EXPORT XF86OptionPtr xf86addNewOption(XF86OptionPtr head, char *name, char *val); extern _X_EXPORT XF86OptionPtr xf86addNewOption(XF86OptionPtr head, char *name, char *val);
extern _X_EXPORT XF86OptionPtr xf86optionListDup(XF86OptionPtr opt); extern _X_EXPORT XF86OptionPtr xf86optionListDup(XF86OptionPtr opt);
extern _X_EXPORT void xf86optionListFree(XF86OptionPtr opt); extern _X_EXPORT void xf86optionListFree(XF86OptionPtr opt);

View File

@ -33,14 +33,15 @@
static void static void
xfree86_option_list_duplicate(void) xfree86_option_list_duplicate(void)
{ {
pointer options; XF86OptionPtr options;
pointer duplicate; XF86OptionPtr duplicate;
const char *o1 = "foo", const char *o1 = "foo",
*o2 = "bar", *o2 = "bar",
*v1 = "one", *v1 = "one",
*v2 = "two"; *v2 = "two";
const char *o_null= "NULL"; const char *o_null= "NULL";
char *val1, *val2; char *val1, *val2;
XF86OptionPtr a, b;
duplicate = xf86OptionListDuplicate(NULL); duplicate = xf86OptionListDuplicate(NULL);
assert(!duplicate); assert(!duplicate);
@ -67,9 +68,9 @@ xfree86_option_list_duplicate(void)
assert(strcmp(val1, v2) == 0); assert(strcmp(val1, v2) == 0);
assert(strcmp(val1, val2) == 0); assert(strcmp(val1, val2) == 0);
val1 = xf86FindOption(options, o_null); a = xf86FindOption(options, o_null);
val2 = xf86FindOption(duplicate, o_null); b = xf86FindOption(duplicate, o_null);
assert(val1 && val2); assert(a && b);
} }
int main(int argc, char** argv) int main(int argc, char** argv)