File indexing completed on 2025-01-18 10:14:18
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef _RECORDPROTO_H_
0022 #define _RECORDPROTO_H_
0023
0024 #include <X11/extensions/recordconst.h>
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 #define X_RecordQueryVersion 0
0035 #define X_RecordCreateContext 1
0036 #define X_RecordRegisterClients 2
0037 #define X_RecordUnregisterClients 3
0038 #define X_RecordGetContext 4
0039 #define X_RecordEnableContext 5
0040 #define X_RecordDisableContext 6
0041 #define X_RecordFreeContext 7
0042
0043 #define sz_XRecordRange 32
0044 #define sz_XRecordClientInfo 12
0045 #define sz_XRecordState 16
0046 #define sz_XRecordDatum 32
0047
0048
0049 #define XRecordGlobaldef
0050 #define XRecordGlobalref extern
0051
0052 #define RecordMaxEvent (128L-1L)
0053 #define RecordMinDeviceEvent (2L)
0054 #define RecordMaxDeviceEvent (6L)
0055 #define RecordMaxError (256L-1L)
0056 #define RecordMaxCoreRequest (128L-1L)
0057 #define RecordMaxExtRequest (256L-1L)
0058 #define RecordMinExtRequest (129L-1L)
0059
0060 #define RECORD_RC CARD32
0061 #define RECORD_XIDBASE CARD32
0062 #define RECORD_CLIENTSPEC CARD32
0063 #define RECORD_ELEMENT_HEADER CARD8
0064
0065 typedef RECORD_CLIENTSPEC RecordClientSpec, *RecordClientSpecPtr;
0066
0067 typedef struct
0068 {
0069 CARD8 first;
0070 CARD8 last;
0071 } RECORD_RANGE8;
0072
0073 typedef struct
0074 {
0075 CARD16 first B16;
0076 CARD16 last B16;
0077 } RECORD_RANGE16;
0078
0079 typedef struct
0080 {
0081 RECORD_RANGE8 majorCode;
0082 RECORD_RANGE16 minorCode;
0083 } RECORD_EXTRANGE;
0084
0085 typedef struct
0086 {
0087 RECORD_RANGE8 coreRequests;
0088 RECORD_RANGE8 coreReplies;
0089 RECORD_EXTRANGE extRequests;
0090 RECORD_EXTRANGE extReplies;
0091 RECORD_RANGE8 deliveredEvents;
0092 RECORD_RANGE8 deviceEvents;
0093 RECORD_RANGE8 errors;
0094 BOOL clientStarted;
0095 BOOL clientDied;
0096 } RECORDRANGE;
0097 #define sz_RECORDRANGE 24
0098
0099
0100
0101
0102
0103 typedef struct
0104 {
0105 CARD8 coreRequestsFirst;
0106 CARD8 coreRequestsLast;
0107 CARD8 coreRepliesFirst;
0108 CARD8 coreRepliesLast;
0109 CARD8 extRequestsMajorFirst;
0110 CARD8 extRequestsMajorLast;
0111 CARD16 extRequestsMinorFirst B16;
0112 CARD16 extRequestsMinorLast B16;
0113 CARD8 extRepliesMajorFirst;
0114 CARD8 extRepliesMajorLast;
0115 CARD16 extRepliesMinorFirst B16;
0116 CARD16 extRepliesMinorLast B16;
0117 CARD8 deliveredEventsFirst;
0118 CARD8 deliveredEventsLast;
0119 CARD8 deviceEventsFirst;
0120 CARD8 deviceEventsLast;
0121 CARD8 errorsFirst;
0122 CARD8 errorsLast;
0123 BOOL clientStarted;
0124 BOOL clientDied;
0125 } xRecordRange;
0126 #define sz_xRecordRange 24
0127
0128 typedef struct
0129 {
0130 RECORD_CLIENTSPEC clientResource B32;
0131 CARD32 nRanges B32;
0132
0133 } RECORD_CLIENT_INFO;
0134
0135 typedef RECORD_CLIENT_INFO xRecordClientInfo;
0136
0137
0138
0139
0140 typedef struct {
0141 CARD8 reqType;
0142 CARD8 recordReqType;
0143 CARD16 length B16;
0144 CARD16 majorVersion B16;
0145 CARD16 minorVersion B16;
0146 } xRecordQueryVersionReq;
0147 #define sz_xRecordQueryVersionReq 8
0148
0149 typedef struct
0150 {
0151 CARD8 type;
0152 CARD8 pad0;
0153 CARD16 sequenceNumber B16;
0154 CARD32 length B32;
0155 CARD16 majorVersion B16;
0156 CARD16 minorVersion B16;
0157 CARD32 pad1 B32;
0158 CARD32 pad2 B32;
0159 CARD32 pad3 B32;
0160 CARD32 pad4 B32;
0161 CARD32 pad5 B32;
0162 } xRecordQueryVersionReply;
0163 #define sz_xRecordQueryVersionReply 32
0164
0165
0166
0167
0168 typedef struct
0169 {
0170 CARD8 reqType;
0171 CARD8 recordReqType;
0172 CARD16 length B16;
0173 RECORD_RC context B32;
0174 RECORD_ELEMENT_HEADER elementHeader;
0175 CARD8 pad;
0176 CARD16 pad0 B16;
0177 CARD32 nClients B32;
0178 CARD32 nRanges B32;
0179
0180
0181 } xRecordCreateContextReq;
0182 #define sz_xRecordCreateContextReq 20
0183
0184
0185
0186
0187 typedef struct
0188 {
0189 CARD8 reqType;
0190 CARD8 recordReqType;
0191 CARD16 length B16;
0192 RECORD_RC context B32;
0193 RECORD_ELEMENT_HEADER elementHeader;
0194 CARD8 pad;
0195 CARD16 pad0 B16;
0196 CARD32 nClients B32;
0197 CARD32 nRanges B32;
0198
0199
0200 } xRecordRegisterClientsReq;
0201 #define sz_xRecordRegisterClientsReq 20
0202
0203
0204
0205
0206 typedef struct
0207 {
0208 CARD8 reqType;
0209 CARD8 recordReqType;
0210 CARD16 length B16;
0211 RECORD_RC context B32;
0212 CARD32 nClients B32;
0213
0214 } xRecordUnregisterClientsReq;
0215 #define sz_xRecordUnregisterClientsReq 12
0216
0217
0218
0219
0220 typedef struct
0221 {
0222 CARD8 reqType;
0223 CARD8 recordReqType;
0224 CARD16 length B16;
0225 RECORD_RC context B32;
0226 } xRecordGetContextReq;
0227 #define sz_xRecordGetContextReq 8
0228
0229 typedef struct
0230 {
0231 CARD8 type;
0232 BOOL enabled;
0233 CARD16 sequenceNumber B16;
0234 CARD32 length B32;
0235 RECORD_ELEMENT_HEADER elementHeader;
0236 CARD8 pad;
0237 CARD16 pad0 B16;
0238 CARD32 nClients B32;
0239 CARD32 pad1 B32;
0240 CARD32 pad2 B32;
0241 CARD32 pad3 B32;
0242 CARD32 pad4 B32;
0243
0244 } xRecordGetContextReply;
0245 #define sz_xRecordGetContextReply 32
0246
0247
0248
0249
0250 typedef struct
0251 {
0252 CARD8 reqType;
0253 CARD8 recordReqType;
0254 CARD16 length B16;
0255 RECORD_RC context B32;
0256 } xRecordEnableContextReq;
0257 #define sz_xRecordEnableContextReq 8
0258
0259 typedef struct
0260 {
0261 CARD8 type;
0262 CARD8 category;
0263 CARD16 sequenceNumber B16;
0264 CARD32 length B32;
0265 RECORD_ELEMENT_HEADER elementHeader;
0266 BOOL clientSwapped;
0267 CARD16 pad1 B16;
0268 RECORD_XIDBASE idBase B32;
0269 CARD32 serverTime B32;
0270 CARD32 recordedSequenceNumber B32;
0271 CARD32 pad3 B32;
0272 CARD32 pad4 B32;
0273
0274 } xRecordEnableContextReply;
0275 #define sz_xRecordEnableContextReply 32
0276
0277
0278
0279
0280 typedef struct
0281 {
0282 CARD8 reqType;
0283 CARD8 recordReqType;
0284 CARD16 length B16;
0285 RECORD_RC context B32;
0286 } xRecordDisableContextReq;
0287 #define sz_xRecordDisableContextReq 8
0288
0289
0290
0291
0292 typedef struct
0293 {
0294 CARD8 reqType;
0295 CARD8 recordReqType;
0296 CARD16 length B16;
0297 RECORD_RC context B32;
0298 } xRecordFreeContextReq;
0299 #define sz_xRecordFreeContextReq 8
0300
0301 #undef RECORD_RC
0302 #undef RECORD_XIDBASE
0303 #undef RECORD_ELEMENT_HEADER
0304 #undef RECORD_CLIENTSPEC
0305
0306 #endif