Add a new export, LoaderGetABIVersion. This function allows modules to
query the versions directly instead of having to guess. Bug #6416: Add LoaderGetABIVersion.
This commit is contained in:
parent
a06342eccc
commit
bd283c2464
|
@ -1,3 +1,12 @@
|
||||||
|
2006-03-27 Aaron Plattner <aplattner@nvidia.com>
|
||||||
|
|
||||||
|
* hw/xfree86/common/xf86Module.h:
|
||||||
|
* hw/xfree86/loader/loader.c: (LoaderGetABIVersion):
|
||||||
|
* hw/xfree86/loader/xf86sym.c:
|
||||||
|
Add a new export, LoaderGetABIVersion. This function allows
|
||||||
|
modules to query the versions directly instead of having to guess.
|
||||||
|
Bug #6416: Add LoaderGetABIVersion.
|
||||||
|
|
||||||
2006-03-27 Kristian Høgsberg <krh@redhat.com>
|
2006-03-27 Kristian Høgsberg <krh@redhat.com>
|
||||||
|
|
||||||
* configure.ac:
|
* configure.ac:
|
||||||
|
|
|
@ -215,6 +215,7 @@ void LoaderReqSymLists(const char **, ...);
|
||||||
void LoaderReqSymbols(const char *, ...);
|
void LoaderReqSymbols(const char *, ...);
|
||||||
int LoaderCheckUnresolved(int);
|
int LoaderCheckUnresolved(int);
|
||||||
void LoaderGetOS(const char **name, int *major, int *minor, int *teeny);
|
void LoaderGetOS(const char **name, int *major, int *minor, int *teeny);
|
||||||
|
int LoaderGetABIVersion(const char *abiclass);
|
||||||
|
|
||||||
typedef pointer (*ModuleSetupProc)(pointer, pointer, int *, int *);
|
typedef pointer (*ModuleSetupProc)(pointer, pointer, int *, int *);
|
||||||
typedef void (*ModuleTearDownProc)(pointer);
|
typedef void (*ModuleTearDownProc)(pointer);
|
||||||
|
|
|
@ -1508,3 +1508,28 @@ LoaderClearOptions(unsigned long opts)
|
||||||
{
|
{
|
||||||
LoaderOptions &= ~opts;
|
LoaderOptions &= ~opts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_X_EXPORT int
|
||||||
|
LoaderGetABIVersion(const char *abiclass)
|
||||||
|
{
|
||||||
|
struct {
|
||||||
|
const char *name;
|
||||||
|
int version;
|
||||||
|
} classes[] = {
|
||||||
|
{ ABI_CLASS_ANSIC, LoaderVersionInfo.ansicVersion },
|
||||||
|
{ ABI_CLASS_VIDEODRV, LoaderVersionInfo.videodrvVersion },
|
||||||
|
{ ABI_CLASS_XINPUT, LoaderVersionInfo.xinputVersion },
|
||||||
|
{ ABI_CLASS_EXTENSION, LoaderVersionInfo.extensionVersion },
|
||||||
|
{ ABI_CLASS_FONT, LoaderVersionInfo.fontVersion },
|
||||||
|
{ NULL, 0 }
|
||||||
|
};
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for(i = 0; classes[i].name; i++) {
|
||||||
|
if(!strcmp(classes[i].name, abiclass)) {
|
||||||
|
return classes[i].version;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -760,6 +760,7 @@ LOOKUP xfree86LookupTab[] = {
|
||||||
SYMFUNC(LoaderListDirs)
|
SYMFUNC(LoaderListDirs)
|
||||||
SYMFUNC(LoaderFreeDirList)
|
SYMFUNC(LoaderFreeDirList)
|
||||||
SYMFUNC(LoaderGetOS)
|
SYMFUNC(LoaderGetOS)
|
||||||
|
SYMFUNC(LoaderGetABIVersion)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These are our own interfaces to libc functions.
|
* These are our own interfaces to libc functions.
|
||||||
|
|
Loading…
Reference in New Issue