117ca54c3Smrg/*
217ca54c3SmrgCopyright 1996, 1998  The Open Group
317ca54c3Smrg
417ca54c3SmrgPermission to use, copy, modify, distribute, and sell this software and its
517ca54c3Smrgdocumentation for any purpose is hereby granted without fee, provided that
617ca54c3Smrgthe above copyright notice appear in all copies and that both that
717ca54c3Smrgcopyright notice and this permission notice appear in supporting
817ca54c3Smrgdocumentation.
917ca54c3Smrg
1017ca54c3SmrgThe above copyright notice and this permission notice shall be included
1117ca54c3Smrgin all copies or substantial portions of the Software.
1217ca54c3Smrg
1317ca54c3SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1417ca54c3SmrgOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1517ca54c3SmrgMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1617ca54c3SmrgIN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
1717ca54c3SmrgOTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
1817ca54c3SmrgARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1917ca54c3SmrgOTHER DEALINGS IN THE SOFTWARE.
2017ca54c3Smrg
2117ca54c3SmrgExcept as contained in this notice, the name of The Open Group shall
2217ca54c3Smrgnot be used in advertising or otherwise to promote the sale, use or
2317ca54c3Smrgother dealings in this Software without prior written authorization
2417ca54c3Smrgfrom The Open Group.
2517ca54c3Smrg*/
2617ca54c3Smrg
2717ca54c3Smrg#ifndef _SECURPROTO_H
2817ca54c3Smrg#define _SECURPROTO_H
2917ca54c3Smrg
3017ca54c3Smrg#include <X11/extensions/secur.h>
3117ca54c3Smrg
3217ca54c3Smrg#define X_SecurityQueryVersion		0
3317ca54c3Smrg#define X_SecurityGenerateAuthorization 1
3417ca54c3Smrg#define X_SecurityRevokeAuthorization   2
3517ca54c3Smrg
3617ca54c3Smrgtypedef struct {
3717ca54c3Smrg    CARD8       reqType;
3817ca54c3Smrg    CARD8       securityReqType;
39ea1d6981Smrg    CARD16      length;
40ea1d6981Smrg    CARD16      majorVersion;
41ea1d6981Smrg    CARD16      minorVersion;
4217ca54c3Smrg} xSecurityQueryVersionReq;
4317ca54c3Smrg#define sz_xSecurityQueryVersionReq 	8
4417ca54c3Smrg
4517ca54c3Smrgtypedef struct {
4617ca54c3Smrg    CARD8   type;
4717ca54c3Smrg    CARD8   pad0;
48ea1d6981Smrg    CARD16  sequenceNumber;
49ea1d6981Smrg    CARD32  length;
50ea1d6981Smrg    CARD16  majorVersion;
51ea1d6981Smrg    CARD16  minorVersion;
52ea1d6981Smrg    CARD32  pad1;
53ea1d6981Smrg    CARD32  pad2;
54ea1d6981Smrg    CARD32  pad3;
55ea1d6981Smrg    CARD32  pad4;
56ea1d6981Smrg    CARD32  pad5;
5717ca54c3Smrg } xSecurityQueryVersionReply;
5817ca54c3Smrg#define sz_xSecurityQueryVersionReply  	32
5917ca54c3Smrg
6017ca54c3Smrgtypedef struct {
6117ca54c3Smrg    CARD8       reqType;
6217ca54c3Smrg    CARD8       securityReqType;
63ea1d6981Smrg    CARD16      length;
64ea1d6981Smrg    CARD16      nbytesAuthProto;
65ea1d6981Smrg    CARD16      nbytesAuthData;
66ea1d6981Smrg    CARD32      valueMask;
6717ca54c3Smrg    /* auth protocol name padded to 4 bytes */
6817ca54c3Smrg    /* auth protocol data padded to 4 bytes */
6917ca54c3Smrg    /* list of CARD32 values, if any */
7017ca54c3Smrg} xSecurityGenerateAuthorizationReq;
7117ca54c3Smrg#define sz_xSecurityGenerateAuthorizationReq 12
7217ca54c3Smrg
7317ca54c3Smrgtypedef struct {
7417ca54c3Smrg    CARD8   type;
7517ca54c3Smrg    CARD8   pad0;
76ea1d6981Smrg    CARD16  sequenceNumber;
77ea1d6981Smrg    CARD32  length;
78ea1d6981Smrg    CARD32  authId;
79ea1d6981Smrg    CARD16  dataLength;
80ea1d6981Smrg    CARD16  pad1;
81ea1d6981Smrg    CARD32  pad2;
82ea1d6981Smrg    CARD32  pad3;
83ea1d6981Smrg    CARD32  pad4;
84ea1d6981Smrg    CARD32  pad5;
8517ca54c3Smrg } xSecurityGenerateAuthorizationReply;
8617ca54c3Smrg#define sz_xSecurityGenerateAuthorizationReply  	32
8717ca54c3Smrg
8817ca54c3Smrgtypedef struct {
8917ca54c3Smrg    CARD8       reqType;
9017ca54c3Smrg    CARD8       securityReqType;
91ea1d6981Smrg    CARD16      length;
92ea1d6981Smrg    CARD32      authId;
9317ca54c3Smrg} xSecurityRevokeAuthorizationReq;
9417ca54c3Smrg#define sz_xSecurityRevokeAuthorizationReq 8
9517ca54c3Smrg
9617ca54c3Smrgtypedef struct _xSecurityAuthorizationRevokedEvent {
9717ca54c3Smrg    BYTE	type;
9817ca54c3Smrg    BYTE	detail;
99ea1d6981Smrg    CARD16	sequenceNumber;
100ea1d6981Smrg    CARD32	authId;
101ea1d6981Smrg    CARD32	pad0;
102ea1d6981Smrg    CARD32	pad1;
103ea1d6981Smrg    CARD32	pad2;
104ea1d6981Smrg    CARD32	pad3;
105ea1d6981Smrg    CARD32	pad4;
106ea1d6981Smrg    CARD32	pad5;
10717ca54c3Smrg} xSecurityAuthorizationRevokedEvent;
10817ca54c3Smrg#define sz_xSecurityAuthorizationRevokedEvent 32
10917ca54c3Smrg
11017ca54c3Smrg#endif /* _SECURPROTO_H */
111