1*4882a593Smuzhiyun /************************************************************ 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun Author: Eamon Walsh <ewalsh@tycho.nsa.gov> 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun Permission to use, copy, modify, distribute, and sell this software and its 6*4882a593Smuzhiyun documentation for any purpose is hereby granted without fee, provided that 7*4882a593Smuzhiyun this permission notice appear in supporting documentation. This permission 8*4882a593Smuzhiyun notice shall be included in all copies or substantial portions of the 9*4882a593Smuzhiyun Software. 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 12*4882a593Smuzhiyun IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 13*4882a593Smuzhiyun FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 14*4882a593Smuzhiyun AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 15*4882a593Smuzhiyun AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 16*4882a593Smuzhiyun CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun ********************************************************/ 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun #ifndef _XACESTR_H 21*4882a593Smuzhiyun #define _XACESTR_H 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun #include "dix.h" 24*4882a593Smuzhiyun #include "resource.h" 25*4882a593Smuzhiyun #include "extnsionst.h" 26*4882a593Smuzhiyun #include "window.h" 27*4882a593Smuzhiyun #include "input.h" 28*4882a593Smuzhiyun #include "property.h" 29*4882a593Smuzhiyun #include "selection.h" 30*4882a593Smuzhiyun #include "xace.h" 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun /* XACE_CORE_DISPATCH */ 33*4882a593Smuzhiyun typedef struct { 34*4882a593Smuzhiyun ClientPtr client; 35*4882a593Smuzhiyun int status; 36*4882a593Smuzhiyun } XaceCoreDispatchRec; 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun /* XACE_RESOURCE_ACCESS */ 39*4882a593Smuzhiyun typedef struct { 40*4882a593Smuzhiyun ClientPtr client; 41*4882a593Smuzhiyun XID id; 42*4882a593Smuzhiyun RESTYPE rtype; 43*4882a593Smuzhiyun void *res; 44*4882a593Smuzhiyun RESTYPE ptype; 45*4882a593Smuzhiyun void *parent; 46*4882a593Smuzhiyun Mask access_mode; 47*4882a593Smuzhiyun int status; 48*4882a593Smuzhiyun } XaceResourceAccessRec; 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun /* XACE_DEVICE_ACCESS */ 51*4882a593Smuzhiyun typedef struct { 52*4882a593Smuzhiyun ClientPtr client; 53*4882a593Smuzhiyun DeviceIntPtr dev; 54*4882a593Smuzhiyun Mask access_mode; 55*4882a593Smuzhiyun int status; 56*4882a593Smuzhiyun } XaceDeviceAccessRec; 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun /* XACE_PROPERTY_ACCESS */ 59*4882a593Smuzhiyun typedef struct { 60*4882a593Smuzhiyun ClientPtr client; 61*4882a593Smuzhiyun WindowPtr pWin; 62*4882a593Smuzhiyun PropertyPtr *ppProp; 63*4882a593Smuzhiyun Mask access_mode; 64*4882a593Smuzhiyun int status; 65*4882a593Smuzhiyun } XacePropertyAccessRec; 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun /* XACE_SEND_ACCESS */ 68*4882a593Smuzhiyun typedef struct { 69*4882a593Smuzhiyun ClientPtr client; 70*4882a593Smuzhiyun DeviceIntPtr dev; 71*4882a593Smuzhiyun WindowPtr pWin; 72*4882a593Smuzhiyun xEventPtr events; 73*4882a593Smuzhiyun int count; 74*4882a593Smuzhiyun int status; 75*4882a593Smuzhiyun } XaceSendAccessRec; 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun /* XACE_RECEIVE_ACCESS */ 78*4882a593Smuzhiyun typedef struct { 79*4882a593Smuzhiyun ClientPtr client; 80*4882a593Smuzhiyun WindowPtr pWin; 81*4882a593Smuzhiyun xEventPtr events; 82*4882a593Smuzhiyun int count; 83*4882a593Smuzhiyun int status; 84*4882a593Smuzhiyun } XaceReceiveAccessRec; 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun /* XACE_CLIENT_ACCESS */ 87*4882a593Smuzhiyun typedef struct { 88*4882a593Smuzhiyun ClientPtr client; 89*4882a593Smuzhiyun ClientPtr target; 90*4882a593Smuzhiyun Mask access_mode; 91*4882a593Smuzhiyun int status; 92*4882a593Smuzhiyun } XaceClientAccessRec; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun /* XACE_EXT_DISPATCH */ 95*4882a593Smuzhiyun /* XACE_EXT_ACCESS */ 96*4882a593Smuzhiyun typedef struct { 97*4882a593Smuzhiyun ClientPtr client; 98*4882a593Smuzhiyun ExtensionEntry *ext; 99*4882a593Smuzhiyun Mask access_mode; 100*4882a593Smuzhiyun int status; 101*4882a593Smuzhiyun } XaceExtAccessRec; 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun /* XACE_SERVER_ACCESS */ 104*4882a593Smuzhiyun typedef struct { 105*4882a593Smuzhiyun ClientPtr client; 106*4882a593Smuzhiyun Mask access_mode; 107*4882a593Smuzhiyun int status; 108*4882a593Smuzhiyun } XaceServerAccessRec; 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun /* XACE_SELECTION_ACCESS */ 111*4882a593Smuzhiyun typedef struct { 112*4882a593Smuzhiyun ClientPtr client; 113*4882a593Smuzhiyun Selection **ppSel; 114*4882a593Smuzhiyun Mask access_mode; 115*4882a593Smuzhiyun int status; 116*4882a593Smuzhiyun } XaceSelectionAccessRec; 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun /* XACE_SCREEN_ACCESS */ 119*4882a593Smuzhiyun /* XACE_SCREENSAVER_ACCESS */ 120*4882a593Smuzhiyun typedef struct { 121*4882a593Smuzhiyun ClientPtr client; 122*4882a593Smuzhiyun ScreenPtr screen; 123*4882a593Smuzhiyun Mask access_mode; 124*4882a593Smuzhiyun int status; 125*4882a593Smuzhiyun } XaceScreenAccessRec; 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun /* XACE_AUTH_AVAIL */ 128*4882a593Smuzhiyun typedef struct { 129*4882a593Smuzhiyun ClientPtr client; 130*4882a593Smuzhiyun XID authId; 131*4882a593Smuzhiyun } XaceAuthAvailRec; 132*4882a593Smuzhiyun 133*4882a593Smuzhiyun /* XACE_KEY_AVAIL */ 134*4882a593Smuzhiyun typedef struct { 135*4882a593Smuzhiyun xEventPtr event; 136*4882a593Smuzhiyun DeviceIntPtr keybd; 137*4882a593Smuzhiyun int count; 138*4882a593Smuzhiyun } XaceKeyAvailRec; 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun /* XACE_AUDIT_BEGIN */ 141*4882a593Smuzhiyun /* XACE_AUDIT_END */ 142*4882a593Smuzhiyun typedef struct { 143*4882a593Smuzhiyun ClientPtr client; 144*4882a593Smuzhiyun int requestResult; 145*4882a593Smuzhiyun } XaceAuditRec; 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun #endif /* _XACESTR_H */ 148