jpayne@69
|
1 /*
|
jpayne@69
|
2 Copyright 1996, 1998 The Open Group
|
jpayne@69
|
3
|
jpayne@69
|
4 Permission to use, copy, modify, distribute, and sell this software and its
|
jpayne@69
|
5 documentation for any purpose is hereby granted without fee, provided that
|
jpayne@69
|
6 the above copyright notice appear in all copies and that both that
|
jpayne@69
|
7 copyright notice and this permission notice appear in supporting
|
jpayne@69
|
8 documentation.
|
jpayne@69
|
9
|
jpayne@69
|
10 The above copyright notice and this permission notice shall be included
|
jpayne@69
|
11 in all copies or substantial portions of the Software.
|
jpayne@69
|
12
|
jpayne@69
|
13 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
jpayne@69
|
14 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
jpayne@69
|
15 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
jpayne@69
|
16 IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
jpayne@69
|
17 OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
jpayne@69
|
18 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
jpayne@69
|
19 OTHER DEALINGS IN THE SOFTWARE.
|
jpayne@69
|
20
|
jpayne@69
|
21 Except as contained in this notice, the name of The Open Group shall
|
jpayne@69
|
22 not be used in advertising or otherwise to promote the sale, use or
|
jpayne@69
|
23 other dealings in this Software without prior written authorization
|
jpayne@69
|
24 from The Open Group.
|
jpayne@69
|
25 */
|
jpayne@69
|
26
|
jpayne@69
|
27 #ifndef _SECURITY_H
|
jpayne@69
|
28 #define _SECURITY_H
|
jpayne@69
|
29
|
jpayne@69
|
30 #define _XAUTH_STRUCT_ONLY
|
jpayne@69
|
31 #include <X11/Xauth.h>
|
jpayne@69
|
32
|
jpayne@69
|
33 #include <X11/extensions/secur.h>
|
jpayne@69
|
34
|
jpayne@69
|
35 _XFUNCPROTOBEGIN
|
jpayne@69
|
36
|
jpayne@69
|
37 Status XSecurityQueryExtension (
|
jpayne@69
|
38 Display *dpy,
|
jpayne@69
|
39 int *major_version_return,
|
jpayne@69
|
40 int *minor_version_return);
|
jpayne@69
|
41
|
jpayne@69
|
42 Xauth *XSecurityAllocXauth(void);
|
jpayne@69
|
43
|
jpayne@69
|
44 void XSecurityFreeXauth(Xauth *auth);
|
jpayne@69
|
45
|
jpayne@69
|
46 /* type for returned auth ids */
|
jpayne@69
|
47 typedef unsigned long XSecurityAuthorization;
|
jpayne@69
|
48
|
jpayne@69
|
49 typedef struct {
|
jpayne@69
|
50 unsigned int timeout;
|
jpayne@69
|
51 unsigned int trust_level;
|
jpayne@69
|
52 XID group;
|
jpayne@69
|
53 long event_mask;
|
jpayne@69
|
54 } XSecurityAuthorizationAttributes;
|
jpayne@69
|
55
|
jpayne@69
|
56 Xauth *XSecurityGenerateAuthorization(
|
jpayne@69
|
57 Display *dpy,
|
jpayne@69
|
58 Xauth *auth_in,
|
jpayne@69
|
59 unsigned long valuemask,
|
jpayne@69
|
60 XSecurityAuthorizationAttributes *attributes,
|
jpayne@69
|
61 XSecurityAuthorization *auth_id_return);
|
jpayne@69
|
62
|
jpayne@69
|
63 Status XSecurityRevokeAuthorization(
|
jpayne@69
|
64 Display *dpy,
|
jpayne@69
|
65 XSecurityAuthorization auth_id);
|
jpayne@69
|
66
|
jpayne@69
|
67 _XFUNCPROTOEND
|
jpayne@69
|
68
|
jpayne@69
|
69 typedef struct {
|
jpayne@69
|
70 int type; /* event base + XSecurityAuthorizationRevoked */
|
jpayne@69
|
71 unsigned long serial; /* # of last request processed by server */
|
jpayne@69
|
72 Bool send_event; /* true if this came from a SendEvent request */
|
jpayne@69
|
73 Display *display; /* Display the event was read from */
|
jpayne@69
|
74 XSecurityAuthorization auth_id; /* revoked authorization id */
|
jpayne@69
|
75 } XSecurityAuthorizationRevokedEvent;
|
jpayne@69
|
76
|
jpayne@69
|
77 #endif /* _SECURITY_H */
|