65fea56f17cd614bc8908264df980a62e1931468vboxsync/************************************************************
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsyncAuthor: Eamon Walsh <ewalsh@tycho.nsa.gov>
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsyncPermission to use, copy, modify, distribute, and sell this software and its
65fea56f17cd614bc8908264df980a62e1931468vboxsyncdocumentation for any purpose is hereby granted without fee, provided that
65fea56f17cd614bc8908264df980a62e1931468vboxsyncthis permission notice appear in supporting documentation. This permission
65fea56f17cd614bc8908264df980a62e1931468vboxsyncnotice shall be included in all copies or substantial portions of the
65fea56f17cd614bc8908264df980a62e1931468vboxsyncSoftware.
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
65fea56f17cd614bc8908264df980a62e1931468vboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
65fea56f17cd614bc8908264df980a62e1931468vboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
65fea56f17cd614bc8908264df980a62e1931468vboxsyncAUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
65fea56f17cd614bc8908264df980a62e1931468vboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
65fea56f17cd614bc8908264df980a62e1931468vboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync********************************************************/
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync#ifndef _XACESTR_H
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define _XACESTR_H
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "dix.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "resource.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "extnsionst.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "window.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "input.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "property.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "selection.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "xace.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_CORE_DISPATCH */
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct {
65fea56f17cd614bc8908264df980a62e1931468vboxsync ClientPtr client;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int status;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} XaceCoreDispatchRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_RESOURCE_ACCESS */
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct {
65fea56f17cd614bc8908264df980a62e1931468vboxsync ClientPtr client;
65fea56f17cd614bc8908264df980a62e1931468vboxsync XID id;
65fea56f17cd614bc8908264df980a62e1931468vboxsync RESTYPE rtype;
65fea56f17cd614bc8908264df980a62e1931468vboxsync pointer res;
65fea56f17cd614bc8908264df980a62e1931468vboxsync RESTYPE ptype;
65fea56f17cd614bc8908264df980a62e1931468vboxsync pointer parent;
65fea56f17cd614bc8908264df980a62e1931468vboxsync Mask access_mode;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int status;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} XaceResourceAccessRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_DEVICE_ACCESS */
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct {
65fea56f17cd614bc8908264df980a62e1931468vboxsync ClientPtr client;
65fea56f17cd614bc8908264df980a62e1931468vboxsync DeviceIntPtr dev;
65fea56f17cd614bc8908264df980a62e1931468vboxsync Mask access_mode;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int status;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} XaceDeviceAccessRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_PROPERTY_ACCESS */
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct {
65fea56f17cd614bc8908264df980a62e1931468vboxsync ClientPtr client;
65fea56f17cd614bc8908264df980a62e1931468vboxsync WindowPtr pWin;
65fea56f17cd614bc8908264df980a62e1931468vboxsync PropertyPtr *ppProp;
65fea56f17cd614bc8908264df980a62e1931468vboxsync Mask access_mode;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int status;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} XacePropertyAccessRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_SEND_ACCESS */
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct {
65fea56f17cd614bc8908264df980a62e1931468vboxsync ClientPtr client;
65fea56f17cd614bc8908264df980a62e1931468vboxsync DeviceIntPtr dev;
65fea56f17cd614bc8908264df980a62e1931468vboxsync WindowPtr pWin;
65fea56f17cd614bc8908264df980a62e1931468vboxsync xEventPtr events;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int count;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int status;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} XaceSendAccessRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_RECEIVE_ACCESS */
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct {
65fea56f17cd614bc8908264df980a62e1931468vboxsync ClientPtr client;
65fea56f17cd614bc8908264df980a62e1931468vboxsync WindowPtr pWin;
65fea56f17cd614bc8908264df980a62e1931468vboxsync xEventPtr events;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int count;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int status;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} XaceReceiveAccessRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_CLIENT_ACCESS */
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct {
65fea56f17cd614bc8908264df980a62e1931468vboxsync ClientPtr client;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ClientPtr target;
65fea56f17cd614bc8908264df980a62e1931468vboxsync Mask access_mode;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int status;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} XaceClientAccessRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_EXT_DISPATCH */
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_EXT_ACCESS */
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct {
65fea56f17cd614bc8908264df980a62e1931468vboxsync ClientPtr client;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ExtensionEntry *ext;
65fea56f17cd614bc8908264df980a62e1931468vboxsync Mask access_mode;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int status;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} XaceExtAccessRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_SERVER_ACCESS */
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct {
65fea56f17cd614bc8908264df980a62e1931468vboxsync ClientPtr client;
65fea56f17cd614bc8908264df980a62e1931468vboxsync Mask access_mode;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int status;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} XaceServerAccessRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_SELECTION_ACCESS */
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct {
65fea56f17cd614bc8908264df980a62e1931468vboxsync ClientPtr client;
65fea56f17cd614bc8908264df980a62e1931468vboxsync Selection **ppSel;
65fea56f17cd614bc8908264df980a62e1931468vboxsync Mask access_mode;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int status;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} XaceSelectionAccessRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_SCREEN_ACCESS */
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_SCREENSAVER_ACCESS */
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct {
65fea56f17cd614bc8908264df980a62e1931468vboxsync ClientPtr client;
65fea56f17cd614bc8908264df980a62e1931468vboxsync ScreenPtr screen;
65fea56f17cd614bc8908264df980a62e1931468vboxsync Mask access_mode;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int status;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} XaceScreenAccessRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_AUTH_AVAIL */
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct {
65fea56f17cd614bc8908264df980a62e1931468vboxsync ClientPtr client;
65fea56f17cd614bc8908264df980a62e1931468vboxsync XID authId;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} XaceAuthAvailRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_KEY_AVAIL */
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct {
65fea56f17cd614bc8908264df980a62e1931468vboxsync xEventPtr event;
65fea56f17cd614bc8908264df980a62e1931468vboxsync DeviceIntPtr keybd;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int count;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} XaceKeyAvailRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_AUDIT_BEGIN */
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* XACE_AUDIT_END */
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct {
65fea56f17cd614bc8908264df980a62e1931468vboxsync ClientPtr client;
65fea56f17cd614bc8908264df980a62e1931468vboxsync int requestResult;
65fea56f17cd614bc8908264df980a62e1931468vboxsync} XaceAuditRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync#endif /* _XACESTR_H */