040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/************************************************************
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncAuthor: Eamon Walsh <ewalsh@epoch.ncsc.mil>
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPermission to use, copy, modify, distribute, and sell this software and its
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncdocumentation for any purpose is hereby granted without fee, provided that
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncthis permission notice appear in supporting documentation. This permission
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncnotice shall be included in all copies or substantial portions of the
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncSoftware.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncAUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync********************************************************/
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#ifndef _XSELINUX_H
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define _XSELINUX_H
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "dixaccess.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/* Extension info */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SELINUX_EXTENSION_NAME "SELinux"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SELINUX_MAJOR_VERSION 1
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SELINUX_MINOR_VERSION 0
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SELinuxNumberEvents 0
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SELinuxNumberErrors 0
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/* Extension protocol */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxQueryVersion 0
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxSetDeviceCreateContext 1
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxGetDeviceCreateContext 2
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxSetDeviceContext 3
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxGetDeviceContext 4
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxSetWindowCreateContext 5
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxGetWindowCreateContext 6
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxGetWindowContext 7
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxSetPropertyCreateContext 8
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxGetPropertyCreateContext 9
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxSetPropertyUseContext 10
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxGetPropertyUseContext 11
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxGetPropertyContext 12
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxGetPropertyDataContext 13
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxListProperties 14
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxSetSelectionCreateContext 15
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxGetSelectionCreateContext 16
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxSetSelectionUseContext 17
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxGetSelectionUseContext 18
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxGetSelectionContext 19
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxGetSelectionDataContext 20
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxListSelections 21
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define X_SELinuxGetClientContext 22
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 reqType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 SELinuxReqType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 length;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 client_major;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 client_minor;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} SELinuxQueryVersionReq;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 type;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 pad1;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 sequenceNumber;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 length;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 server_major;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 server_minor;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 pad2;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 pad3;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 pad4;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 pad5;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 pad6;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} SELinuxQueryVersionReply;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 reqType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 SELinuxReqType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 length;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 context_len;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} SELinuxSetCreateContextReq;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 reqType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 SELinuxReqType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 length;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} SELinuxGetCreateContextReq;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 reqType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 SELinuxReqType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 length;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 id;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 context_len;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} SELinuxSetContextReq;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 reqType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 SELinuxReqType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 length;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 id;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} SELinuxGetContextReq;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 reqType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 SELinuxReqType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 length;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 window;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 property;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} SELinuxGetPropertyContextReq;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 type;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 pad1;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 sequenceNumber;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 length;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 context_len;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 pad2;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 pad3;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 pad4;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 pad5;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 pad6;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} SELinuxGetContextReply;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 type;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD8 pad1;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 sequenceNumber;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 length;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 count;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 pad2;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 pad3;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 pad4;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 pad5;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 pad6;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} SELinuxListItemsReply;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/* Private Flask definitions */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SECCLASS_X_DRAWABLE 1
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SECCLASS_X_SCREEN 2
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SECCLASS_X_GC 3
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SECCLASS_X_FONT 4
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SECCLASS_X_COLORMAP 5
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SECCLASS_X_PROPERTY 6
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SECCLASS_X_SELECTION 7
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SECCLASS_X_CURSOR 8
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SECCLASS_X_CLIENT 9
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SECCLASS_X_DEVICE 10
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SECCLASS_X_SERVER 11
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SECCLASS_X_EXTENSION 12
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SECCLASS_X_EVENT 13
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SECCLASS_X_FAKEEVENT 14
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SECCLASS_X_RESOURCE 15
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#endif /* _XSELINUX_H */