]> git.sesse.net Git - rdpsrv/blob - Xserver/include/extensions/XIEproto.h
Support RDP5 logon packets.
[rdpsrv] / Xserver / include / extensions / XIEproto.h
1 /* $XConsortium: XIEproto.h,v 1.6 94/04/17 20:11:12 mor Exp $ */
2 /******************************************************************************
3 Copyright (c) 1993, 1994  X Consortium
4
5 Permission is hereby granted, free of charge, to any person obtaining
6 a copy of this software and associated documentation files (the
7 "Software"), to deal in the Software without restriction, including
8 without limitation the rights to use, copy, modify, merge, publish,
9 distribute, sublicense, and/or sell copies of the Software, and to
10 permit persons to whom the Software is furnished to do so, subject to
11 the following conditions:
12
13 The above copyright notice and this permission notice shall be included
14 in all copies or substantial portions of the Software.
15
16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
20 OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22 OTHER DEALINGS IN THE SOFTWARE.
23
24 Except as contained in this notice, the name of the X Consortium shall
25 not be used in advertising or otherwise to promote the sale, use or
26 other dealings in this Software without prior written authorization
27 from the X Consortium.
28
29
30                                 NOTICE
31
32 This software is being provided by AGE Logic, Inc. under the
33 following license.  By obtaining, using and/or copying this software,
34 you agree that you have read, understood, and will comply with these
35 terms and conditions:
36
37      Permission to use, copy, modify, distribute and sell this
38      software and its documentation for any purpose and without
39      fee or royalty and to grant others any or all rights granted
40      herein is hereby granted, provided that you agree to comply
41      with the following copyright notice and statements, including
42      the disclaimer, and that the same appears on all copies and
43      derivative works of the software and documentation you make.
44      
45      "Copyright 1993, 1994 by AGE Logic, Inc."
46      
47      THIS SOFTWARE IS PROVIDED "AS IS".  AGE LOGIC MAKES NO
48      REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED.  By way of
49      example, but not limitation, AGE LOGIC MAKE NO
50      REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS
51      FOR ANY PARTICULAR PURPOSE OR THAT THE SOFTWARE DOES NOT
52      INFRINGE THIRD-PARTY PROPRIETARY RIGHTS.  AGE LOGIC 
53      SHALL BEAR NO LIABILITY FOR ANY USE OF THIS SOFTWARE.  IN NO
54      EVENT SHALL EITHER PARTY BE LIABLE FOR ANY INDIRECT,
55      INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOSS
56      OF PROFITS, REVENUE, DATA OR USE, INCURRED BY EITHER PARTY OR
57      ANY THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR TORT OR
58      BASED ON A WARRANTY, EVEN IF AGE LOGIC LICENSEES
59      HEREUNDER HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH
60      DAMAGES.
61     
62      The name of AGE Logic, Inc. may not be used in
63      advertising or publicity pertaining to this software without
64      specific, written prior permission from AGE Logic.
65
66      Title to this software shall at all times remain with AGE
67      Logic, Inc.
68 ******************************************************************************/
69
70 #ifndef _XIEPROTO_H_
71 #define _XIEPROTO_H_
72
73 #include <X11/extensions/XIEprotost.h>
74
75 #define Drawable CARD32
76 #define Colormap CARD32
77 #define GContext CARD32
78
79
80 typedef struct {        
81     CARD8       reqType;
82     CARD8       opcode;
83     CARD16      length B16;
84 } xieReq;
85
86 typedef struct {        
87     CARD8       reqType;
88     CARD8       opcode;
89     CARD16      length B16;
90     CARD16      majorVersion B16;
91     CARD16      minorVersion B16;
92 } xieQueryImageExtensionReq;
93
94 typedef struct {
95     CARD8               type;
96     CARD8               data;
97     CARD16              sequenceNum B16;
98     CARD32              length B32;
99     CARD16              majorVersion B16;
100     CARD16              minorVersion B16;
101     xieTypServiceClass  serviceClass;
102     xieTypAlignment     alignment;
103     CARD16              unconstrainedMantissa B16;
104     INT32               unconstrainedMaxExp B32;
105     INT32               unconstrainedMinExp B32;
106     CARD8               pad2[8];
107     /* LISTofCARD32 (constrained-levels) */
108 } xieQueryImageExtensionReply;
109
110 typedef struct {        
111     CARD8                       reqType;
112     CARD8                       opcode;
113     CARD16                      length B16;
114     xieTypTechniqueGroup        techniqueGroup;
115     CARD8                       pad[3];
116 } xieQueryTechniquesReq;
117
118 typedef struct {
119     CARD8       type;
120     CARD8       data;
121     CARD16      sequenceNum B16;
122     CARD32      length B32;
123     CARD16      numTechniques B16;
124     CARD8       pad[22];
125     /* LISTofTechniqueRec (numTechniques) */
126 } xieQueryTechniquesReply;
127
128 typedef struct {        
129     CARD8               reqType;
130     CARD8               opcode;
131     CARD16              length B16;
132     xieTypColorList     colorList B32;  
133 } xieCreateColorListReq;
134
135 typedef struct {        
136     CARD8               reqType;
137     CARD8               opcode;
138     CARD16              length B16;
139     xieTypColorList     colorList B32;  
140 } xieDestroyColorListReq;
141
142 typedef struct {        
143     CARD8               reqType;
144     CARD8               opcode;
145     CARD16              length B16;
146     xieTypColorList     colorList B32;  
147 } xiePurgeColorListReq;
148
149 typedef struct {        
150     CARD8               reqType;
151     CARD8               opcode;
152     CARD16              length B16;
153     xieTypColorList     colorList B32;  
154 } xieQueryColorListReq;
155
156 typedef struct {
157     CARD8       type;
158     CARD8       data;
159     CARD16      sequenceNum B16;
160     CARD32      length B32;
161     Colormap    colormap B32;
162     CARD8       pad[20];
163     /* LISTofCARD32 (length) */
164 } xieQueryColorListReply;
165
166 typedef struct {        
167     CARD8       reqType;
168     CARD8       opcode;
169     CARD16      length B16;
170     xieTypLUT   lut B32;
171 } xieCreateLUTReq;
172
173 typedef struct {        
174     CARD8       reqType;
175     CARD8       opcode;
176     CARD16      length B16;
177     xieTypLUT   lut B32;
178 } xieDestroyLUTReq;
179
180 typedef struct {        
181     CARD8               reqType;
182     CARD8               opcode;
183     CARD16              length B16;
184     xieTypPhotomap      photomap B32;
185 } xieCreatePhotomapReq;
186
187 typedef struct {        
188     CARD8               reqType;
189     CARD8               opcode;
190     CARD16              length B16;
191     xieTypPhotomap      photomap B32;
192 } xieDestroyPhotomapReq;
193
194 typedef struct {        
195     CARD8               reqType;
196     CARD8               opcode;
197     CARD16              length B16;
198     xieTypPhotomap      photomap B32;
199 } xieQueryPhotomapReq;
200
201 typedef struct {
202     CARD8                       type;
203     BOOL                        populated;
204     CARD16                      sequenceNum B16;
205     CARD32                      length B32;
206     xieTypDataClass             dataClass;
207     xieTypDataType              dataType;
208     xieTypDecodeTechnique       decodeTechnique B16;
209     CARD32                      width0 B32;
210     CARD32                      width1 B32;
211     CARD32                      width2 B32;
212     CARD32                      height0 B32;
213     CARD32                      height1 B32;
214     CARD32                      height2 B32;
215     CARD32                      levels0 B32;
216     CARD32                      levels1 B32;
217     CARD32                      levels2 B32;
218 } xieQueryPhotomapReply;
219
220 typedef struct {        
221     CARD8       reqType;
222     CARD8       opcode;
223     CARD16      length B16;
224     xieTypROI   roi B32;
225 } xieCreateROIReq;
226
227 typedef struct {        
228     CARD8       reqType;
229     CARD8       opcode;
230     CARD16      length B16;
231     xieTypROI   roi B32;
232 } xieDestroyROIReq;
233
234 typedef struct {
235     CARD8               reqType;
236     CARD8               opcode;
237     CARD16              length B16;
238     xieTypPhotospace    nameSpace B32;
239 } xieCreatePhotospaceReq;
240
241 typedef struct {
242     CARD8               reqType;
243     CARD8               opcode;
244     CARD16              length B16;
245     xieTypPhotospace    nameSpace B32;
246 } xieDestroyPhotospaceReq;
247
248 typedef struct {
249     CARD8               reqType;
250     CARD8               opcode;
251     CARD16              length B16;
252     xieTypPhotospace    nameSpace B32;
253     CARD32              floID B32;
254     CARD16              numElements B16;
255     BOOL                notify;
256     CARD8               pad;                    
257     /* LISTofPhotoElement (numElements) */
258 } xieExecuteImmediateReq;
259  
260 typedef struct {
261     CARD8               reqType;
262     CARD8               opcode;
263     CARD16              length B16;
264     xieTypPhotoflo      floID B32;
265     CARD16              numElements B16;
266     CARD16              pad B16;                        
267     /* LISTofPhotoElement (numElements) */
268 } xieCreatePhotofloReq;
269
270 typedef struct {
271     CARD8               reqType;
272     CARD8               opcode;
273     CARD16              length B16;
274     xieTypPhotoflo      floID B32;
275 } xieDestroyPhotofloReq;
276
277 typedef struct {
278     CARD8               reqType;
279     CARD8               opcode;
280     CARD16              length B16;
281     xieTypPhotoflo      floID B32;
282     BOOL                notify;
283     CARD8               pad[3];                 
284 } xieExecutePhotofloReq;
285
286 typedef struct {
287     CARD8               reqType;
288     CARD8               opcode;
289     CARD16              length B16;
290     xieTypPhotoflo      floID B32;
291     xieTypPhototag      start B16;
292     CARD16              numElements B16;
293     /* LISTofPhotoElement (numElements) */
294 } xieModifyPhotofloReq;
295
296 typedef struct {
297     CARD8               reqType;
298     CARD8               opcode;
299     CARD16              length B16;
300     xieTypPhotoflo      floID B32;
301     CARD16              numElements B16;
302     CARD16              pad B16;
303     /* LISTofPhotoElement (numElements) */
304 } xieRedefinePhotofloReq;
305
306 typedef struct {
307     CARD8               reqType;
308     CARD8               opcode;
309     CARD16              length B16;
310     CARD32              nameSpace B32;
311     CARD32              floID B32;
312     xieTypPhototag      element B16;
313     BOOL                final;
314     CARD8               bandNumber;
315     CARD32              byteCount B32;
316     /* LISTofCARD8 (byteCount) */
317     /* pad (byteCount) */
318 } xiePutClientDataReq;
319
320 typedef struct {
321     CARD8               reqType;
322     CARD8               opcode;
323     CARD16              length B16;
324     CARD32              nameSpace B32;
325     CARD32              floID B32;
326     CARD32              maxBytes B32;
327     xieTypPhototag      element B16;
328     BOOL                terminate;
329     CARD8               bandNumber;
330 } xieGetClientDataReq;
331
332 typedef struct {
333     CARD8       type;
334     CARD8       newState;
335     CARD16      sequenceNum B16;
336     CARD32      length B32;
337     CARD32      byteCount B32;
338     CARD8       pad[20];
339     /* LISTofCARD8 (byteCount) */
340     /* pad (byteCount) */
341 } xieGetClientDataReply;
342
343 typedef struct {
344     CARD8       reqType;
345     CARD8       opcode;
346     CARD16      length B16;
347     CARD32      nameSpace B32;
348     CARD32      floID B32;
349 } xieQueryPhotofloReq;
350
351 typedef struct {
352     CARD8       type;
353     CARD8       state;
354     CARD16      sequenceNum B16;
355     CARD32      length B32;
356     CARD16      expectedCount B16;
357     CARD16      availableCount B16;
358     CARD8       pad[20];
359     /* LISTofPhototag (expectedCount) */
360     /* pad (expectedCount * 2) */
361     /* LISTofPhototag (availableCount) */
362     /* pad (availableCount * 2) */
363 } xieQueryPhotofloReply;
364
365 typedef struct {
366     CARD8       reqType;
367     CARD8       opcode;
368     CARD16      length B16;
369     CARD32      nameSpace B32;
370     CARD32      floID B32;
371 } xieAwaitReq;
372
373 typedef struct {
374     CARD8       reqType;
375     CARD8       opcode;
376     CARD16      length B16;
377     CARD32      nameSpace B32;
378     CARD32      floID B32;
379 } xieAbortReq;
380
381
382 /*
383  * Request codes
384  */
385
386 #define X_ieQueryImageExtension         1
387 #define X_ieQueryTechniques             2
388 #define X_ieCreateColorList             3
389 #define X_ieDestroyColorList            4
390 #define X_iePurgeColorList              5
391 #define X_ieQueryColorList              6
392 #define X_ieCreateLUT                   7
393 #define X_ieDestroyLUT                  8
394 #define X_ieCreatePhotomap              9
395 #define X_ieDestroyPhotomap             10
396 #define X_ieQueryPhotomap               11
397 #define X_ieCreateROI                   12
398 #define X_ieDestroyROI                  13
399 #define X_ieCreatePhotospace            14
400 #define X_ieDestroyPhotospace           15
401 #define X_ieExecuteImmediate            16
402 #define X_ieCreatePhotoflo              17
403 #define X_ieDestroyPhotoflo             18
404 #define X_ieExecutePhotoflo             19
405 #define X_ieModifyPhotoflo              20
406 #define X_ieRedefinePhotoflo            21
407 #define X_iePutClientData               22
408 #define X_ieGetClientData               23
409 #define X_ieQueryPhotoflo               24
410 #define X_ieAwait                       25
411 #define X_ieAbort                       26
412
413 #define xieNumProtoReq                  26
414
415
416 /*
417  * Events
418  */
419 typedef struct {
420     CARD8                       event;
421     xieTypPhotofloOutcome       outcome;
422     CARD16                      sequenceNum B16;
423     CARD32                      time B32;
424     CARD32                      instanceNameSpace B32;
425     CARD32                      instanceFloID B32;
426     CARD8                       pad[16];
427 } xiePhotofloDoneEvn;
428
429 typedef struct {
430     CARD8                       event;
431     CARD8                       pad1;
432     CARD16                      sequenceNum B16;
433     CARD32                      time B32;
434     CARD32                      instanceNameSpace B32;
435     CARD32                      instanceFloID B32;
436     xieTypPhototag              src B16;
437     CARD16                      type B16;
438     CARD32                      pad2 B32;
439     CARD32                      pad3 B16;
440     CARD32                      pad4 B32;
441 } xieFloEvn;
442
443 typedef struct {
444     CARD8                       event;
445     CARD8                       pad1;
446     CARD16                      sequenceNum B16;
447     CARD32                      time B32;
448     CARD32                      instanceNameSpace B32;
449     CARD32                      instanceFloID B32;
450     xieTypPhototag              src B16;
451     CARD16                      type B16;
452     xieTypColorList             colorList B32;
453     xieTypColorAllocTechnique   colorAllocTechnique B16;
454     CARD16                      pad2 B16;
455     CARD32                      data B32;
456 } xieColorAllocEvn;
457
458 typedef struct {
459     CARD8                       event;
460     CARD8                       bandNumber;
461     CARD16                      sequenceNum B16;
462     CARD32                      time B32;
463     CARD32                      instanceNameSpace B32;
464     CARD32                      instanceFloID B32;
465     xieTypPhototag              src B16;
466     CARD16                      type B16;
467     xieTypDecodeTechnique       decodeTechnique B16;
468     BOOL                        aborted;
469     CARD8                       pad;
470     CARD32                      width B32;
471     CARD32                      height B32;
472 } xieDecodeNotifyEvn;
473
474 typedef struct {
475     CARD8               event;
476     CARD8               bandNumber;
477     CARD16              sequenceNum B16;
478     CARD32              time B32;
479     CARD32              instanceNameSpace B32;
480     CARD32              instanceFloID B32;
481     xieTypPhototag      src B16;
482     CARD16              type B16;
483     CARD32              data0 B32;
484     CARD32              data1 B32;
485     CARD32              data2 B32;
486 } xieExportAvailableEvn;
487
488 typedef struct {
489     CARD8               event;
490     CARD8               pad;
491     CARD16              sequenceNum B16;
492     CARD32              time B32;
493     CARD32              instanceNameSpace B32;
494     CARD32              instanceFloID B32;
495     xieTypPhototag      src B16;
496     CARD16              type B16;
497     Window              window B32;
498     INT16               x B16;
499     INT16               y B16;
500     CARD16              width B16;
501     CARD16              height B16;
502 } xieImportObscuredEvn;
503
504
505 /*
506  * Errors
507  */
508 typedef struct {
509     CARD8             error;
510     CARD8             code;
511     CARD16            sequenceNum B16;
512     CARD32            resourceID B32;
513     CARD16            minorOpcode B16;
514     CARD8             majorOpcode;
515     CARD8             pad[21];
516 } xieResourceErr;
517
518 typedef struct {
519     CARD8             error;
520     CARD8             code;
521     CARD16            sequenceNum B16;
522     CARD32            floID B32;
523     CARD16            minorOpcode B16;
524     CARD8             majorOpcode;
525     CARD8             floErrorCode;
526     CARD32            nameSpace B32;
527     xieTypPhototag    phototag B16;
528     CARD16            type B16;
529     CARD32            resourceID B32;
530     CARD8             pad[8];
531 } xieFloResourceErr;
532
533 typedef struct {
534     CARD8             error;
535     CARD8             code;
536     CARD16            sequenceNum B16;
537     CARD32            floID B32;
538     CARD16            minorOpcode B16;
539     CARD8             majorOpcode;
540     CARD8             floErrorCode;
541     CARD32            nameSpace B32;
542     xieTypPhototag    phototag B16;
543     CARD16            type B16;
544     CARD8             pad[12];
545 } xieFloErr, xieFloAccessErr, xieFloAllocErr, xieFloElementErr,
546   xieFloLengthErr, xieFloMatchErr, xieFloSourceErr, xieFloImplementationErr;
547
548 typedef struct {
549     CARD8             error;
550     CARD8             code;
551     CARD16            sequenceNum B16;
552     CARD32            floID B32;
553     CARD16            minorOpcode B16;
554     CARD8             majorOpcode;
555     CARD8             floErrorCode;
556     CARD32            nameSpace B32;
557     xieTypPhototag    phototag B16;
558     CARD16            type B16;
559     xieTypPhototag    domainSrc B16;
560     CARD8             pad[10];
561 } xieFloDomainErr;
562
563 typedef struct {
564     CARD8             error;
565     CARD8             code;
566     CARD16            sequenceNum B16;
567     CARD32            floID B32;
568     CARD16            minorOpcode B16;
569     CARD8             majorOpcode;
570     CARD8             floErrorCode;
571     CARD32            nameSpace B32;
572     CARD8             pad[16];
573 } xieFloIDErr;
574
575 typedef struct {
576     CARD8             error;
577     CARD8             code;
578     CARD16            sequenceNum B16;
579     CARD32            floID B32;
580     CARD16            minorOpcode B16;
581     CARD8             majorOpcode;
582     CARD8             floErrorCode;
583     CARD32            nameSpace B32;
584     xieTypPhototag    phototag B16;
585     CARD16            type B16;
586     CARD8             operator;
587     CARD8             pad[11];
588 } xieFloOperatorErr;
589
590 typedef struct {
591     CARD8             error;
592     CARD8             code;
593     CARD16            sequenceNum B16;
594     CARD32            floID B32;
595     CARD16            minorOpcode B16;
596     CARD8             majorOpcode;
597     CARD8             floErrorCode;
598     CARD32            nameSpace B32;
599     xieTypPhototag    phototag B16;
600     CARD16            type B16;
601     CARD16            techniqueNumber B16;
602     CARD16            lenTechParams B16;
603     CARD8             techniqueGroup;
604     CARD8             pad[7];
605 } xieFloTechniqueErr;
606
607 typedef struct {
608     CARD8             error;
609     CARD8             code;
610     CARD16            sequenceNum B16;
611     CARD32            floID B32;
612     CARD16            minorOpcode B16;
613     CARD8             majorOpcode;
614     CARD8             floErrorCode;
615     CARD32            nameSpace B32;
616     xieTypPhototag    phototag B16;
617     CARD16            type B16;
618     CARD32            badValue B32;
619     CARD8             pad[8];
620 } xieFloValueErr;
621
622
623
624 /*
625  * SIZEOF values
626  */
627 #define sz_xieReq                        4
628 #define sz_xieQueryImageExtensionReq     8
629 #define sz_xieQueryImageExtensionReply  32
630 #define sz_xieQueryTechniquesReq         8
631 #define sz_xieQueryTechniquesReply      32
632 #define sz_xieCreateColorListReq         8
633 #define sz_xieDestroyColorListReq        8
634 #define sz_xiePurgeColorListReq          8
635 #define sz_xieQueryColorListReq          8
636 #define sz_xieQueryColorListReply       32
637 #define sz_xieCreateLUTReq               8
638 #define sz_xieDestroyLUTReq              8
639 #define sz_xieCreatePhotomapReq          8
640 #define sz_xieDestroyPhotomapReq         8
641 #define sz_xieQueryPhotomapReq           8
642 #define sz_xieQueryPhotomapReply        48
643 #define sz_xieCreateROIReq               8
644 #define sz_xieDestroyROIReq              8
645 #define sz_xieCreatePhotospaceReq        8
646 #define sz_xieDestroyPhotospaceReq       8
647 #define sz_xieExecuteImmediateReq       16
648 #define sz_xieCreatePhotofloReq         12
649 #define sz_xieDestroyPhotofloReq         8
650 #define sz_xieExecutePhotofloReq        12
651 #define sz_xieModifyPhotofloReq         12
652 #define sz_xieRedefinePhotofloReq       12
653 #define sz_xiePutClientDataReq          20
654 #define sz_xieGetClientDataReq          20
655 #define sz_xieGetClientDataReply        32
656 #define sz_xieQueryPhotofloReq          12
657 #define sz_xieQueryPhotofloReply        32
658 #define sz_xieAwaitReq                  12
659 #define sz_xieAbortReq                  12
660
661 #define sz_xiePhotofloDoneEvn           32
662 #define sz_xieColorAllocEvn             32
663 #define sz_xieDecodeNotifyEvn           32
664 #define sz_xieExportAvailableEvn        32
665 #define sz_xieImportObscuredEvn         32
666 #define sz_xieFloEvn                    32
667
668 #define sz_xieResourceErr               32
669 #define sz_xieFloAccessErr              32
670 #define sz_xieFloAllocErr               32
671 #define sz_xieFloElementErr             32
672 #define sz_xieFloIDErr                  32
673 #define sz_xieFloLengthErr              32
674 #define sz_xieFloMatchErr               32
675 #define sz_xieFloSourceErr              32
676 #define sz_xieFloDomainErr              32
677 #define sz_xieFloOperatorErr            32
678 #define sz_xieFloTechniqueErr           32
679 #define sz_xieFloValueErr               32
680 #define sz_xieFloImplementationErr      32
681 #define sz_xieFloErr                    32
682
683 #undef Drawable
684 #undef Colormap
685 #undef GContext
686
687 #endif /* _XIEPROTO_H_ */