jpayne@69
|
1 /******************************************************************************
|
jpayne@69
|
2
|
jpayne@69
|
3
|
jpayne@69
|
4 Copyright 1993, 1998 The Open Group
|
jpayne@69
|
5
|
jpayne@69
|
6 Permission to use, copy, modify, distribute, and sell this software and its
|
jpayne@69
|
7 documentation for any purpose is hereby granted without fee, provided that
|
jpayne@69
|
8 the above copyright notice appear in all copies and that both that
|
jpayne@69
|
9 copyright notice and this permission notice appear in supporting
|
jpayne@69
|
10 documentation.
|
jpayne@69
|
11
|
jpayne@69
|
12 The above copyright notice and this permission notice shall be included in
|
jpayne@69
|
13 all copies or substantial portions of the Software.
|
jpayne@69
|
14
|
jpayne@69
|
15 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
jpayne@69
|
16 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
jpayne@69
|
17 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
jpayne@69
|
18 OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
jpayne@69
|
19 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
jpayne@69
|
20 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
jpayne@69
|
21
|
jpayne@69
|
22 Except as contained in this notice, the name of The Open Group shall not be
|
jpayne@69
|
23 used in advertising or otherwise to promote the sale, use or other dealings
|
jpayne@69
|
24 in this Software without prior written authorization from The Open Group.
|
jpayne@69
|
25
|
jpayne@69
|
26 Author: Ralph Mor, X Consortium
|
jpayne@69
|
27 ******************************************************************************/
|
jpayne@69
|
28
|
jpayne@69
|
29 #ifndef _ICEPROTO_H_
|
jpayne@69
|
30 #define _ICEPROTO_H_
|
jpayne@69
|
31
|
jpayne@69
|
32 #include <X11/Xmd.h>
|
jpayne@69
|
33
|
jpayne@69
|
34 typedef struct {
|
jpayne@69
|
35 CARD8 majorOpcode;
|
jpayne@69
|
36 CARD8 minorOpcode;
|
jpayne@69
|
37 CARD8 data[2];
|
jpayne@69
|
38 CARD32 length;
|
jpayne@69
|
39 } iceMsg;
|
jpayne@69
|
40
|
jpayne@69
|
41 typedef struct {
|
jpayne@69
|
42 CARD8 majorOpcode;
|
jpayne@69
|
43 CARD8 minorOpcode;
|
jpayne@69
|
44 CARD16 errorClass;
|
jpayne@69
|
45 CARD32 length;
|
jpayne@69
|
46 CARD8 offendingMinorOpcode;
|
jpayne@69
|
47 CARD8 severity;
|
jpayne@69
|
48 CARD16 unused;
|
jpayne@69
|
49 CARD32 offendingSequenceNum;
|
jpayne@69
|
50 /* n varying values */
|
jpayne@69
|
51 /* p p = pad (n, 8) */
|
jpayne@69
|
52 } iceErrorMsg;
|
jpayne@69
|
53
|
jpayne@69
|
54 typedef struct {
|
jpayne@69
|
55 CARD8 majorOpcode;
|
jpayne@69
|
56 CARD8 minorOpcode;
|
jpayne@69
|
57 CARD8 byteOrder;
|
jpayne@69
|
58 CARD8 unused;
|
jpayne@69
|
59 CARD32 length;
|
jpayne@69
|
60 } iceByteOrderMsg;
|
jpayne@69
|
61
|
jpayne@69
|
62 typedef struct {
|
jpayne@69
|
63 CARD8 majorOpcode;
|
jpayne@69
|
64 CARD8 minorOpcode;
|
jpayne@69
|
65 CARD8 versionCount;
|
jpayne@69
|
66 CARD8 authCount;
|
jpayne@69
|
67 CARD32 length;
|
jpayne@69
|
68 CARD8 mustAuthenticate;
|
jpayne@69
|
69 CARD8 unused[7];
|
jpayne@69
|
70 /* i STRING vendor */
|
jpayne@69
|
71 /* j STRING release */
|
jpayne@69
|
72 /* k LIST of STRING authentication-protocol-names */
|
jpayne@69
|
73 /* m LIST of VERSION version-list */
|
jpayne@69
|
74 /* p p = pad (i+j+k+m, 8) */
|
jpayne@69
|
75 } iceConnectionSetupMsg;
|
jpayne@69
|
76
|
jpayne@69
|
77 typedef struct {
|
jpayne@69
|
78 CARD8 majorOpcode;
|
jpayne@69
|
79 CARD8 minorOpcode;
|
jpayne@69
|
80 CARD8 authIndex;
|
jpayne@69
|
81 CARD8 unused1;
|
jpayne@69
|
82 CARD32 length;
|
jpayne@69
|
83 CARD16 authDataLength;
|
jpayne@69
|
84 CARD8 unused2[6];
|
jpayne@69
|
85 /* n varying data */
|
jpayne@69
|
86 /* p p = pad (n, 8) */
|
jpayne@69
|
87 } iceAuthRequiredMsg;
|
jpayne@69
|
88
|
jpayne@69
|
89 typedef struct {
|
jpayne@69
|
90 CARD8 majorOpcode;
|
jpayne@69
|
91 CARD8 minorOpcode;
|
jpayne@69
|
92 CARD8 unused1[2];
|
jpayne@69
|
93 CARD32 length;
|
jpayne@69
|
94 CARD16 authDataLength;
|
jpayne@69
|
95 CARD8 unused2[6];
|
jpayne@69
|
96 /* n varying data */
|
jpayne@69
|
97 /* p p = pad (n, 8) */
|
jpayne@69
|
98 } iceAuthReplyMsg;
|
jpayne@69
|
99
|
jpayne@69
|
100 typedef struct {
|
jpayne@69
|
101 CARD8 majorOpcode;
|
jpayne@69
|
102 CARD8 minorOpcode;
|
jpayne@69
|
103 CARD8 unused1[2];
|
jpayne@69
|
104 CARD32 length;
|
jpayne@69
|
105 CARD16 authDataLength;
|
jpayne@69
|
106 CARD8 unused2[6];
|
jpayne@69
|
107 /* n varying data */
|
jpayne@69
|
108 /* p p = pad (n, 8) */
|
jpayne@69
|
109 } iceAuthNextPhaseMsg;
|
jpayne@69
|
110
|
jpayne@69
|
111 typedef struct {
|
jpayne@69
|
112 CARD8 majorOpcode;
|
jpayne@69
|
113 CARD8 minorOpcode;
|
jpayne@69
|
114 CARD8 versionIndex;
|
jpayne@69
|
115 CARD8 unused;
|
jpayne@69
|
116 CARD32 length;
|
jpayne@69
|
117 /* i STRING vendor */
|
jpayne@69
|
118 /* j STRING release */
|
jpayne@69
|
119 /* p p = pad (i+j, 8) */
|
jpayne@69
|
120 } iceConnectionReplyMsg;
|
jpayne@69
|
121
|
jpayne@69
|
122 typedef struct {
|
jpayne@69
|
123 CARD8 majorOpcode;
|
jpayne@69
|
124 CARD8 minorOpcode;
|
jpayne@69
|
125 CARD8 protocolOpcode;
|
jpayne@69
|
126 CARD8 mustAuthenticate;
|
jpayne@69
|
127 CARD32 length;
|
jpayne@69
|
128 CARD8 versionCount;
|
jpayne@69
|
129 CARD8 authCount;
|
jpayne@69
|
130 CARD8 unused[6];
|
jpayne@69
|
131 /* i STRING protocol-name */
|
jpayne@69
|
132 /* j STRING vendor */
|
jpayne@69
|
133 /* k STRING release */
|
jpayne@69
|
134 /* m LIST of STRING authentication-protocol-names */
|
jpayne@69
|
135 /* n LIST of VERSION version-list */
|
jpayne@69
|
136 /* p p = pad (i+j+k+m+n, 8) */
|
jpayne@69
|
137 } iceProtocolSetupMsg;
|
jpayne@69
|
138
|
jpayne@69
|
139 typedef struct {
|
jpayne@69
|
140 CARD8 majorOpcode;
|
jpayne@69
|
141 CARD8 minorOpcode;
|
jpayne@69
|
142 CARD8 versionIndex;
|
jpayne@69
|
143 CARD8 protocolOpcode;
|
jpayne@69
|
144 CARD32 length;
|
jpayne@69
|
145 /* i STRING vendor */
|
jpayne@69
|
146 /* j STRING release */
|
jpayne@69
|
147 /* p p = pad (i+j, 8) */
|
jpayne@69
|
148 } iceProtocolReplyMsg;
|
jpayne@69
|
149
|
jpayne@69
|
150 typedef iceMsg icePingMsg;
|
jpayne@69
|
151 typedef iceMsg icePingReplyMsg;
|
jpayne@69
|
152 typedef iceMsg iceWantToCloseMsg;
|
jpayne@69
|
153 typedef iceMsg iceNoCloseMsg;
|
jpayne@69
|
154
|
jpayne@69
|
155
|
jpayne@69
|
156 /*
|
jpayne@69
|
157 * SIZEOF values. These better be multiples of 8.
|
jpayne@69
|
158 */
|
jpayne@69
|
159
|
jpayne@69
|
160 #define sz_iceMsg 8
|
jpayne@69
|
161 #define sz_iceErrorMsg 16
|
jpayne@69
|
162 #define sz_iceByteOrderMsg 8
|
jpayne@69
|
163 #define sz_iceConnectionSetupMsg 16
|
jpayne@69
|
164 #define sz_iceAuthRequiredMsg 16
|
jpayne@69
|
165 #define sz_iceAuthReplyMsg 16
|
jpayne@69
|
166 #define sz_iceAuthNextPhaseMsg 16
|
jpayne@69
|
167 #define sz_iceConnectionReplyMsg 8
|
jpayne@69
|
168 #define sz_iceProtocolSetupMsg 16
|
jpayne@69
|
169 #define sz_iceProtocolReplyMsg 8
|
jpayne@69
|
170 #define sz_icePingMsg 8
|
jpayne@69
|
171 #define sz_icePingReplyMsg 8
|
jpayne@69
|
172 #define sz_iceWantToCloseMsg 8
|
jpayne@69
|
173 #define sz_iceNoCloseMsg 8
|
jpayne@69
|
174
|
jpayne@69
|
175 #endif /* _ICEPROTO_H_ */
|