Xi: Add access control request handling.

dix:	New file access.c to handle all access control for devices.
This commit is contained in:
Peter Hutterer
2007-02-22 20:00:59 +10:30
committed by Peter Hutterer
parent cd0af7a785
commit 4b8b0e377a
15 changed files with 921 additions and 20 deletions

View File

@@ -445,6 +445,37 @@ extern void SwitchCorePointer(DeviceIntPtr pDev);
extern DeviceIntPtr LookupDeviceIntRec(
CARD8 deviceid);
/* Pairing input devices */
extern int PairDevices(ClientPtr client,
DeviceIntPtr pointer,
DeviceIntPtr keyboard);
extern Bool RegisterPairingClient(ClientPtr client);
extern Bool UnregisterPairingClient(ClientPtr client);
/* Window/device based access control */
extern Bool ACRegisterClient(ClientPtr client);
extern Bool ACUnregisterClient(ClientPtr client);
extern int ACClearWindowAccess(ClientPtr client,
WindowPtr win,
int what);
extern int ACChangeWindowAccess(ClientPtr client,
WindowPtr win,
int defaultRule,
DeviceIntPtr* perm_devices,
int npermit,
DeviceIntPtr* deny_devices,
int ndeny);
extern void ACQueryWindowAccess(WindowPtr win,
int* defaultRule,
DeviceIntPtr** perm,
int* nperm,
DeviceIntPtr** deny,
int* ndeny);
extern Bool ACDeviceAllowed(WindowPtr win,
DeviceIntPtr dev);
/* Implemented by the DDX. */
extern int NewInputDeviceRequest(
InputOption *options);
@@ -454,11 +485,4 @@ extern void DDXRingBell(
int pitch,
int duration);
extern int PairDevices(ClientPtr client,
DeviceIntPtr pointer,
DeviceIntPtr keyboard);
extern Bool RegisterPairingClient(ClientPtr client);
extern Bool UnregisterPairingClient(ClientPtr client);
#endif /* INPUT_H */