xref: /OK3568_Linux_fs/external/xserver/Xext/xacestr.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /************************************************************
2*4882a593Smuzhiyun 
3*4882a593Smuzhiyun Author: Eamon Walsh <ewalsh@tycho.nsa.gov>
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun Permission to use, copy, modify, distribute, and sell this software and its
6*4882a593Smuzhiyun documentation for any purpose is hereby granted without fee, provided that
7*4882a593Smuzhiyun this permission notice appear in supporting documentation.  This permission
8*4882a593Smuzhiyun notice shall be included in all copies or substantial portions of the
9*4882a593Smuzhiyun Software.
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12*4882a593Smuzhiyun IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13*4882a593Smuzhiyun FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
14*4882a593Smuzhiyun AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
15*4882a593Smuzhiyun AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
16*4882a593Smuzhiyun CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17*4882a593Smuzhiyun 
18*4882a593Smuzhiyun ********************************************************/
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun #ifndef _XACESTR_H
21*4882a593Smuzhiyun #define _XACESTR_H
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun #include "dix.h"
24*4882a593Smuzhiyun #include "resource.h"
25*4882a593Smuzhiyun #include "extnsionst.h"
26*4882a593Smuzhiyun #include "window.h"
27*4882a593Smuzhiyun #include "input.h"
28*4882a593Smuzhiyun #include "property.h"
29*4882a593Smuzhiyun #include "selection.h"
30*4882a593Smuzhiyun #include "xace.h"
31*4882a593Smuzhiyun 
32*4882a593Smuzhiyun /* XACE_CORE_DISPATCH */
33*4882a593Smuzhiyun typedef struct {
34*4882a593Smuzhiyun     ClientPtr client;
35*4882a593Smuzhiyun     int status;
36*4882a593Smuzhiyun } XaceCoreDispatchRec;
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun /* XACE_RESOURCE_ACCESS */
39*4882a593Smuzhiyun typedef struct {
40*4882a593Smuzhiyun     ClientPtr client;
41*4882a593Smuzhiyun     XID id;
42*4882a593Smuzhiyun     RESTYPE rtype;
43*4882a593Smuzhiyun     void *res;
44*4882a593Smuzhiyun     RESTYPE ptype;
45*4882a593Smuzhiyun     void *parent;
46*4882a593Smuzhiyun     Mask access_mode;
47*4882a593Smuzhiyun     int status;
48*4882a593Smuzhiyun } XaceResourceAccessRec;
49*4882a593Smuzhiyun 
50*4882a593Smuzhiyun /* XACE_DEVICE_ACCESS */
51*4882a593Smuzhiyun typedef struct {
52*4882a593Smuzhiyun     ClientPtr client;
53*4882a593Smuzhiyun     DeviceIntPtr dev;
54*4882a593Smuzhiyun     Mask access_mode;
55*4882a593Smuzhiyun     int status;
56*4882a593Smuzhiyun } XaceDeviceAccessRec;
57*4882a593Smuzhiyun 
58*4882a593Smuzhiyun /* XACE_PROPERTY_ACCESS */
59*4882a593Smuzhiyun typedef struct {
60*4882a593Smuzhiyun     ClientPtr client;
61*4882a593Smuzhiyun     WindowPtr pWin;
62*4882a593Smuzhiyun     PropertyPtr *ppProp;
63*4882a593Smuzhiyun     Mask access_mode;
64*4882a593Smuzhiyun     int status;
65*4882a593Smuzhiyun } XacePropertyAccessRec;
66*4882a593Smuzhiyun 
67*4882a593Smuzhiyun /* XACE_SEND_ACCESS */
68*4882a593Smuzhiyun typedef struct {
69*4882a593Smuzhiyun     ClientPtr client;
70*4882a593Smuzhiyun     DeviceIntPtr dev;
71*4882a593Smuzhiyun     WindowPtr pWin;
72*4882a593Smuzhiyun     xEventPtr events;
73*4882a593Smuzhiyun     int count;
74*4882a593Smuzhiyun     int status;
75*4882a593Smuzhiyun } XaceSendAccessRec;
76*4882a593Smuzhiyun 
77*4882a593Smuzhiyun /* XACE_RECEIVE_ACCESS */
78*4882a593Smuzhiyun typedef struct {
79*4882a593Smuzhiyun     ClientPtr client;
80*4882a593Smuzhiyun     WindowPtr pWin;
81*4882a593Smuzhiyun     xEventPtr events;
82*4882a593Smuzhiyun     int count;
83*4882a593Smuzhiyun     int status;
84*4882a593Smuzhiyun } XaceReceiveAccessRec;
85*4882a593Smuzhiyun 
86*4882a593Smuzhiyun /* XACE_CLIENT_ACCESS */
87*4882a593Smuzhiyun typedef struct {
88*4882a593Smuzhiyun     ClientPtr client;
89*4882a593Smuzhiyun     ClientPtr target;
90*4882a593Smuzhiyun     Mask access_mode;
91*4882a593Smuzhiyun     int status;
92*4882a593Smuzhiyun } XaceClientAccessRec;
93*4882a593Smuzhiyun 
94*4882a593Smuzhiyun /* XACE_EXT_DISPATCH */
95*4882a593Smuzhiyun /* XACE_EXT_ACCESS */
96*4882a593Smuzhiyun typedef struct {
97*4882a593Smuzhiyun     ClientPtr client;
98*4882a593Smuzhiyun     ExtensionEntry *ext;
99*4882a593Smuzhiyun     Mask access_mode;
100*4882a593Smuzhiyun     int status;
101*4882a593Smuzhiyun } XaceExtAccessRec;
102*4882a593Smuzhiyun 
103*4882a593Smuzhiyun /* XACE_SERVER_ACCESS */
104*4882a593Smuzhiyun typedef struct {
105*4882a593Smuzhiyun     ClientPtr client;
106*4882a593Smuzhiyun     Mask access_mode;
107*4882a593Smuzhiyun     int status;
108*4882a593Smuzhiyun } XaceServerAccessRec;
109*4882a593Smuzhiyun 
110*4882a593Smuzhiyun /* XACE_SELECTION_ACCESS */
111*4882a593Smuzhiyun typedef struct {
112*4882a593Smuzhiyun     ClientPtr client;
113*4882a593Smuzhiyun     Selection **ppSel;
114*4882a593Smuzhiyun     Mask access_mode;
115*4882a593Smuzhiyun     int status;
116*4882a593Smuzhiyun } XaceSelectionAccessRec;
117*4882a593Smuzhiyun 
118*4882a593Smuzhiyun /* XACE_SCREEN_ACCESS */
119*4882a593Smuzhiyun /* XACE_SCREENSAVER_ACCESS */
120*4882a593Smuzhiyun typedef struct {
121*4882a593Smuzhiyun     ClientPtr client;
122*4882a593Smuzhiyun     ScreenPtr screen;
123*4882a593Smuzhiyun     Mask access_mode;
124*4882a593Smuzhiyun     int status;
125*4882a593Smuzhiyun } XaceScreenAccessRec;
126*4882a593Smuzhiyun 
127*4882a593Smuzhiyun /* XACE_AUTH_AVAIL */
128*4882a593Smuzhiyun typedef struct {
129*4882a593Smuzhiyun     ClientPtr client;
130*4882a593Smuzhiyun     XID authId;
131*4882a593Smuzhiyun } XaceAuthAvailRec;
132*4882a593Smuzhiyun 
133*4882a593Smuzhiyun /* XACE_KEY_AVAIL */
134*4882a593Smuzhiyun typedef struct {
135*4882a593Smuzhiyun     xEventPtr event;
136*4882a593Smuzhiyun     DeviceIntPtr keybd;
137*4882a593Smuzhiyun     int count;
138*4882a593Smuzhiyun } XaceKeyAvailRec;
139*4882a593Smuzhiyun 
140*4882a593Smuzhiyun /* XACE_AUDIT_BEGIN */
141*4882a593Smuzhiyun /* XACE_AUDIT_END */
142*4882a593Smuzhiyun typedef struct {
143*4882a593Smuzhiyun     ClientPtr client;
144*4882a593Smuzhiyun     int requestResult;
145*4882a593Smuzhiyun } XaceAuditRec;
146*4882a593Smuzhiyun 
147*4882a593Smuzhiyun #endif                          /* _XACESTR_H */
148