mirror of
https://gitlab.freedesktop.org/xorg/proto/xorgproto.git
synced 2026-05-11 07:58:04 +02:00
add access control requests.
fix wrong field lengths for RegisterPairing request and reply.
This commit is contained in:
parent
bb5c144c53
commit
de6f3fcaff
3 changed files with 147 additions and 5 deletions
21
XI.h
21
XI.h
|
|
@ -114,9 +114,14 @@ SOFTWARE.
|
|||
#define sz_xQueryDevicePointerReply 32
|
||||
#define sz_xWarpDevicePointerReq 28
|
||||
#define sz_xChangeDeviceCursorReq 16
|
||||
#define sz_xChangePointerKeyboardPairingReq 8
|
||||
#define sz_xRegisterPairingClientReq 8
|
||||
#define sz_xChangePointerKeyboardPairingReq 8
|
||||
#define sz_xRegisterPairingClientReq 8
|
||||
#define sz_xRegisterPairingClientReply 32
|
||||
#define sz_xGrabAccessControlReq 8
|
||||
#define sz_xGrabAccessControlReply 32
|
||||
#define sz_xChangeWindowAccessReq 12
|
||||
#define sz_xQueryWindowAccessReq 8
|
||||
#define sz_xQueryWindowAccessReply 32
|
||||
|
||||
#define INAME "XInputExtension"
|
||||
|
||||
|
|
@ -264,6 +269,18 @@ SOFTWARE.
|
|||
#define _deviceEnter 0
|
||||
#define _deviceLeave 1
|
||||
|
||||
/* Flags for ChangeWindowAccess defaultRule. Pick one. */
|
||||
#define WindowAccessNoRule 0
|
||||
#define WindowAccessKeepRule 1
|
||||
#define WindowAccessDenyAll 2
|
||||
|
||||
/* Flags for ChangeWindowAccess. */
|
||||
#define WindowAccessClearNone 0
|
||||
#define WindowAccessClearPerm (1)
|
||||
#define WindowAccessClearDeny (1 << 1)
|
||||
#define WindowAccessClearRule (1 << 2)
|
||||
#define WindowAccessClearAll \
|
||||
WindowAccessClearPerm | WindowAccessClearDeny | WindowAccessClearRule
|
||||
|
||||
#define XI_BadDevice 0
|
||||
#define XI_BadEvent 1
|
||||
|
|
|
|||
43
XInput.h
43
XInput.h
|
|
@ -1309,6 +1309,49 @@ extern Bool XUnregisterPairingClient(
|
|||
Display* /* display */
|
||||
);
|
||||
|
||||
extern Bool XGrabAccessControl(
|
||||
Display* /* display */
|
||||
);
|
||||
|
||||
extern Bool XUngrabAccessControl(
|
||||
Display* /* display */
|
||||
);
|
||||
|
||||
extern Bool XClearAccessControl(
|
||||
Display* /* display*/,
|
||||
int /* what */
|
||||
);
|
||||
|
||||
extern Bool XChangeAcccessRule(
|
||||
Display* /* display */,
|
||||
int /* rule */
|
||||
);
|
||||
|
||||
extern Status XPermitDevices(
|
||||
Display* /* display */,
|
||||
Window /* win */,
|
||||
char* /* deviceids */,
|
||||
int /* ndevices */
|
||||
);
|
||||
|
||||
extern Status XDenyDevices(
|
||||
Display* /* display */,
|
||||
Window /* win */,
|
||||
char* /* deviceids */,
|
||||
int /* ndevices */
|
||||
);
|
||||
|
||||
extern Status XQueryWindowAccess(
|
||||
Display* /* dpy */,
|
||||
Window /* win */,
|
||||
int* /* rule */,
|
||||
char** /* permdevices */,
|
||||
int* /* nperm */,
|
||||
char** /* denydevices */,
|
||||
int* /* ndeny */
|
||||
);
|
||||
|
||||
|
||||
_XFUNCPROTOEND
|
||||
|
||||
#endif /* _XINPUT_H_ */
|
||||
|
|
|
|||
88
XIproto.h
88
XIproto.h
|
|
@ -164,6 +164,9 @@ struct tmask
|
|||
#define X_ChangeDeviceCursor 38
|
||||
#define X_ChangePointerKeyboardPairing 39
|
||||
#define X_RegisterPairingClient 40
|
||||
#define X_GrabAccessControl 41
|
||||
#define X_ChangeWindowAccess 42
|
||||
#define X_QueryWindowAccess 43
|
||||
|
||||
/*********************************************************
|
||||
*
|
||||
|
|
@ -1513,7 +1516,7 @@ typedef struct {
|
|||
|
||||
/**********************************************************
|
||||
*
|
||||
* ChangePointerKeyboardPairing.
|
||||
* RegisterPairingClient.
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
@ -1523,14 +1526,14 @@ typedef struct {
|
|||
CARD16 length B16;
|
||||
CARD8 disable; /* True to disable registration */
|
||||
CARD8 pad0;
|
||||
CARD16 pad1;
|
||||
CARD16 pad1 B16;
|
||||
} xRegisterPairingClientReq;
|
||||
|
||||
typedef struct {
|
||||
CARD8 repType; /* input extension major code */
|
||||
CARD8 RepType; /* always X_RegisterPairingClient */
|
||||
CARD16 sequenceNumber B16;
|
||||
CARD32 length B16; /* 0 */
|
||||
CARD32 length B32; /* 0 */
|
||||
CARD8 success; /* True on success, false otherwise */
|
||||
CARD8 pad0;
|
||||
CARD16 pad1 B16;
|
||||
|
|
@ -1541,6 +1544,85 @@ typedef struct {
|
|||
CARD32 pad6 B32;
|
||||
} xRegisterPairingClientReply;
|
||||
|
||||
/**********************************************************
|
||||
*
|
||||
* GrabAccessControl.
|
||||
*
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
CARD8 reqType; /* input extension major code */
|
||||
CARD8 ReqType; /* always X_GrabAccessControl */
|
||||
CARD16 length B16;
|
||||
BOOL ungrab; /* true if request is ungrab request */
|
||||
CARD8 pad0, pad1, pad2;
|
||||
} xGrabAccessControlReq;
|
||||
|
||||
typedef struct {
|
||||
CARD8 repType; /* input extension major code */
|
||||
CARD8 RepType; /* always X_GrabAccessControl */
|
||||
CARD16 sequenceNumber B16;
|
||||
CARD32 length B32;
|
||||
CARD8 success;
|
||||
CARD8 pad0,
|
||||
pad1,
|
||||
pad2;
|
||||
CARD32 pad3 B32;
|
||||
CARD32 pad4 B32;
|
||||
CARD32 pad5 B32;
|
||||
CARD32 pad6 B32;
|
||||
CARD32 pad7 B32;
|
||||
} xGrabAccessControlReply;
|
||||
|
||||
/**********************************************************
|
||||
*
|
||||
* ChangeWindowAccess.
|
||||
*
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
CARD8 reqType; /* input extension major opcode */
|
||||
CARD8 ReqType; /* Always X_ChangeWindowAccess */
|
||||
CARD16 length B16;
|
||||
Window win B32;
|
||||
CARD8 npermit; /* number of devices for permit rule */
|
||||
CARD8 ndeny; /* number of devices for deny rule */
|
||||
CARD8 defaultRule; /* default rule */
|
||||
CARD8 clear; /* WindowAccessClearPerm,
|
||||
WindowAccessClearDeny,
|
||||
WindowAccessClearRule,
|
||||
WindowAccessClearAll */
|
||||
} xChangeWindowAccessReq;
|
||||
|
||||
/**********************************************************
|
||||
*
|
||||
* QueryAccessToWindow.
|
||||
*
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
CARD8 reqType; /* input extension major code */
|
||||
CARD8 ReqType; /* always X_RegisterAccessControl */
|
||||
CARD16 length B16;
|
||||
Window win B32;
|
||||
} xQueryWindowAccessReq;
|
||||
|
||||
typedef struct {
|
||||
CARD8 repType; /* input extension major opcode */
|
||||
CARD8 RepType; /* Always X_ChangeAccessToWindow */
|
||||
CARD16 sequenceNumber B16;
|
||||
CARD32 length B32;
|
||||
CARD8 defaultRule; /* default rule setting */
|
||||
CARD8 npermit; /* number of devices in permit */
|
||||
CARD8 ndeny; /* number of devices in deny */
|
||||
CARD8 pad0;
|
||||
CARD32 pad1 B32;
|
||||
CARD32 pad2 B32;
|
||||
CARD32 pad3 B32;
|
||||
CARD32 pad4 B32;
|
||||
CARD32 pad5 B32;
|
||||
} xQueryWindowAccessReply;
|
||||
|
||||
/**********************************************************
|
||||
*
|
||||
* Input extension events.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue