dix: add new, combined resource lookup function. Move all dix lookup API
deprecated so far to a new file dix/deprecated.c. Remove the deprecation warnings for the time being.
This commit is contained in:
parent
63e46e4fc3
commit
ed75b05651
|
@ -8,6 +8,7 @@ libdix_la_SOURCES = \
|
||||||
atom.c \
|
atom.c \
|
||||||
colormap.c \
|
colormap.c \
|
||||||
cursor.c \
|
cursor.c \
|
||||||
|
deprecated.c \
|
||||||
devices.c \
|
devices.c \
|
||||||
dispatch.c \
|
dispatch.c \
|
||||||
dispatch.h \
|
dispatch.h \
|
||||||
|
|
|
@ -0,0 +1,162 @@
|
||||||
|
/***********************************************************
|
||||||
|
|
||||||
|
Copyright 1987, 1998 The Open Group
|
||||||
|
|
||||||
|
Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
|
documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
the above copyright notice appear in all copies and that both that
|
||||||
|
copyright notice and this permission notice appear in supporting
|
||||||
|
documentation.
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice 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
|
||||||
|
OPEN GROUP 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.
|
||||||
|
|
||||||
|
Except as contained in this notice, the name of The Open Group shall not be
|
||||||
|
used in advertising or otherwise to promote the sale, use or other dealings
|
||||||
|
in this Software without prior written authorization from The Open Group.
|
||||||
|
|
||||||
|
|
||||||
|
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||||
|
|
||||||
|
All Rights Reserved
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and distribute this software and its
|
||||||
|
documentation for any purpose and without fee is hereby granted,
|
||||||
|
provided that the above copyright notice appear in all copies and that
|
||||||
|
both that copyright notice and this permission notice appear in
|
||||||
|
supporting documentation, and that the name of Digital not be
|
||||||
|
used in advertising or publicity pertaining to distribution of the
|
||||||
|
software without specific, written prior permission.
|
||||||
|
|
||||||
|
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||||
|
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||||
|
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||||
|
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||||
|
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||||
|
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
******************************************************************/
|
||||||
|
|
||||||
|
#ifdef HAVE_DIX_CONFIG_H
|
||||||
|
#include <dix-config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "dix.h"
|
||||||
|
#include "misc.h"
|
||||||
|
#include "dixstruct.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* These are deprecated compatibility functions and will be marked as such
|
||||||
|
* and removed soon!
|
||||||
|
*
|
||||||
|
* Please use the noted replacements instead.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* replaced by dixLookupWindow */
|
||||||
|
_X_EXPORT WindowPtr
|
||||||
|
SecurityLookupWindow(XID id, ClientPtr client, Mask access_mode)
|
||||||
|
{
|
||||||
|
WindowPtr pWin;
|
||||||
|
int i = dixLookupWindow(&pWin, id, client, access_mode);
|
||||||
|
static int warn = 1;
|
||||||
|
if (warn > 0 && --warn)
|
||||||
|
ErrorF("Warning: LookupWindow()/SecurityLookupWindow() "
|
||||||
|
"are deprecated. Please convert your driver/module "
|
||||||
|
"to use dixLookupWindow().\n");
|
||||||
|
return (i == Success) ? pWin : NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* replaced by dixLookupWindow */
|
||||||
|
_X_EXPORT WindowPtr
|
||||||
|
LookupWindow(XID id, ClientPtr client)
|
||||||
|
{
|
||||||
|
return SecurityLookupWindow(id, client, DixUnknownAccess);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* replaced by dixLookupDrawable */
|
||||||
|
_X_EXPORT pointer
|
||||||
|
SecurityLookupDrawable(XID id, ClientPtr client, Mask access_mode)
|
||||||
|
{
|
||||||
|
DrawablePtr pDraw;
|
||||||
|
int i = dixLookupDrawable(&pDraw, id, client, M_DRAWABLE, access_mode);
|
||||||
|
static int warn = 1;
|
||||||
|
if (warn > 0 && --warn)
|
||||||
|
ErrorF("Warning: LookupDrawable()/SecurityLookupDrawable() "
|
||||||
|
"are deprecated. Please convert your driver/module "
|
||||||
|
"to use dixLookupDrawable().\n");
|
||||||
|
return (i == Success) ? pDraw : NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* replaced by dixLookupDrawable */
|
||||||
|
_X_EXPORT pointer
|
||||||
|
LookupDrawable(XID id, ClientPtr client)
|
||||||
|
{
|
||||||
|
return SecurityLookupDrawable(id, client, DixUnknownAccess);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* replaced by dixLookupClient */
|
||||||
|
_X_EXPORT ClientPtr
|
||||||
|
LookupClient(XID id, ClientPtr client)
|
||||||
|
{
|
||||||
|
ClientPtr pClient;
|
||||||
|
int i = dixLookupClient(&pClient, id, client, DixUnknownAccess);
|
||||||
|
static int warn = 1;
|
||||||
|
if (warn > 0 && --warn)
|
||||||
|
ErrorF("Warning: LookupClient() is deprecated. Please convert your "
|
||||||
|
"driver/module to use dixLookupClient().\n");
|
||||||
|
return (i == Success) ? pClient : NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* replaced by dixLookupResource */
|
||||||
|
_X_EXPORT pointer
|
||||||
|
SecurityLookupIDByType(ClientPtr client, XID id, RESTYPE rtype,
|
||||||
|
Mask access_mode)
|
||||||
|
{
|
||||||
|
pointer retval;
|
||||||
|
int i = dixLookupResource(&retval, id, rtype, client, access_mode);
|
||||||
|
static int warn = 1;
|
||||||
|
if (warn > 0 && --warn)
|
||||||
|
ErrorF("Warning: LookupIDByType()/SecurityLookupIDByType() "
|
||||||
|
"are deprecated. Please convert your driver/module "
|
||||||
|
"to use dixLookupResource().\n");
|
||||||
|
return (i == Success) ? retval : NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* replaced by dixLookupResource */
|
||||||
|
_X_EXPORT pointer
|
||||||
|
SecurityLookupIDByClass(ClientPtr client, XID id, RESTYPE classes,
|
||||||
|
Mask access_mode)
|
||||||
|
{
|
||||||
|
pointer retval;
|
||||||
|
int i = dixLookupResource(&retval, id, classes, client, access_mode);
|
||||||
|
static int warn = 1;
|
||||||
|
if (warn > 0 && --warn)
|
||||||
|
ErrorF("Warning: LookupIDByClass()/SecurityLookupIDByClass() "
|
||||||
|
"are deprecated. Please convert your driver/module "
|
||||||
|
"to use dixLookupResource().\n");
|
||||||
|
return (i == Success) ? retval : NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* replaced by dixLookupResource */
|
||||||
|
_X_EXPORT pointer
|
||||||
|
LookupIDByType(XID id, RESTYPE rtype)
|
||||||
|
{
|
||||||
|
return SecurityLookupIDByType(NullClient, id, rtype, DixUnknownAccess);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* replaced by dixLookupResource */
|
||||||
|
_X_EXPORT pointer
|
||||||
|
LookupIDByClass(XID id, RESTYPE classes)
|
||||||
|
{
|
||||||
|
return SecurityLookupIDByClass(NullClient, id, classes, DixUnknownAccess);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* end deprecated functions */
|
|
@ -223,8 +223,8 @@ dixLookupDrawable(DrawablePtr *pDraw, XID id, ClientPtr client,
|
||||||
if (!XaceHook(XACE_RESOURCE_ACCESS, client, id, rtype, access, pTmp))
|
if (!XaceHook(XACE_RESOURCE_ACCESS, client, id, rtype, access, pTmp))
|
||||||
return BadDrawable;
|
return BadDrawable;
|
||||||
} else
|
} else
|
||||||
pTmp = (DrawablePtr)SecurityLookupIDByClass(client, id, RC_DRAWABLE,
|
dixLookupResource((void **)&pTmp, id, RC_DRAWABLE, client, access);
|
||||||
access);
|
|
||||||
if (!pTmp)
|
if (!pTmp)
|
||||||
return BadDrawable;
|
return BadDrawable;
|
||||||
if (!((1 << pTmp->type) & (type ? type : M_DRAWABLE)))
|
if (!((1 << pTmp->type) & (type ? type : M_DRAWABLE)))
|
||||||
|
@ -264,11 +264,12 @@ dixLookupGC(GCPtr *pGC, XID id, ClientPtr client, Mask access)
|
||||||
_X_EXPORT int
|
_X_EXPORT int
|
||||||
dixLookupClient(ClientPtr *pClient, XID rid, ClientPtr client, Mask access)
|
dixLookupClient(ClientPtr *pClient, XID rid, ClientPtr client, Mask access)
|
||||||
{
|
{
|
||||||
pointer pRes = (pointer)SecurityLookupIDByClass(client, rid, RC_ANY,
|
pointer pRes;
|
||||||
DixReadAccess);
|
|
||||||
int clientIndex = CLIENT_ID(rid);
|
int clientIndex = CLIENT_ID(rid);
|
||||||
client->errorValue = rid;
|
client->errorValue = rid;
|
||||||
|
|
||||||
|
dixLookupResource(&pRes, rid, RC_ANY, client, DixReadAccess);
|
||||||
|
|
||||||
if (clientIndex && pRes && clients[clientIndex] && !(rid & SERVER_BIT)) {
|
if (clientIndex && pRes && clients[clientIndex] && !(rid & SERVER_BIT)) {
|
||||||
*pClient = clients[clientIndex];
|
*pClient = clients[clientIndex];
|
||||||
return Success;
|
return Success;
|
||||||
|
@ -277,62 +278,6 @@ dixLookupClient(ClientPtr *pClient, XID rid, ClientPtr client, Mask access)
|
||||||
return BadValue;
|
return BadValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* These are deprecated compatibility functions and will be removed soon!
|
|
||||||
* Please use the new dixLookup*() functions above.
|
|
||||||
*/
|
|
||||||
_X_EXPORT _X_DEPRECATED WindowPtr
|
|
||||||
SecurityLookupWindow(XID id, ClientPtr client, Mask access_mode)
|
|
||||||
{
|
|
||||||
WindowPtr pWin;
|
|
||||||
int i = dixLookupWindow(&pWin, id, client, access_mode);
|
|
||||||
static int warn = 1;
|
|
||||||
if (warn-- > 0)
|
|
||||||
ErrorF("Warning: LookupWindow()/SecurityLookupWindow() "
|
|
||||||
"are deprecated. Please convert your driver/module "
|
|
||||||
"to use dixLookupWindow().\n");
|
|
||||||
return (i == Success) ? pWin : NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
_X_EXPORT _X_DEPRECATED WindowPtr
|
|
||||||
LookupWindow(XID id, ClientPtr client)
|
|
||||||
{
|
|
||||||
return SecurityLookupWindow(id, client, DixUnknownAccess);
|
|
||||||
}
|
|
||||||
|
|
||||||
_X_EXPORT _X_DEPRECATED pointer
|
|
||||||
SecurityLookupDrawable(XID id, ClientPtr client, Mask access_mode)
|
|
||||||
{
|
|
||||||
DrawablePtr pDraw;
|
|
||||||
int i = dixLookupDrawable(&pDraw, id, client, M_DRAWABLE, access_mode);
|
|
||||||
static int warn = 1;
|
|
||||||
if (warn-- > 0)
|
|
||||||
ErrorF("Warning: LookupDrawable()/SecurityLookupDrawable() "
|
|
||||||
"are deprecated. Please convert your driver/module "
|
|
||||||
"to use dixLookupDrawable().\n");
|
|
||||||
return (i == Success) ? pDraw : NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
_X_EXPORT _X_DEPRECATED pointer
|
|
||||||
LookupDrawable(XID id, ClientPtr client)
|
|
||||||
{
|
|
||||||
return SecurityLookupDrawable(id, client, DixUnknownAccess);
|
|
||||||
}
|
|
||||||
|
|
||||||
_X_EXPORT _X_DEPRECATED ClientPtr
|
|
||||||
LookupClient(XID id, ClientPtr client)
|
|
||||||
{
|
|
||||||
ClientPtr pClient;
|
|
||||||
int i = dixLookupClient(&pClient, id, client, DixUnknownAccess);
|
|
||||||
static int warn = 1;
|
|
||||||
if (warn-- > 0)
|
|
||||||
ErrorF("Warning: LookupClient() is deprecated. Please convert your "
|
|
||||||
"driver/module to use dixLookupClient().\n");
|
|
||||||
return (i == Success) ? pClient : NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* end deprecated functions */
|
|
||||||
|
|
||||||
int
|
int
|
||||||
AlterSaveSetForClient(ClientPtr client, WindowPtr pWin, unsigned mode,
|
AlterSaveSetForClient(ClientPtr client, WindowPtr pWin, unsigned mode,
|
||||||
Bool toRoot, Bool remap)
|
Bool toRoot, Bool remap)
|
||||||
|
|
|
@ -899,81 +899,31 @@ LegalNewID(XID id, ClientPtr client)
|
||||||
!LookupIDByClass(id, RC_ANY)));
|
!LookupIDByClass(id, RC_ANY)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* SecurityLookupIDByType and SecurityLookupIDByClass:
|
_X_EXPORT int
|
||||||
* These are the heart of the resource ID security system. They take
|
dixLookupResource(pointer *result, XID id, RESTYPE rtype,
|
||||||
* two additional arguments compared to the old LookupID functions:
|
ClientPtr client, Mask mode)
|
||||||
* the client doing the lookup, and the access mode (see resource.h).
|
|
||||||
* The resource is returned if it exists and the client is allowed access,
|
|
||||||
* else NULL is returned.
|
|
||||||
*/
|
|
||||||
|
|
||||||
_X_EXPORT pointer
|
|
||||||
SecurityLookupIDByType(ClientPtr client, XID id, RESTYPE rtype, Mask mode)
|
|
||||||
{
|
{
|
||||||
int cid;
|
int cid = CLIENT_ID(id);
|
||||||
ResourcePtr res;
|
int istype = (rtype & TypeMask) && (rtype != RC_ANY);
|
||||||
pointer retval = NULL;
|
|
||||||
|
|
||||||
if (((cid = CLIENT_ID(id)) < MAXCLIENTS) &&
|
|
||||||
clientTable[cid].buckets)
|
|
||||||
{
|
|
||||||
res = clientTable[cid].resources[Hash(cid, id)];
|
|
||||||
|
|
||||||
for (; res; res = res->next)
|
|
||||||
if ((res->id == id) && (res->type == rtype))
|
|
||||||
{
|
|
||||||
retval = res->value;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (retval && client &&
|
|
||||||
!XaceHook(XACE_RESOURCE_ACCESS, client, id, rtype, mode, retval))
|
|
||||||
retval = NULL;
|
|
||||||
|
|
||||||
return retval;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
_X_EXPORT pointer
|
|
||||||
SecurityLookupIDByClass(ClientPtr client, XID id, RESTYPE classes, Mask mode)
|
|
||||||
{
|
|
||||||
int cid;
|
|
||||||
ResourcePtr res = NULL;
|
ResourcePtr res = NULL;
|
||||||
pointer retval = NULL;
|
|
||||||
|
|
||||||
if (((cid = CLIENT_ID(id)) < MAXCLIENTS) &&
|
*result = NULL;
|
||||||
clientTable[cid].buckets)
|
client->errorValue = id;
|
||||||
{
|
|
||||||
|
if ((cid < MAXCLIENTS) && clientTable[cid].buckets) {
|
||||||
res = clientTable[cid].resources[Hash(cid, id)];
|
res = clientTable[cid].resources[Hash(cid, id)];
|
||||||
|
|
||||||
for (; res; res = res->next)
|
for (; res; res = res->next)
|
||||||
if ((res->id == id) && (res->type & classes))
|
if ((res->id == id) && ((istype && res->type == rtype) ||
|
||||||
{
|
(!istype && res->type & rtype)))
|
||||||
retval = res->value;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if (res) {
|
||||||
|
if (client && !XaceHook(XACE_RESOURCE_ACCESS, client, id, res->type,
|
||||||
|
mode, res->value))
|
||||||
|
return BadAccess;
|
||||||
|
*result = res->value;
|
||||||
|
return Success;
|
||||||
}
|
}
|
||||||
if (retval && client &&
|
return BadValue;
|
||||||
!XaceHook(XACE_RESOURCE_ACCESS, client, id, res->type, mode, retval))
|
|
||||||
retval = NULL;
|
|
||||||
|
|
||||||
return retval;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* We can't replace the LookupIDByType and LookupIDByClass functions with
|
|
||||||
* macros because of compatibility with loadable servers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
_X_EXPORT pointer
|
|
||||||
LookupIDByType(XID id, RESTYPE rtype)
|
|
||||||
{
|
|
||||||
return SecurityLookupIDByType(NullClient, id, rtype,
|
|
||||||
DixUnknownAccess);
|
|
||||||
}
|
|
||||||
|
|
||||||
_X_EXPORT pointer
|
|
||||||
LookupIDByClass(XID id, RESTYPE classes)
|
|
||||||
{
|
|
||||||
return SecurityLookupIDByClass(NullClient, id, classes,
|
|
||||||
DixUnknownAccess);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,6 +114,16 @@ _X_HIDDEN void *dixLookupTab[] = {
|
||||||
SYMFUNC(QueryColors)
|
SYMFUNC(QueryColors)
|
||||||
/* cursor.c */
|
/* cursor.c */
|
||||||
SYMFUNC(FreeCursor)
|
SYMFUNC(FreeCursor)
|
||||||
|
/* deprecated.c */
|
||||||
|
SYMFUNC(LookupClient)
|
||||||
|
SYMFUNC(LookupDrawable)
|
||||||
|
SYMFUNC(LookupWindow)
|
||||||
|
SYMFUNC(SecurityLookupDrawable)
|
||||||
|
SYMFUNC(SecurityLookupWindow)
|
||||||
|
SYMFUNC(LookupIDByType)
|
||||||
|
SYMFUNC(LookupIDByClass)
|
||||||
|
SYMFUNC(SecurityLookupIDByClass)
|
||||||
|
SYMFUNC(SecurityLookupIDByType)
|
||||||
/* devices.c */
|
/* devices.c */
|
||||||
SYMFUNC(Ones)
|
SYMFUNC(Ones)
|
||||||
SYMFUNC(InitButtonClassDeviceStruct)
|
SYMFUNC(InitButtonClassDeviceStruct)
|
||||||
|
@ -160,13 +170,6 @@ _X_HIDDEN void *dixLookupTab[] = {
|
||||||
SYMFUNC(dixLookupWindow)
|
SYMFUNC(dixLookupWindow)
|
||||||
SYMFUNC(dixLookupClient)
|
SYMFUNC(dixLookupClient)
|
||||||
SYMFUNC(dixLookupGC)
|
SYMFUNC(dixLookupGC)
|
||||||
/* following are deprecated */
|
|
||||||
SYMFUNC(LookupClient)
|
|
||||||
SYMFUNC(LookupDrawable)
|
|
||||||
SYMFUNC(LookupWindow)
|
|
||||||
SYMFUNC(SecurityLookupDrawable)
|
|
||||||
SYMFUNC(SecurityLookupWindow)
|
|
||||||
/* end deprecated */
|
|
||||||
SYMFUNC(NoopDDA)
|
SYMFUNC(NoopDDA)
|
||||||
SYMFUNC(QueueWorkProc)
|
SYMFUNC(QueueWorkProc)
|
||||||
SYMFUNC(RegisterBlockAndWakeupHandlers)
|
SYMFUNC(RegisterBlockAndWakeupHandlers)
|
||||||
|
@ -287,16 +290,13 @@ _X_HIDDEN void *dixLookupTab[] = {
|
||||||
SYMFUNC(ChangeResourceValue)
|
SYMFUNC(ChangeResourceValue)
|
||||||
SYMFUNC(CreateNewResourceClass)
|
SYMFUNC(CreateNewResourceClass)
|
||||||
SYMFUNC(CreateNewResourceType)
|
SYMFUNC(CreateNewResourceType)
|
||||||
|
SYMFUNC(dixLookupResource)
|
||||||
SYMFUNC(FakeClientID)
|
SYMFUNC(FakeClientID)
|
||||||
SYMFUNC(FreeResource)
|
SYMFUNC(FreeResource)
|
||||||
SYMFUNC(FreeResourceByType)
|
SYMFUNC(FreeResourceByType)
|
||||||
SYMFUNC(GetXIDList)
|
SYMFUNC(GetXIDList)
|
||||||
SYMFUNC(GetXIDRange)
|
SYMFUNC(GetXIDRange)
|
||||||
SYMFUNC(LookupIDByType)
|
|
||||||
SYMFUNC(LookupIDByClass)
|
|
||||||
SYMFUNC(LegalNewID)
|
SYMFUNC(LegalNewID)
|
||||||
SYMFUNC(SecurityLookupIDByClass)
|
|
||||||
SYMFUNC(SecurityLookupIDByType)
|
|
||||||
SYMFUNC(FindClientResourcesByType)
|
SYMFUNC(FindClientResourcesByType)
|
||||||
SYMFUNC(FindAllClientResources)
|
SYMFUNC(FindAllClientResources)
|
||||||
SYMVAR(lastResourceType)
|
SYMVAR(lastResourceType)
|
||||||
|
|
|
@ -233,17 +233,6 @@ extern int dixLookupClient(
|
||||||
ClientPtr client,
|
ClientPtr client,
|
||||||
Mask access_mode);
|
Mask access_mode);
|
||||||
|
|
||||||
/*
|
|
||||||
* These are deprecated compatibility functions and will be removed soon!
|
|
||||||
* Please use the new dixLookup*() functions above.
|
|
||||||
*/
|
|
||||||
extern WindowPtr SecurityLookupWindow(XID, ClientPtr, Mask);
|
|
||||||
extern WindowPtr LookupWindow(XID, ClientPtr);
|
|
||||||
extern pointer SecurityLookupDrawable(XID, ClientPtr, Mask);
|
|
||||||
extern pointer LookupDrawable(XID, ClientPtr);
|
|
||||||
extern ClientPtr LookupClient(XID, ClientPtr);
|
|
||||||
/* end deprecated functions */
|
|
||||||
|
|
||||||
extern void NoopDDA(void);
|
extern void NoopDDA(void);
|
||||||
|
|
||||||
extern int AlterSaveSetForClient(
|
extern int AlterSaveSetForClient(
|
||||||
|
@ -641,4 +630,36 @@ extern int xstrcasecmp(char *s1, char *s2);
|
||||||
/* ffs.c */
|
/* ffs.c */
|
||||||
extern int ffs(int i);
|
extern int ffs(int i);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* These are deprecated compatibility functions and will be removed soon!
|
||||||
|
* Please use the noted replacements instead.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* replaced by dixLookupWindow */
|
||||||
|
extern WindowPtr SecurityLookupWindow(
|
||||||
|
XID id,
|
||||||
|
ClientPtr client,
|
||||||
|
Mask access_mode);
|
||||||
|
|
||||||
|
/* replaced by dixLookupWindow */
|
||||||
|
extern WindowPtr LookupWindow(
|
||||||
|
XID id,
|
||||||
|
ClientPtr client);
|
||||||
|
|
||||||
|
/* replaced by dixLookupDrawable */
|
||||||
|
extern pointer SecurityLookupDrawable(
|
||||||
|
XID id,
|
||||||
|
ClientPtr client,
|
||||||
|
Mask access_mode);
|
||||||
|
|
||||||
|
/* replaced by dixLookupDrawable */
|
||||||
|
extern pointer LookupDrawable(
|
||||||
|
XID id,
|
||||||
|
ClientPtr client);
|
||||||
|
|
||||||
|
/* replaced by dixLookupClient */
|
||||||
|
extern ClientPtr LookupClient(
|
||||||
|
XID id,
|
||||||
|
ClientPtr client);
|
||||||
|
|
||||||
#endif /* DIX_H */
|
#endif /* DIX_H */
|
||||||
|
|
|
@ -212,32 +212,18 @@ extern Bool LegalNewID(
|
||||||
XID /*id*/,
|
XID /*id*/,
|
||||||
ClientPtr /*client*/);
|
ClientPtr /*client*/);
|
||||||
|
|
||||||
extern pointer LookupIDByType(
|
|
||||||
XID /*id*/,
|
|
||||||
RESTYPE /*rtype*/);
|
|
||||||
|
|
||||||
extern pointer LookupIDByClass(
|
|
||||||
XID /*id*/,
|
|
||||||
RESTYPE /*classes*/);
|
|
||||||
|
|
||||||
extern pointer LookupClientResourceComplex(
|
extern pointer LookupClientResourceComplex(
|
||||||
ClientPtr client,
|
ClientPtr client,
|
||||||
RESTYPE type,
|
RESTYPE type,
|
||||||
FindComplexResType func,
|
FindComplexResType func,
|
||||||
pointer cdata);
|
pointer cdata);
|
||||||
|
|
||||||
extern pointer SecurityLookupIDByType(
|
extern int dixLookupResource(
|
||||||
ClientPtr /*client*/,
|
pointer *result,
|
||||||
XID /*id*/,
|
XID id,
|
||||||
RESTYPE /*rtype*/,
|
RESTYPE rtype,
|
||||||
Mask /*access_mode*/);
|
ClientPtr client,
|
||||||
|
Mask access_mode);
|
||||||
extern pointer SecurityLookupIDByClass(
|
|
||||||
ClientPtr /*client*/,
|
|
||||||
XID /*id*/,
|
|
||||||
RESTYPE /*classes*/,
|
|
||||||
Mask /*access_mode*/);
|
|
||||||
|
|
||||||
|
|
||||||
extern void GetXIDRange(
|
extern void GetXIDRange(
|
||||||
int /*client*/,
|
int /*client*/,
|
||||||
|
@ -258,5 +244,34 @@ extern Atom *ResourceNames;
|
||||||
void RegisterResourceName(RESTYPE type, char* name);
|
void RegisterResourceName(RESTYPE type, char* name);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* These are deprecated compatibility functions and will be removed soon!
|
||||||
|
* Please use the noted replacements instead.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* replaced by dixLookupResource */
|
||||||
|
extern pointer SecurityLookupIDByType(
|
||||||
|
ClientPtr client,
|
||||||
|
XID id,
|
||||||
|
RESTYPE rtype,
|
||||||
|
Mask access_mode);
|
||||||
|
|
||||||
|
/* replaced by dixLookupResource */
|
||||||
|
extern pointer SecurityLookupIDByClass(
|
||||||
|
ClientPtr client,
|
||||||
|
XID id,
|
||||||
|
RESTYPE classes,
|
||||||
|
Mask access_mode);
|
||||||
|
|
||||||
|
/* replaced by dixLookupResource */
|
||||||
|
extern pointer LookupIDByType(
|
||||||
|
XID id,
|
||||||
|
RESTYPE rtype);
|
||||||
|
|
||||||
|
/* replaced by dixLookupResource */
|
||||||
|
extern pointer LookupIDByClass(
|
||||||
|
XID id,
|
||||||
|
RESTYPE classes);
|
||||||
|
|
||||||
#endif /* RESOURCE_H */
|
#endif /* RESOURCE_H */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue