1706f2543Smrg/************************************************************
2706f2543Smrg
3706f2543SmrgAuthor: Eamon Walsh <ewalsh@tycho.nsa.gov>
4706f2543Smrg
5706f2543SmrgPermission to use, copy, modify, distribute, and sell this software and its
6706f2543Smrgdocumentation for any purpose is hereby granted without fee, provided that
7706f2543Smrgthis permission notice appear in supporting documentation.  This permission
8706f2543Smrgnotice shall be included in all copies or substantial portions of the
9706f2543SmrgSoftware.
10706f2543Smrg
11706f2543SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12706f2543SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13706f2543SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
14706f2543SmrgAUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
15706f2543SmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
16706f2543SmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17706f2543Smrg
18706f2543Smrg********************************************************/
19706f2543Smrg
20706f2543Smrg#ifndef _XACESTR_H
21706f2543Smrg#define _XACESTR_H
22706f2543Smrg
23706f2543Smrg#include "dix.h"
24706f2543Smrg#include "resource.h"
25706f2543Smrg#include "extnsionst.h"
26706f2543Smrg#include "window.h"
27706f2543Smrg#include "input.h"
28706f2543Smrg#include "property.h"
29706f2543Smrg#include "selection.h"
30706f2543Smrg#include "xace.h"
31706f2543Smrg
32706f2543Smrg/* XACE_CORE_DISPATCH */
33706f2543Smrgtypedef struct {
34706f2543Smrg    ClientPtr client;
35706f2543Smrg    int status;
36706f2543Smrg} XaceCoreDispatchRec;
37706f2543Smrg
38706f2543Smrg/* XACE_RESOURCE_ACCESS */
39706f2543Smrgtypedef struct {
40706f2543Smrg    ClientPtr client;
41706f2543Smrg    XID id;
42706f2543Smrg    RESTYPE rtype;
43706f2543Smrg    pointer res;
44706f2543Smrg    RESTYPE ptype;
45706f2543Smrg    pointer parent;
46706f2543Smrg    Mask access_mode;
47706f2543Smrg    int status;
48706f2543Smrg} XaceResourceAccessRec;
49706f2543Smrg
50706f2543Smrg/* XACE_DEVICE_ACCESS */
51706f2543Smrgtypedef struct {
52706f2543Smrg    ClientPtr client;
53706f2543Smrg    DeviceIntPtr dev;
54706f2543Smrg    Mask access_mode;
55706f2543Smrg    int status;
56706f2543Smrg} XaceDeviceAccessRec;
57706f2543Smrg
58706f2543Smrg/* XACE_PROPERTY_ACCESS */
59706f2543Smrgtypedef struct {
60706f2543Smrg    ClientPtr client;
61706f2543Smrg    WindowPtr pWin;
62706f2543Smrg    PropertyPtr *ppProp;
63706f2543Smrg    Mask access_mode;
64706f2543Smrg    int status;
65706f2543Smrg} XacePropertyAccessRec;
66706f2543Smrg
67706f2543Smrg/* XACE_SEND_ACCESS */
68706f2543Smrgtypedef struct {
69706f2543Smrg    ClientPtr client;
70706f2543Smrg    DeviceIntPtr dev;
71706f2543Smrg    WindowPtr pWin;
72706f2543Smrg    xEventPtr events;
73706f2543Smrg    int count;
74706f2543Smrg    int status;
75706f2543Smrg} XaceSendAccessRec;
76706f2543Smrg
77706f2543Smrg/* XACE_RECEIVE_ACCESS */
78706f2543Smrgtypedef struct {
79706f2543Smrg    ClientPtr client;
80706f2543Smrg    WindowPtr pWin;
81706f2543Smrg    xEventPtr events;
82706f2543Smrg    int count;
83706f2543Smrg    int status;
84706f2543Smrg} XaceReceiveAccessRec;
85706f2543Smrg
86706f2543Smrg/* XACE_CLIENT_ACCESS */
87706f2543Smrgtypedef struct {
88706f2543Smrg    ClientPtr client;
89706f2543Smrg    ClientPtr target;
90706f2543Smrg    Mask access_mode;
91706f2543Smrg    int status;
92706f2543Smrg} XaceClientAccessRec;
93706f2543Smrg
94706f2543Smrg/* XACE_EXT_DISPATCH */
95706f2543Smrg/* XACE_EXT_ACCESS */
96706f2543Smrgtypedef struct {
97706f2543Smrg    ClientPtr client;
98706f2543Smrg    ExtensionEntry *ext;
99706f2543Smrg    Mask access_mode;
100706f2543Smrg    int status;
101706f2543Smrg} XaceExtAccessRec;
102706f2543Smrg
103706f2543Smrg/* XACE_SERVER_ACCESS */
104706f2543Smrgtypedef struct {
105706f2543Smrg    ClientPtr client;
106706f2543Smrg    Mask access_mode;
107706f2543Smrg    int status;
108706f2543Smrg} XaceServerAccessRec;
109706f2543Smrg
110706f2543Smrg/* XACE_SELECTION_ACCESS */
111706f2543Smrgtypedef struct {
112706f2543Smrg    ClientPtr client;
113706f2543Smrg    Selection **ppSel;
114706f2543Smrg    Mask access_mode;
115706f2543Smrg    int status;
116706f2543Smrg} XaceSelectionAccessRec;
117706f2543Smrg
118706f2543Smrg/* XACE_SCREEN_ACCESS */
119706f2543Smrg/* XACE_SCREENSAVER_ACCESS */
120706f2543Smrgtypedef struct {
121706f2543Smrg    ClientPtr client;
122706f2543Smrg    ScreenPtr screen;
123706f2543Smrg    Mask access_mode;
124706f2543Smrg    int status;
125706f2543Smrg} XaceScreenAccessRec;
126706f2543Smrg
127706f2543Smrg/* XACE_AUTH_AVAIL */
128706f2543Smrgtypedef struct {
129706f2543Smrg    ClientPtr client;
130706f2543Smrg    XID authId;
131706f2543Smrg} XaceAuthAvailRec;
132706f2543Smrg
133706f2543Smrg/* XACE_KEY_AVAIL */
134706f2543Smrgtypedef struct {
135706f2543Smrg    xEventPtr event;
136706f2543Smrg    DeviceIntPtr keybd;
137706f2543Smrg    int count;
138706f2543Smrg} XaceKeyAvailRec;
139706f2543Smrg
140706f2543Smrg/* XACE_AUDIT_BEGIN */
141706f2543Smrg/* XACE_AUDIT_END */
142706f2543Smrgtypedef struct {
143706f2543Smrg    ClientPtr client;
144706f2543Smrg    int requestResult;
145706f2543Smrg} XaceAuditRec;
146706f2543Smrg
147706f2543Smrg#endif /* _XACESTR_H */
148