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 _XACESTR_H
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define _XACESTR_H
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include "dix.h"
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include "resource.h"
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include "extnsionst.h"
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include "window.h"
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include "input.h"
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include "property.h"
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include "selection.h"
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include "xace.h"
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_CORE_DISPATCH */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr client;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int status;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} XaceCoreDispatchRec;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_RESOURCE_ACCESS */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr client;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync XID id;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync RESTYPE rtype;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync void *res;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync RESTYPE ptype;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync void *parent;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Mask access_mode;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int status;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} XaceResourceAccessRec;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_DEVICE_ACCESS */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr client;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceIntPtr dev;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Mask access_mode;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int status;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} XaceDeviceAccessRec;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_PROPERTY_ACCESS */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr client;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync WindowPtr pWin;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync PropertyPtr *ppProp;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Mask access_mode;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int status;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} XacePropertyAccessRec;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_SEND_ACCESS */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr client;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceIntPtr dev;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync WindowPtr pWin;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync xEventPtr events;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int count;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int status;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} XaceSendAccessRec;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_RECEIVE_ACCESS */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr client;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync WindowPtr pWin;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync xEventPtr events;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int count;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int status;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} XaceReceiveAccessRec;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_CLIENT_ACCESS */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr client;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr target;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Mask access_mode;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int status;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} XaceClientAccessRec;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_EXT_DISPATCH */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_EXT_ACCESS */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr client;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ExtensionEntry *ext;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Mask access_mode;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int status;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} XaceExtAccessRec;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_SERVER_ACCESS */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr client;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Mask access_mode;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int status;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} XaceServerAccessRec;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_SELECTION_ACCESS */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr client;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Selection **ppSel;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Mask access_mode;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int status;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} XaceSelectionAccessRec;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_SCREEN_ACCESS */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_SCREENSAVER_ACCESS */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr client;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ScreenPtr screen;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Mask access_mode;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int status;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} XaceScreenAccessRec;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_AUTH_AVAIL */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr client;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync XID authId;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} XaceAuthAvailRec;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_KEY_AVAIL */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync xEventPtr event;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceIntPtr keybd;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int count;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} XaceKeyAvailRec;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_AUDIT_BEGIN */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XACE_AUDIT_END */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClientPtr client;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int requestResult;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync} XaceAuditRec;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#endif /* _XACESTR_H */