Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:26:35

0001 /******************************************************************************
0002 
0003 
0004 Copyright 1993, 1998  The Open Group
0005 
0006 Permission to use, copy, modify, distribute, and sell this software and its
0007 documentation for any purpose is hereby granted without fee, provided that
0008 the above copyright notice appear in all copies and that both that
0009 copyright notice and this permission notice appear in supporting
0010 documentation.
0011 
0012 The above copyright notice and this permission notice shall be included in
0013 all copies or substantial portions of the Software.
0014 
0015 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
0016 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
0017 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
0018 OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
0019 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
0020 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
0021 
0022 Except as contained in this notice, the name of The Open Group shall not be
0023 used in advertising or otherwise to promote the sale, use or other dealings
0024 in this Software without prior written authorization from The Open Group.
0025 
0026 Author: Ralph Mor, X Consortium
0027 ******************************************************************************/
0028 
0029 #ifndef _ICEPROTO_H_
0030 #define _ICEPROTO_H_
0031 
0032 #include <X11/Xmd.h>
0033 
0034 typedef struct {
0035     CARD8   majorOpcode;
0036     CARD8   minorOpcode;
0037     CARD8   data[2];
0038     CARD32  length;
0039 } iceMsg;
0040 
0041 typedef struct {
0042     CARD8   majorOpcode;
0043     CARD8   minorOpcode;
0044     CARD16  errorClass;
0045     CARD32  length;
0046     CARD8   offendingMinorOpcode;
0047     CARD8   severity;
0048     CARD16  unused;
0049     CARD32  offendingSequenceNum;
0050     /* n    varying values */
0051     /* p    p = pad (n, 8) */
0052 } iceErrorMsg;
0053 
0054 typedef struct {
0055     CARD8   majorOpcode;
0056     CARD8   minorOpcode;
0057     CARD8   byteOrder;
0058     CARD8   unused;
0059     CARD32  length;
0060 } iceByteOrderMsg;
0061 
0062 typedef struct {
0063     CARD8   majorOpcode;
0064     CARD8   minorOpcode;
0065     CARD8   versionCount;
0066     CARD8   authCount;
0067     CARD32  length;
0068     CARD8   mustAuthenticate;
0069     CARD8   unused[7];
0070     /* i    STRING      vendor */
0071     /* j    STRING      release */
0072     /* k    LIST of STRING  authentication-protocol-names */
0073     /* m    LIST of VERSION version-list */
0074     /* p    p = pad (i+j+k+m, 8) */
0075 } iceConnectionSetupMsg;
0076 
0077 typedef struct {
0078     CARD8   majorOpcode;
0079     CARD8   minorOpcode;
0080     CARD8   authIndex;
0081     CARD8   unused1;
0082     CARD32  length;
0083     CARD16  authDataLength;
0084     CARD8   unused2[6];
0085     /* n    varying data */
0086     /* p    p = pad (n, 8) */
0087 } iceAuthRequiredMsg;
0088 
0089 typedef struct {
0090     CARD8   majorOpcode;
0091     CARD8   minorOpcode;
0092     CARD8   unused1[2];
0093     CARD32  length;
0094     CARD16  authDataLength;
0095     CARD8   unused2[6];
0096     /* n    varying data */
0097     /* p    p = pad (n, 8) */
0098 } iceAuthReplyMsg;
0099 
0100 typedef struct {
0101     CARD8   majorOpcode;
0102     CARD8   minorOpcode;
0103     CARD8   unused1[2];
0104     CARD32  length;
0105     CARD16  authDataLength;
0106     CARD8   unused2[6];
0107     /* n    varying data */
0108     /* p    p = pad (n, 8) */
0109 } iceAuthNextPhaseMsg;
0110 
0111 typedef struct {
0112     CARD8   majorOpcode;
0113     CARD8   minorOpcode;
0114     CARD8   versionIndex;
0115     CARD8   unused;
0116     CARD32  length;
0117     /* i    STRING      vendor */
0118     /* j    STRING      release */
0119     /* p    p = pad (i+j, 8) */
0120 } iceConnectionReplyMsg;
0121 
0122 typedef struct {
0123     CARD8   majorOpcode;
0124     CARD8   minorOpcode;
0125     CARD8   protocolOpcode;
0126     CARD8   mustAuthenticate;
0127     CARD32  length;
0128     CARD8   versionCount;
0129     CARD8   authCount;
0130     CARD8   unused[6];
0131     /* i    STRING      protocol-name */
0132     /* j    STRING      vendor */
0133     /* k    STRING      release */
0134     /* m    LIST of STRING  authentication-protocol-names */
0135     /* n    LIST of VERSION version-list */
0136     /* p        p = pad (i+j+k+m+n, 8) */
0137 } iceProtocolSetupMsg;
0138 
0139 typedef struct {
0140     CARD8   majorOpcode;
0141     CARD8   minorOpcode;
0142     CARD8   versionIndex;
0143     CARD8   protocolOpcode;
0144     CARD32  length;
0145     /* i    STRING      vendor */
0146     /* j    STRING      release */
0147     /* p    p = pad (i+j, 8) */
0148 } iceProtocolReplyMsg;
0149 
0150 typedef iceMsg  icePingMsg;
0151 typedef iceMsg  icePingReplyMsg;
0152 typedef iceMsg  iceWantToCloseMsg;
0153 typedef iceMsg  iceNoCloseMsg;
0154 
0155 
0156 /*
0157  * SIZEOF values.  These better be multiples of 8.
0158  */
0159 
0160 #define sz_iceMsg           8
0161 #define sz_iceErrorMsg          16
0162 #define sz_iceByteOrderMsg      8
0163 #define sz_iceConnectionSetupMsg        16
0164 #define sz_iceAuthRequiredMsg       16
0165 #define sz_iceAuthReplyMsg      16
0166 #define sz_iceAuthNextPhaseMsg      16
0167 #define sz_iceConnectionReplyMsg    8
0168 #define sz_iceProtocolSetupMsg      16
0169 #define sz_iceProtocolReplyMsg      8
0170 #define sz_icePingMsg           8
0171 #define sz_icePingReplyMsg      8
0172 #define sz_iceWantToCloseMsg        8
0173 #define sz_iceNoCloseMsg        8
0174 
0175 #endif /* _ICEPROTO_H_ */