Imported Upstream version 1.15.1
[deb_xorg-server.git] / Xext / xselinux.h
CommitLineData
a09e091a
JB
1/************************************************************
2
3Author: Eamon Walsh <ewalsh@tycho.nsa.gov>
4
5Permission to use, copy, modify, distribute, and sell this software and its
6documentation for any purpose is hereby granted without fee, provided that
7this permission notice appear in supporting documentation. This permission
8notice shall be included in all copies or substantial portions of the
9Software.
10
11THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
15AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
16CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17
18********************************************************/
19
20#ifndef _XSELINUX_H
21#define _XSELINUX_H
22
23/* Extension info */
24#define SELINUX_EXTENSION_NAME "SELinux"
25#define SELINUX_MAJOR_VERSION 1
26#define SELINUX_MINOR_VERSION 1
27#define SELinuxNumberEvents 0
28#define SELinuxNumberErrors 0
29
30/* Extension protocol */
31#define X_SELinuxQueryVersion 0
32#define X_SELinuxSetDeviceCreateContext 1
33#define X_SELinuxGetDeviceCreateContext 2
34#define X_SELinuxSetDeviceContext 3
35#define X_SELinuxGetDeviceContext 4
36#define X_SELinuxSetDrawableCreateContext 5
37#define X_SELinuxGetDrawableCreateContext 6
38#define X_SELinuxGetDrawableContext 7
39#define X_SELinuxSetPropertyCreateContext 8
40#define X_SELinuxGetPropertyCreateContext 9
41#define X_SELinuxSetPropertyUseContext 10
42#define X_SELinuxGetPropertyUseContext 11
43#define X_SELinuxGetPropertyContext 12
44#define X_SELinuxGetPropertyDataContext 13
45#define X_SELinuxListProperties 14
46#define X_SELinuxSetSelectionCreateContext 15
47#define X_SELinuxGetSelectionCreateContext 16
48#define X_SELinuxSetSelectionUseContext 17
49#define X_SELinuxGetSelectionUseContext 18
50#define X_SELinuxGetSelectionContext 19
51#define X_SELinuxGetSelectionDataContext 20
52#define X_SELinuxListSelections 21
53#define X_SELinuxGetClientContext 22
54
55typedef struct {
56 CARD8 reqType;
57 CARD8 SELinuxReqType;
58 CARD16 length;
59 CARD8 client_major;
60 CARD8 client_minor;
61} SELinuxQueryVersionReq;
62
63typedef struct {
64 CARD8 type;
65 CARD8 pad1;
66 CARD16 sequenceNumber;
67 CARD32 length;
68 CARD16 server_major;
69 CARD16 server_minor;
70 CARD32 pad2;
71 CARD32 pad3;
72 CARD32 pad4;
73 CARD32 pad5;
74 CARD32 pad6;
75} SELinuxQueryVersionReply;
76
77typedef struct {
78 CARD8 reqType;
79 CARD8 SELinuxReqType;
80 CARD16 length;
81 CARD32 context_len;
82} SELinuxSetCreateContextReq;
83
84typedef struct {
85 CARD8 reqType;
86 CARD8 SELinuxReqType;
87 CARD16 length;
88} SELinuxGetCreateContextReq;
89
90typedef struct {
91 CARD8 reqType;
92 CARD8 SELinuxReqType;
93 CARD16 length;
94 CARD32 id;
95 CARD32 context_len;
96} SELinuxSetContextReq;
97
98typedef struct {
99 CARD8 reqType;
100 CARD8 SELinuxReqType;
101 CARD16 length;
102 CARD32 id;
103} SELinuxGetContextReq;
104
105typedef struct {
106 CARD8 reqType;
107 CARD8 SELinuxReqType;
108 CARD16 length;
109 CARD32 window;
110 CARD32 property;
111} SELinuxGetPropertyContextReq;
112
113typedef struct {
114 CARD8 type;
115 CARD8 pad1;
116 CARD16 sequenceNumber;
117 CARD32 length;
118 CARD32 context_len;
119 CARD32 pad2;
120 CARD32 pad3;
121 CARD32 pad4;
122 CARD32 pad5;
123 CARD32 pad6;
124} SELinuxGetContextReply;
125
126typedef struct {
127 CARD8 type;
128 CARD8 pad1;
129 CARD16 sequenceNumber;
130 CARD32 length;
131 CARD32 count;
132 CARD32 pad2;
133 CARD32 pad3;
134 CARD32 pad4;
135 CARD32 pad5;
136 CARD32 pad6;
137} SELinuxListItemsReply;
138
139#endif /* _XSELINUX_H */