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