1706f2543Smrg/***********************************************************
2706f2543Smrg
3706f2543SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4706f2543SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
5706f2543SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
6706f2543SmrgOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
7706f2543SmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
8706f2543SmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
9706f2543Smrg
10706f2543Smrg******************************************************************/
11706f2543Smrg
12706f2543Smrg#ifndef DIX_ACCESS_H
13706f2543Smrg#define DIX_ACCESS_H
14706f2543Smrg
15706f2543Smrg/* These are the access modes that can be passed in the last parameter
16706f2543Smrg * to several of the dix lookup functions.  They were originally part
17706f2543Smrg * of the Security extension, now used by XACE.
18706f2543Smrg *
19706f2543Smrg * You can or these values together to indicate multiple modes
20706f2543Smrg * simultaneously.
21706f2543Smrg */
22706f2543Smrg
23706f2543Smrg#define DixUnknownAccess	0	/* don't know intentions */
24706f2543Smrg#define DixReadAccess		(1<<0)	/* inspecting the object */
25706f2543Smrg#define DixWriteAccess		(1<<1)	/* changing the object */
26706f2543Smrg#define DixDestroyAccess	(1<<2)	/* destroying the object */
27706f2543Smrg#define DixCreateAccess		(1<<3)	/* creating the object */
28706f2543Smrg#define DixGetAttrAccess	(1<<4)	/* get object attributes */
29706f2543Smrg#define DixSetAttrAccess	(1<<5)	/* set object attributes */
30706f2543Smrg#define DixListPropAccess	(1<<6)  /* list properties of object */
31706f2543Smrg#define DixGetPropAccess	(1<<7)	/* get properties of object */
32706f2543Smrg#define DixSetPropAccess	(1<<8)	/* set properties of object */
33706f2543Smrg#define DixGetFocusAccess	(1<<9)	/* get focus of object */
34706f2543Smrg#define DixSetFocusAccess	(1<<10)	/* set focus of object */
35706f2543Smrg#define DixListAccess		(1<<11)	/* list objects */
36706f2543Smrg#define DixAddAccess		(1<<12)	/* add object */
37706f2543Smrg#define DixRemoveAccess		(1<<13)	/* remove object */
38706f2543Smrg#define DixHideAccess		(1<<14)	/* hide object */
39706f2543Smrg#define DixShowAccess		(1<<15)	/* show object */
40706f2543Smrg#define DixBlendAccess		(1<<16)	/* mix contents of objects */
41706f2543Smrg#define DixGrabAccess		(1<<17)	/* exclusive access to object */
42706f2543Smrg#define DixFreezeAccess		(1<<18)	/* freeze status of object */
43706f2543Smrg#define DixForceAccess		(1<<19)	/* force status of object */
44706f2543Smrg#define DixInstallAccess	(1<<20)	/* install object */
45706f2543Smrg#define DixUninstallAccess	(1<<21)	/* uninstall object */
46706f2543Smrg#define DixSendAccess		(1<<22)	/* send to object */
47706f2543Smrg#define DixReceiveAccess	(1<<23)	/* receive from object */
48706f2543Smrg#define DixUseAccess		(1<<24)	/* use object */
49706f2543Smrg#define DixManageAccess		(1<<25)	/* manage object */
50706f2543Smrg#define DixDebugAccess		(1<<26)	/* debug object */
51706f2543Smrg#define DixBellAccess		(1<<27)	/* audible sound */
52706f2543Smrg#define DixPostAccess		(1<<28) /* post or follow-up call */
53706f2543Smrg
54706f2543Smrg#endif /* DIX_ACCESS_H */
55