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