1 /***********************************************************
2 
3 Copyright 1987, 1998  The Open Group
4 
5 Permission to use, copy, modify, distribute, and sell this software and its
6 documentation for any purpose is hereby granted without fee, provided that
7 the above copyright notice appear in all copies and that both that
8 copyright notice and this permission notice appear in supporting
9 documentation.
10 
11 The above copyright notice and this permission notice shall be included in
12 all copies or substantial portions of the Software.
13 
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
17 OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
18 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 
21 Except as contained in this notice, the name of The Open Group shall not be
22 used in advertising or otherwise to promote the sale, use or other dealings
23 in this Software without prior written authorization from The Open Group.
24 
25 Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
26 
27                         All Rights Reserved
28 
29 Permission to use, copy, modify, and distribute this software and its
30 documentation for any purpose and without fee is hereby granted,
31 provided that the above copyright notice appear in all copies and that
32 both that copyright notice and this permission notice appear in
33 supporting documentation, and that the name of Digital not be
34 used in advertising or publicity pertaining to distribution of the
35 software without specific, written prior permission.
36 
37 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
38 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
39 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
40 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
41 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
42 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
43 SOFTWARE.
44 
45 ******************************************************************/
46 
47 #ifdef HAVE_DIX_CONFIG_H
48 #include <dix-config.h>
49 #endif
50 
51 #include <X11/X.h>
52 #include <X11/Xproto.h>
53 #include "windowstr.h"
54 #include "extnsionst.h"
55 #include "dixstruct.h"
56 #include "dixevents.h"
57 #include "dispatch.h"
58 #include "swaprep.h"
59 #include "swapreq.h"
60 
61 int (*InitialVector[3]) (ClientPtr /* client */) = {
62     0,
63     ProcInitialConnection,
64     ProcEstablishConnection
65 };
66 
67 int (*ProcVector[256]) (ClientPtr /* client */) = {
68     ProcBadRequest,
69     ProcCreateWindow,
70     ProcChangeWindowAttributes,
71     ProcGetWindowAttributes,
72     ProcDestroyWindow,
73     ProcDestroySubwindows,              /* 5 */
74     ProcChangeSaveSet,
75     ProcReparentWindow,
76     ProcMapWindow,
77     ProcMapSubwindows,
78     ProcUnmapWindow,                    /* 10 */
79     ProcUnmapSubwindows,
80     ProcConfigureWindow,
81     ProcCirculateWindow,
82     ProcGetGeometry,
83     ProcQueryTree,                      /* 15 */
84     ProcInternAtom,
85     ProcGetAtomName,
86     ProcChangeProperty,
87     ProcDeleteProperty,
88     ProcGetProperty,                    /* 20 */
89     ProcListProperties,
90     ProcSetSelectionOwner,
91     ProcGetSelectionOwner,
92     ProcConvertSelection,
93     ProcSendEvent,                      /* 25 */
94     ProcGrabPointer,
95     ProcUngrabPointer,
96     ProcGrabButton,
97     ProcUngrabButton,
98     ProcChangeActivePointerGrab,        /* 30 */
99     ProcGrabKeyboard,
100     ProcUngrabKeyboard,
101     ProcGrabKey,
102     ProcUngrabKey,
103     ProcAllowEvents,                    /* 35 */
104     ProcGrabServer,
105     ProcUngrabServer,
106     ProcQueryPointer,
107     ProcGetMotionEvents,
108     ProcTranslateCoords,                /* 40 */
109     ProcWarpPointer,
110     ProcSetInputFocus,
111     ProcGetInputFocus,
112     ProcQueryKeymap,
113     ProcOpenFont,                       /* 45 */
114     ProcCloseFont,
115     ProcQueryFont,
116     ProcQueryTextExtents,
117     ProcListFonts,
118     ProcListFontsWithInfo,              /* 50 */
119     ProcSetFontPath,
120     ProcGetFontPath,
121     ProcCreatePixmap,
122     ProcFreePixmap,
123     ProcCreateGC,                       /* 55 */
124     ProcChangeGC,
125     ProcCopyGC,
126     ProcSetDashes,
127     ProcSetClipRectangles,
128     ProcFreeGC,                         /* 60 */
129     ProcClearToBackground,
130     ProcCopyArea,
131     ProcCopyPlane,
132     ProcPolyPoint,
133     ProcPolyLine,                       /* 65 */
134     ProcPolySegment,
135     ProcPolyRectangle,
136     ProcPolyArc,
137     ProcFillPoly,
138     ProcPolyFillRectangle,              /* 70 */
139     ProcPolyFillArc,
140     ProcPutImage,
141     ProcGetImage,
142     ProcPolyText,
143     ProcPolyText,                       /* 75 */
144     ProcImageText8,
145     ProcImageText16,
146     ProcCreateColormap,
147     ProcFreeColormap,
148     ProcCopyColormapAndFree,            /* 80 */
149     ProcInstallColormap,
150     ProcUninstallColormap,
151     ProcListInstalledColormaps,
152     ProcAllocColor,
153     ProcAllocNamedColor,                /* 85 */
154     ProcAllocColorCells,
155     ProcAllocColorPlanes,
156     ProcFreeColors,
157     ProcStoreColors,
158     ProcStoreNamedColor,                /* 90 */
159     ProcQueryColors,
160     ProcLookupColor,
161     ProcCreateCursor,
162     ProcCreateGlyphCursor,
163     ProcFreeCursor,                     /* 95 */
164     ProcRecolorCursor,
165     ProcQueryBestSize,
166     ProcQueryExtension,
167     ProcListExtensions,
168     ProcChangeKeyboardMapping,          /* 100 */
169     ProcGetKeyboardMapping,
170     ProcChangeKeyboardControl,
171     ProcGetKeyboardControl,
172     ProcBell,
173     ProcChangePointerControl,           /* 105 */
174     ProcGetPointerControl,
175     ProcSetScreenSaver,
176     ProcGetScreenSaver,
177     ProcChangeHosts,
178     ProcListHosts,                      /* 110 */
179     ProcChangeAccessControl,
180     ProcChangeCloseDownMode,
181     ProcKillClient,
182     ProcRotateProperties,
183     ProcForceScreenSaver,               /* 115 */
184     ProcSetPointerMapping,
185     ProcGetPointerMapping,
186     ProcSetModifierMapping,
187     ProcGetModifierMapping,
188     ProcBadRequest,                     /* 120 */
189     ProcBadRequest,
190     ProcBadRequest,
191     ProcBadRequest,
192     ProcBadRequest,
193     ProcBadRequest,                     /* 125 */
194     ProcBadRequest,
195     ProcNoOperation,
196     ProcBadRequest,
197     ProcBadRequest,
198     ProcBadRequest,
199     ProcBadRequest,
200     ProcBadRequest,
201     ProcBadRequest,
202     ProcBadRequest,
203     ProcBadRequest,
204     ProcBadRequest,
205     ProcBadRequest,
206     ProcBadRequest,
207     ProcBadRequest,
208     ProcBadRequest,
209     ProcBadRequest,
210     ProcBadRequest,
211     ProcBadRequest,
212     ProcBadRequest,
213     ProcBadRequest,
214     ProcBadRequest,
215     ProcBadRequest,
216     ProcBadRequest,
217     ProcBadRequest,
218     ProcBadRequest,
219     ProcBadRequest,
220     ProcBadRequest,
221     ProcBadRequest,
222     ProcBadRequest,
223     ProcBadRequest,
224     ProcBadRequest,
225     ProcBadRequest,
226     ProcBadRequest,
227     ProcBadRequest,
228     ProcBadRequest,
229     ProcBadRequest,
230     ProcBadRequest,
231     ProcBadRequest,
232     ProcBadRequest,
233     ProcBadRequest,
234     ProcBadRequest,
235     ProcBadRequest,
236     ProcBadRequest,
237     ProcBadRequest,
238     ProcBadRequest,
239     ProcBadRequest,
240     ProcBadRequest,
241     ProcBadRequest,
242     ProcBadRequest,
243     ProcBadRequest,
244     ProcBadRequest,
245     ProcBadRequest,
246     ProcBadRequest,
247     ProcBadRequest,
248     ProcBadRequest,
249     ProcBadRequest,
250     ProcBadRequest,
251     ProcBadRequest,
252     ProcBadRequest,
253     ProcBadRequest,
254     ProcBadRequest,
255     ProcBadRequest,
256     ProcBadRequest,
257     ProcBadRequest,
258     ProcBadRequest,
259     ProcBadRequest,
260     ProcBadRequest,
261     ProcBadRequest,
262     ProcBadRequest,
263     ProcBadRequest,
264     ProcBadRequest,
265     ProcBadRequest,
266     ProcBadRequest,
267     ProcBadRequest,
268     ProcBadRequest,
269     ProcBadRequest,
270     ProcBadRequest,
271     ProcBadRequest,
272     ProcBadRequest,
273     ProcBadRequest,
274     ProcBadRequest,
275     ProcBadRequest,
276     ProcBadRequest,
277     ProcBadRequest,
278     ProcBadRequest,
279     ProcBadRequest,
280     ProcBadRequest,
281     ProcBadRequest,
282     ProcBadRequest,
283     ProcBadRequest,
284     ProcBadRequest,
285     ProcBadRequest,
286     ProcBadRequest,
287     ProcBadRequest,
288     ProcBadRequest,
289     ProcBadRequest,
290     ProcBadRequest,
291     ProcBadRequest,
292     ProcBadRequest,
293     ProcBadRequest,
294     ProcBadRequest,
295     ProcBadRequest,
296     ProcBadRequest,
297     ProcBadRequest,
298     ProcBadRequest,
299     ProcBadRequest,
300     ProcBadRequest,
301     ProcBadRequest,
302     ProcBadRequest,
303     ProcBadRequest,
304     ProcBadRequest,
305     ProcBadRequest,
306     ProcBadRequest,
307     ProcBadRequest,
308     ProcBadRequest,
309     ProcBadRequest,
310     ProcBadRequest,
311     ProcBadRequest,
312     ProcBadRequest,
313     ProcBadRequest,
314     ProcBadRequest,
315     ProcBadRequest,
316     ProcBadRequest,
317     ProcBadRequest,
318     ProcBadRequest,
319     ProcBadRequest,
320     ProcBadRequest,
321     ProcBadRequest,
322     ProcBadRequest,
323     ProcBadRequest
324 };
325 
326 int (*SwappedProcVector[256]) (ClientPtr /* client */) = {
327     ProcBadRequest,
328     SProcCreateWindow,
329     SProcChangeWindowAttributes,
330     SProcResourceReq,                   /* GetWindowAttributes */
331     SProcResourceReq,                   /* DestroyWindow */
332     SProcResourceReq,                   /* 5 DestroySubwindows */
333     SProcResourceReq,                   /* SProcChangeSaveSet, */
334     SProcReparentWindow,
335     SProcResourceReq,                   /* MapWindow */
336     SProcResourceReq,                   /* MapSubwindows */
337     SProcResourceReq,                   /* 10 UnmapWindow */
338     SProcResourceReq,                   /* UnmapSubwindows */
339     SProcConfigureWindow,
340     SProcResourceReq,                   /* SProcCirculateWindow, */
341     SProcResourceReq,                   /* GetGeometry */
342     SProcResourceReq,                   /* 15 QueryTree */
343     SProcInternAtom,
344     SProcResourceReq,                   /* SProcGetAtomName, */
345     SProcChangeProperty,
346     SProcDeleteProperty,
347     SProcGetProperty,                   /* 20 */
348     SProcResourceReq,                   /* SProcListProperties, */
349     SProcSetSelectionOwner,
350     SProcResourceReq,                   /* SProcGetSelectionOwner, */
351     SProcConvertSelection,
352     SProcSendEvent,                     /* 25 */
353     SProcGrabPointer,
354     SProcResourceReq,                   /* SProcUngrabPointer, */
355     SProcGrabButton,
356     SProcUngrabButton,
357     SProcChangeActivePointerGrab,       /* 30 */
358     SProcGrabKeyboard,
359     SProcResourceReq,                   /* SProcUngrabKeyboard, */
360     SProcGrabKey,
361     SProcUngrabKey,
362     SProcResourceReq,                   /* 35 SProcAllowEvents, */
363     SProcSimpleReq,                     /* SProcGrabServer, */
364     SProcSimpleReq,                     /* SProcUngrabServer, */
365     SProcResourceReq,                   /* SProcQueryPointer, */
366     SProcGetMotionEvents,
367     SProcTranslateCoords,               /*40 */
368     SProcWarpPointer,
369     SProcSetInputFocus,
370     SProcSimpleReq,                     /* SProcGetInputFocus, */
371     SProcSimpleReq,                     /* QueryKeymap, */
372     SProcOpenFont,                      /* 45 */
373     SProcResourceReq,                   /* SProcCloseFont, */
374     SProcResourceReq,                   /* SProcQueryFont, */
375     SProcResourceReq,                   /* SProcQueryTextExtents,  */
376     SProcListFonts,
377     SProcListFontsWithInfo,             /* 50 */
378     SProcSetFontPath,
379     SProcSimpleReq,                     /* GetFontPath, */
380     SProcCreatePixmap,
381     SProcResourceReq,                   /* SProcFreePixmap, */
382     SProcCreateGC,                      /* 55 */
383     SProcChangeGC,
384     SProcCopyGC,
385     SProcSetDashes,
386     SProcSetClipRectangles,
387     SProcResourceReq,                   /* 60 SProcFreeGC, */
388     SProcClearToBackground,
389     SProcCopyArea,
390     SProcCopyPlane,
391     SProcPoly,                          /* PolyPoint, */
392     SProcPoly,                          /* 65 PolyLine */
393     SProcPoly,                          /* PolySegment, */
394     SProcPoly,                          /* PolyRectangle, */
395     SProcPoly,                          /* PolyArc, */
396     SProcFillPoly,
397     SProcPoly,                          /* 70 PolyFillRectangle */
398     SProcPoly,                          /* PolyFillArc, */
399     SProcPutImage,
400     SProcGetImage,
401     SProcPolyText,
402     SProcPolyText,                      /* 75 */
403     SProcImageText,
404     SProcImageText,
405     SProcCreateColormap,
406     SProcResourceReq,                   /* SProcFreeColormap, */
407     SProcCopyColormapAndFree,           /* 80 */
408     SProcResourceReq,                   /* SProcInstallColormap, */
409     SProcResourceReq,                   /* SProcUninstallColormap, */
410     SProcResourceReq,                   /* SProcListInstalledColormaps, */
411     SProcAllocColor,
412     SProcAllocNamedColor,               /* 85 */
413     SProcAllocColorCells,
414     SProcAllocColorPlanes,
415     SProcFreeColors,
416     SProcStoreColors,
417     SProcStoreNamedColor,               /* 90 */
418     SProcQueryColors,
419     SProcLookupColor,
420     SProcCreateCursor,
421     SProcCreateGlyphCursor,
422     SProcResourceReq,                   /* 95 SProcFreeCursor, */
423     SProcRecolorCursor,
424     SProcQueryBestSize,
425     SProcQueryExtension,
426     SProcSimpleReq,                     /* ListExtensions, */
427     SProcChangeKeyboardMapping,         /* 100 */
428     SProcSimpleReq,                     /* GetKeyboardMapping, */
429     SProcChangeKeyboardControl,
430     SProcSimpleReq,                     /* GetKeyboardControl, */
431     SProcSimpleReq,                     /* Bell, */
432     SProcChangePointerControl,          /* 105 */
433     SProcSimpleReq,                     /* GetPointerControl, */
434     SProcSetScreenSaver,
435     SProcSimpleReq,                     /* GetScreenSaver, */
436     SProcChangeHosts,
437     SProcSimpleReq,                     /* 110 ListHosts, */
438     SProcSimpleReq,                     /* SProcChangeAccessControl, */
439     SProcSimpleReq,                     /* SProcChangeCloseDownMode, */
440     SProcResourceReq,                   /* SProcKillClient, */
441     SProcRotateProperties,
442     SProcSimpleReq,                     /* 115 ForceScreenSaver */
443     SProcSimpleReq,                     /* SetPointerMapping, */
444     SProcSimpleReq,                     /* GetPointerMapping, */
445     SProcSimpleReq,                     /* SetModifierMapping, */
446     SProcSimpleReq,                     /* GetModifierMapping, */
447     ProcBadRequest,                     /* 120 */
448     ProcBadRequest,
449     ProcBadRequest,
450     ProcBadRequest,
451     ProcBadRequest,
452     ProcBadRequest,                     /* 125 */
453     ProcBadRequest,
454     SProcNoOperation,
455     ProcBadRequest,
456     ProcBadRequest,
457     ProcBadRequest,
458     ProcBadRequest,
459     ProcBadRequest,
460     ProcBadRequest,
461     ProcBadRequest,
462     ProcBadRequest,
463     ProcBadRequest,
464     ProcBadRequest,
465     ProcBadRequest,
466     ProcBadRequest,
467     ProcBadRequest,
468     ProcBadRequest,
469     ProcBadRequest,
470     ProcBadRequest,
471     ProcBadRequest,
472     ProcBadRequest,
473     ProcBadRequest,
474     ProcBadRequest,
475     ProcBadRequest,
476     ProcBadRequest,
477     ProcBadRequest,
478     ProcBadRequest,
479     ProcBadRequest,
480     ProcBadRequest,
481     ProcBadRequest,
482     ProcBadRequest,
483     ProcBadRequest,
484     ProcBadRequest,
485     ProcBadRequest,
486     ProcBadRequest,
487     ProcBadRequest,
488     ProcBadRequest,
489     ProcBadRequest,
490     ProcBadRequest,
491     ProcBadRequest,
492     ProcBadRequest,
493     ProcBadRequest,
494     ProcBadRequest,
495     ProcBadRequest,
496     ProcBadRequest,
497     ProcBadRequest,
498     ProcBadRequest,
499     ProcBadRequest,
500     ProcBadRequest,
501     ProcBadRequest,
502     ProcBadRequest,
503     ProcBadRequest,
504     ProcBadRequest,
505     ProcBadRequest,
506     ProcBadRequest,
507     ProcBadRequest,
508     ProcBadRequest,
509     ProcBadRequest,
510     ProcBadRequest,
511     ProcBadRequest,
512     ProcBadRequest,
513     ProcBadRequest,
514     ProcBadRequest,
515     ProcBadRequest,
516     ProcBadRequest,
517     ProcBadRequest,
518     ProcBadRequest,
519     ProcBadRequest,
520     ProcBadRequest,
521     ProcBadRequest,
522     ProcBadRequest,
523     ProcBadRequest,
524     ProcBadRequest,
525     ProcBadRequest,
526     ProcBadRequest,
527     ProcBadRequest,
528     ProcBadRequest,
529     ProcBadRequest,
530     ProcBadRequest,
531     ProcBadRequest,
532     ProcBadRequest,
533     ProcBadRequest,
534     ProcBadRequest,
535     ProcBadRequest,
536     ProcBadRequest,
537     ProcBadRequest,
538     ProcBadRequest,
539     ProcBadRequest,
540     ProcBadRequest,
541     ProcBadRequest,
542     ProcBadRequest,
543     ProcBadRequest,
544     ProcBadRequest,
545     ProcBadRequest,
546     ProcBadRequest,
547     ProcBadRequest,
548     ProcBadRequest,
549     ProcBadRequest,
550     ProcBadRequest,
551     ProcBadRequest,
552     ProcBadRequest,
553     ProcBadRequest,
554     ProcBadRequest,
555     ProcBadRequest,
556     ProcBadRequest,
557     ProcBadRequest,
558     ProcBadRequest,
559     ProcBadRequest,
560     ProcBadRequest,
561     ProcBadRequest,
562     ProcBadRequest,
563     ProcBadRequest,
564     ProcBadRequest,
565     ProcBadRequest,
566     ProcBadRequest,
567     ProcBadRequest,
568     ProcBadRequest,
569     ProcBadRequest,
570     ProcBadRequest,
571     ProcBadRequest,
572     ProcBadRequest,
573     ProcBadRequest,
574     ProcBadRequest,
575     ProcBadRequest,
576     ProcBadRequest,
577     ProcBadRequest,
578     ProcBadRequest,
579     ProcBadRequest,
580     ProcBadRequest,
581     ProcBadRequest,
582     ProcBadRequest
583 };
584 
585 EventSwapPtr EventSwapVector[MAXEVENTS] = {
586     (EventSwapPtr) SErrorEvent,
587     NotImplemented,
588     SKeyButtonPtrEvent,
589     SKeyButtonPtrEvent,
590     SKeyButtonPtrEvent,
591     SKeyButtonPtrEvent,                         /* 5 */
592     SKeyButtonPtrEvent,
593     SEnterLeaveEvent,
594     SEnterLeaveEvent,
595     SFocusEvent,
596     SFocusEvent,                                /* 10 */
597     SKeymapNotifyEvent,
598     SExposeEvent,
599     SGraphicsExposureEvent,
600     SNoExposureEvent,
601     SVisibilityEvent,                           /* 15 */
602     SCreateNotifyEvent,
603     SDestroyNotifyEvent,
604     SUnmapNotifyEvent,
605     SMapNotifyEvent,
606     SMapRequestEvent,                           /* 20 */
607     SReparentEvent,
608     SConfigureNotifyEvent,
609     SConfigureRequestEvent,
610     SGravityEvent,
611     SResizeRequestEvent,                        /* 25 */
612     SCirculateEvent,
613     SCirculateEvent,
614     SPropertyEvent,
615     SSelectionClearEvent,
616     SSelectionRequestEvent,                     /* 30 */
617     SSelectionNotifyEvent,
618     SColormapEvent,
619     SClientMessageEvent,
620     SMappingEvent,
621     NotImplemented,
622     NotImplemented,
623     NotImplemented,
624     NotImplemented,
625     NotImplemented,
626     NotImplemented,
627     NotImplemented,
628     NotImplemented,
629     NotImplemented,
630     NotImplemented,
631     NotImplemented,
632     NotImplemented,
633     NotImplemented,
634     NotImplemented,
635     NotImplemented,
636     NotImplemented,
637     NotImplemented,
638     NotImplemented,
639     NotImplemented,
640     NotImplemented,
641     NotImplemented,
642     NotImplemented,
643     NotImplemented,
644     NotImplemented,
645     NotImplemented,
646     NotImplemented,
647     NotImplemented,
648     NotImplemented,
649     NotImplemented,
650     NotImplemented,
651     NotImplemented,
652     NotImplemented,
653     NotImplemented,
654     NotImplemented,
655     NotImplemented,
656     NotImplemented,
657     NotImplemented,
658     NotImplemented,
659     NotImplemented,
660     NotImplemented,
661     NotImplemented,
662     NotImplemented,
663     NotImplemented,
664     NotImplemented,
665     NotImplemented,
666     NotImplemented,
667     NotImplemented,
668     NotImplemented,
669     NotImplemented,
670     NotImplemented,
671     NotImplemented,
672     NotImplemented,
673     NotImplemented,
674     NotImplemented,
675     NotImplemented,
676     NotImplemented,
677     NotImplemented,
678     NotImplemented,
679     NotImplemented,
680     NotImplemented,
681     NotImplemented,
682     NotImplemented,
683     NotImplemented,
684     NotImplemented,
685     NotImplemented,
686     NotImplemented,
687     NotImplemented,
688     NotImplemented,
689     NotImplemented,
690     NotImplemented,
691     NotImplemented,
692     NotImplemented,
693     NotImplemented,
694     NotImplemented,
695     NotImplemented,
696     NotImplemented,
697     NotImplemented,
698     NotImplemented,
699     NotImplemented,
700     NotImplemented,
701     NotImplemented,
702     NotImplemented,
703     NotImplemented,
704     NotImplemented,
705     NotImplemented,
706     NotImplemented,
707     NotImplemented,
708     NotImplemented,
709     NotImplemented,
710     NotImplemented,
711     NotImplemented,
712     NotImplemented,
713     NotImplemented
714 };
715 
716 ReplySwapPtr ReplySwapVector[256] = {
717     ReplyNotSwappd,
718     ReplyNotSwappd,
719     ReplyNotSwappd,
720     (ReplySwapPtr) SGetWindowAttributesReply,
721     ReplyNotSwappd,
722     ReplyNotSwappd,                             /* 5 */
723     ReplyNotSwappd,
724     ReplyNotSwappd,
725     ReplyNotSwappd,
726     ReplyNotSwappd,
727     ReplyNotSwappd,                             /* 10 */
728     ReplyNotSwappd,
729     ReplyNotSwappd,
730     ReplyNotSwappd,
731     (ReplySwapPtr) SGetGeometryReply,
732     (ReplySwapPtr) SQueryTreeReply,             /* 15 */
733     (ReplySwapPtr) SInternAtomReply,
734     (ReplySwapPtr) SGetAtomNameReply,
735     ReplyNotSwappd,
736     ReplyNotSwappd,
737     (ReplySwapPtr) SGetPropertyReply,           /* 20 */
738     (ReplySwapPtr) SListPropertiesReply,
739     ReplyNotSwappd,
740     (ReplySwapPtr) SGetSelectionOwnerReply,
741     ReplyNotSwappd,
742     ReplyNotSwappd,                             /* 25 */
743     (ReplySwapPtr) SGenericReply,               /* SGrabPointerReply, */
744     ReplyNotSwappd,
745     ReplyNotSwappd,
746     ReplyNotSwappd,
747     ReplyNotSwappd,                             /* 30 */
748     (ReplySwapPtr) SGenericReply,               /* SGrabKeyboardReply, */
749     ReplyNotSwappd,
750     ReplyNotSwappd,
751     ReplyNotSwappd,
752     ReplyNotSwappd,                             /* 35 */
753     ReplyNotSwappd,
754     ReplyNotSwappd,
755     (ReplySwapPtr) SQueryPointerReply,
756     (ReplySwapPtr) SGetMotionEventsReply,
757     (ReplySwapPtr) STranslateCoordsReply,       /* 40 */
758     ReplyNotSwappd,
759     ReplyNotSwappd,
760     (ReplySwapPtr) SGetInputFocusReply,
761     (ReplySwapPtr) SQueryKeymapReply,
762     ReplyNotSwappd,                             /* 45 */
763     ReplyNotSwappd,
764     (ReplySwapPtr) SQueryFontReply,
765     (ReplySwapPtr) SQueryTextExtentsReply,
766     (ReplySwapPtr) SListFontsReply,
767     (ReplySwapPtr) SListFontsWithInfoReply,     /* 50 */
768     ReplyNotSwappd,
769     (ReplySwapPtr) SGetFontPathReply,
770     ReplyNotSwappd,
771     ReplyNotSwappd,
772     ReplyNotSwappd,                             /* 55 */
773     ReplyNotSwappd,
774     ReplyNotSwappd,
775     ReplyNotSwappd,
776     ReplyNotSwappd,
777     ReplyNotSwappd,                             /* 60 */
778     ReplyNotSwappd,
779     ReplyNotSwappd,
780     ReplyNotSwappd,
781     ReplyNotSwappd,
782     ReplyNotSwappd,                             /* 65 */
783     ReplyNotSwappd,
784     ReplyNotSwappd,
785     ReplyNotSwappd,
786     ReplyNotSwappd,
787     ReplyNotSwappd,                             /* 70 */
788     ReplyNotSwappd,
789     ReplyNotSwappd,
790     (ReplySwapPtr) SGetImageReply,
791     ReplyNotSwappd,
792     ReplyNotSwappd,                             /* 75 */
793     ReplyNotSwappd,
794     ReplyNotSwappd,
795     ReplyNotSwappd,
796     ReplyNotSwappd,
797     ReplyNotSwappd,                             /* 80 */
798     ReplyNotSwappd,
799     ReplyNotSwappd,
800     (ReplySwapPtr) SListInstalledColormapsReply,
801     (ReplySwapPtr) SAllocColorReply,
802     (ReplySwapPtr) SAllocNamedColorReply,       /* 85 */
803     (ReplySwapPtr) SAllocColorCellsReply,
804     (ReplySwapPtr) SAllocColorPlanesReply,
805     ReplyNotSwappd,
806     ReplyNotSwappd,
807     ReplyNotSwappd,                             /* 90 */
808     (ReplySwapPtr) SQueryColorsReply,
809     (ReplySwapPtr) SLookupColorReply,
810     ReplyNotSwappd,
811     ReplyNotSwappd,
812     ReplyNotSwappd,                             /* 95 */
813     ReplyNotSwappd,
814     (ReplySwapPtr) SQueryBestSizeReply,
815     (ReplySwapPtr) SGenericReply,               /* SQueryExtensionReply, */
816     (ReplySwapPtr) SListExtensionsReply,
817     ReplyNotSwappd,                             /* 100 */
818     (ReplySwapPtr) SGetKeyboardMappingReply,
819     ReplyNotSwappd,
820     (ReplySwapPtr) SGetKeyboardControlReply,
821     ReplyNotSwappd,
822     ReplyNotSwappd,                             /* 105 */
823     (ReplySwapPtr) SGetPointerControlReply,
824     ReplyNotSwappd,
825     (ReplySwapPtr) SGetScreenSaverReply,
826     ReplyNotSwappd,
827     (ReplySwapPtr) SListHostsReply,             /* 110 */
828     ReplyNotSwappd,
829     ReplyNotSwappd,
830     ReplyNotSwappd,
831     ReplyNotSwappd,
832     ReplyNotSwappd,                             /* 115 */
833     (ReplySwapPtr) SGenericReply,               /* SetPointerMapping */
834     (ReplySwapPtr) SGetPointerMappingReply,
835     (ReplySwapPtr) SGenericReply,               /* SetModifierMapping */
836     (ReplySwapPtr) SGetModifierMappingReply,    /* 119 */
837     ReplyNotSwappd,                             /* 120 */
838     ReplyNotSwappd,                             /* 121 */
839     ReplyNotSwappd,                             /* 122 */
840     ReplyNotSwappd,                             /* 123 */
841     ReplyNotSwappd,                             /* 124 */
842     ReplyNotSwappd,                             /* 125 */
843     ReplyNotSwappd,                             /* 126 */
844     ReplyNotSwappd,                             /* NoOperation */
845     ReplyNotSwappd,
846     ReplyNotSwappd,
847     ReplyNotSwappd,
848     ReplyNotSwappd,
849     ReplyNotSwappd,
850     ReplyNotSwappd,
851     ReplyNotSwappd,
852     ReplyNotSwappd,
853     ReplyNotSwappd,
854     ReplyNotSwappd,
855     ReplyNotSwappd,
856     ReplyNotSwappd,
857     ReplyNotSwappd,
858     ReplyNotSwappd,
859     ReplyNotSwappd,
860     ReplyNotSwappd,
861     ReplyNotSwappd,
862     ReplyNotSwappd,
863     ReplyNotSwappd,
864     ReplyNotSwappd,
865     ReplyNotSwappd,
866     ReplyNotSwappd,
867     ReplyNotSwappd,
868     ReplyNotSwappd,
869     ReplyNotSwappd,
870     ReplyNotSwappd,
871     ReplyNotSwappd,
872     ReplyNotSwappd,
873     ReplyNotSwappd,
874     ReplyNotSwappd,
875     ReplyNotSwappd,
876     ReplyNotSwappd,
877     ReplyNotSwappd,
878     ReplyNotSwappd,
879     ReplyNotSwappd,
880     ReplyNotSwappd,
881     ReplyNotSwappd,
882     ReplyNotSwappd,
883     ReplyNotSwappd,
884     ReplyNotSwappd,
885     ReplyNotSwappd,
886     ReplyNotSwappd,
887     ReplyNotSwappd,
888     ReplyNotSwappd,
889     ReplyNotSwappd,
890     ReplyNotSwappd,
891     ReplyNotSwappd,
892     ReplyNotSwappd,
893     ReplyNotSwappd,
894     ReplyNotSwappd,
895     ReplyNotSwappd,
896     ReplyNotSwappd,
897     ReplyNotSwappd,
898     ReplyNotSwappd,
899     ReplyNotSwappd,
900     ReplyNotSwappd,
901     ReplyNotSwappd,
902     ReplyNotSwappd,
903     ReplyNotSwappd,
904     ReplyNotSwappd,
905     ReplyNotSwappd,
906     ReplyNotSwappd,
907     ReplyNotSwappd,
908     ReplyNotSwappd,
909     ReplyNotSwappd,
910     ReplyNotSwappd,
911     ReplyNotSwappd,
912     ReplyNotSwappd,
913     ReplyNotSwappd,
914     ReplyNotSwappd,
915     ReplyNotSwappd,
916     ReplyNotSwappd,
917     ReplyNotSwappd,
918     ReplyNotSwappd,
919     ReplyNotSwappd,
920     ReplyNotSwappd,
921     ReplyNotSwappd,
922     ReplyNotSwappd,
923     ReplyNotSwappd,
924     ReplyNotSwappd,
925     ReplyNotSwappd,
926     ReplyNotSwappd,
927     ReplyNotSwappd,
928     ReplyNotSwappd,
929     ReplyNotSwappd,
930     ReplyNotSwappd,
931     ReplyNotSwappd,
932     ReplyNotSwappd,
933     ReplyNotSwappd,
934     ReplyNotSwappd,
935     ReplyNotSwappd,
936     ReplyNotSwappd,
937     ReplyNotSwappd,
938     ReplyNotSwappd,
939     ReplyNotSwappd,
940     ReplyNotSwappd,
941     ReplyNotSwappd,
942     ReplyNotSwappd,
943     ReplyNotSwappd,
944     ReplyNotSwappd,
945     ReplyNotSwappd,
946     ReplyNotSwappd,
947     ReplyNotSwappd,
948     ReplyNotSwappd,
949     ReplyNotSwappd,
950     ReplyNotSwappd,
951     ReplyNotSwappd,
952     ReplyNotSwappd,
953     ReplyNotSwappd,
954     ReplyNotSwappd,
955     ReplyNotSwappd,
956     ReplyNotSwappd,
957     ReplyNotSwappd,
958     ReplyNotSwappd,
959     ReplyNotSwappd,
960     ReplyNotSwappd,
961     ReplyNotSwappd,
962     ReplyNotSwappd,
963     ReplyNotSwappd,
964     ReplyNotSwappd,
965     ReplyNotSwappd,
966     ReplyNotSwappd,
967     ReplyNotSwappd,
968     ReplyNotSwappd,
969     ReplyNotSwappd,
970     ReplyNotSwappd,
971     ReplyNotSwappd,
972     ReplyNotSwappd
973 };
974