a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/************************************************************
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncAuthor: Eamon Walsh <ewalsh@tycho.nsa.gov>
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncPermission to use, copy, modify, distribute, and sell this software and its
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncdocumentation for any purpose is hereby granted without fee, provided that
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncthis permission notice appear in supporting documentation. This permission
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncnotice shall be included in all copies or substantial portions of the
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncSoftware.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncAUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync********************************************************/
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#ifndef _XSELINUX_H
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define _XSELINUX_H
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/* Extension info */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define SELINUX_EXTENSION_NAME "SELinux"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define SELINUX_MAJOR_VERSION 1
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define SELINUX_MINOR_VERSION 1
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define SELinuxNumberEvents 0
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define SELinuxNumberErrors 0
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync/* Extension protocol */
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxQueryVersion 0
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxSetDeviceCreateContext 1
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxGetDeviceCreateContext 2
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxSetDeviceContext 3
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxGetDeviceContext 4
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxSetDrawableCreateContext 5
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxGetDrawableCreateContext 6
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxGetDrawableContext 7
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxSetPropertyCreateContext 8
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxGetPropertyCreateContext 9
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxSetPropertyUseContext 10
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxGetPropertyUseContext 11
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxGetPropertyContext 12
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxGetPropertyDataContext 13
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxListProperties 14
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxSetSelectionCreateContext 15
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxGetSelectionCreateContext 16
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxSetSelectionUseContext 17
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxGetSelectionUseContext 18
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxGetSelectionContext 19
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxGetSelectionDataContext 20
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxListSelections 21
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#define X_SELinuxGetClientContext 22
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct {
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 reqType;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 SELinuxReqType;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD16 length;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 client_major;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 client_minor;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync} SELinuxQueryVersionReq;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct {
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 type;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 pad1;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD16 sequenceNumber;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 length;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD16 server_major;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD16 server_minor;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 pad2;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 pad3;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 pad4;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 pad5;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 pad6;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync} SELinuxQueryVersionReply;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct {
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 reqType;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 SELinuxReqType;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD16 length;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 context_len;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync} SELinuxSetCreateContextReq;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct {
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 reqType;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 SELinuxReqType;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD16 length;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync} SELinuxGetCreateContextReq;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct {
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 reqType;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 SELinuxReqType;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD16 length;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 id;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 context_len;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync} SELinuxSetContextReq;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct {
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 reqType;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 SELinuxReqType;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD16 length;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 id;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync} SELinuxGetContextReq;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct {
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 reqType;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 SELinuxReqType;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD16 length;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 window;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 property;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync} SELinuxGetPropertyContextReq;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct {
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 type;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 pad1;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD16 sequenceNumber;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 length;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 context_len;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 pad2;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 pad3;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 pad4;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 pad5;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 pad6;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync} SELinuxGetContextReply;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynctypedef struct {
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 type;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD8 pad1;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD16 sequenceNumber;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 length;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 count;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 pad2;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 pad3;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 pad4;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 pad5;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync CARD32 pad6;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync} SELinuxListItemsReply;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#endif /* _XSELINUX_H */