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