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