[comp.sources.x] v09i016: Xmon - X protocol monitor, Part02/05

gregm@otc.otca.oz.au (Greg McFarlane) (09/05/90)

Submitted-by: Greg McFarlane <gregm@otc.otca.oz.au>
Posting-number: Volume 9, Issue 16
Archive-name: xmon/part02

Submitted-by: gregm@otc.otca.oz.au
Archive-name: xmon/part02

---- Cut Here and unpack ----
#!/bin/sh
# This is part 02 of xmon
if touch 2>&1 | fgrep 'amc' > /dev/null
 then TOUCH=touch
 else TOUCH=true
fi
# ============= print11.c ==============
if test X"$1" != X"-c" -a -f 'print11.c'; then
	echo "File already exists: skipping 'print11.c'"
else
echo "x - extracting print11.c (Text)"
sed 's/^X//' << 'SHAR_EOF' > print11.c &&
X/*
X * Project: XMON - An X protocol monitor
X * 
X * File: print11.c
X * 
X * Description: Request, Reply, Event, Error Printing
X * 
X * In printing the contents of the fields of the X11 packets, some fields
X * are of obvious value, and others are of lesser value.  To control the
X * amount of output, we generate our output according to the level of
X * verbose-ness that was selected by the user.
X * 
X * CurrentVerbose = 0 ==  Nothing
X * 
X * CurrentVerbose = 1 ==  Headers only (request/reply/... names)
X * 
X * CurrentVerbose = 2 ==  Most interesting fields
X * 
X * CurrentVerbose = 3 ==  All fields
X * 
X * CurrentVerbose = 4 ==  All fields, and hex dump
X * 
X */
X
X#include "common.h"
X
X#include "x11.h"
X#include "xmond.h"
X
X
X/*
X * To aid in making the choice between level 1 and level 2, we define the
X * following, which does not print relatively unimportant fields.
X*/
X#define printfield(a,b,c,d,e) if (CurrentVerbose > 2) PrintField(a,b,c,d,e)
X
X
X/* function prototypes: */
X/* print11.c: */
Xstatic void PrintFailedSetUpReply P((unsigned char *buf ));
Xstatic void PrintSuccessfulSetUpReply P((unsigned char *buf ));
X
X/* end function prototypes */
X
XGlobal int					CurrentVerbose;
X
Xstatic char *REQUESTHEADER = "............REQUEST";
Xstatic char *EVENTHEADER = "..............EVENT";
Xstatic char *ERRORHEADER = "..............ERROR";
Xstatic char *REPLYHEADER = "..............REPLY";
X
XGlobal void
XPrintSetUpMessage(buf)
X		unsigned char *buf;
X{
X	short   n;
X	short   d;
X
X	enterprocedure("PrintSetUpMessage");
X	if (CurrentVerbose < 2)
X		return;
X	SetIndentLevel(PRINTCLIENT);
X	PrintField(buf, 0, 1, BYTEMODE, "byte-order");
X	PrintField(buf, 2, 2, CARD16, "major-version");
X	PrintField(buf, 4, 2, CARD16, "minor-version");
X	printfield(buf, 6, 2, DVALUE2(n), "length of name");
X	n = IShort(&buf[6]);
X	printfield(buf, 8, 2, DVALUE2(d), "length of data");
X	d = IShort(&buf[8]);
X	PrintString8(&buf[12], n, "authorization-protocol-name");
X	PrintString8(&buf[pad((long)(12 + n))], d, "authorization-protocol-data");
X}
X
XGlobal void
XPrintSetUpReply(buf)
X		unsigned char *buf;
X{
X	enterprocedure("PrintSetUpReply");
X	if (CurrentVerbose < 2)
X		return;
X	SetIndentLevel(PRINTSERVER);
X	if (IByte(&buf[0]))
X		PrintSuccessfulSetUpReply(buf);
X	else
X		PrintFailedSetUpReply(buf);
X}
X
X/*
X * Error Printing procedures
X */
X
XGlobal void
XRequestError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* Request */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
XGlobal void
XValueError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* Value */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, INT32, "bad value");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
XGlobal void
XWindowError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* Window */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, CARD32, "bad resource id");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
XGlobal void
XPixmapError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* Pixmap */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, CARD32, "bad resource id");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
XGlobal void
XAtomError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* Atom */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, CARD32, "bad atom id");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
XGlobal void
XCursorError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* Cursor */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, CARD32, "bad resource id");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
XGlobal void
XFontError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* Font */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, CARD32, "bad resource id");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
XGlobal void
XMatchError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* Match */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
XGlobal void
XDrawableError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* Drawable */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, CARD32, "bad resource id");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
XGlobal void
XAccessError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* Access */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
XGlobal void
XAllocError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* Alloc */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
XGlobal void
XColormapError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* Colormap */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, CARD32, "bad resource id");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
XGlobal void
XGContextError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* GContext */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, CARD32, "bad resource id");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
XGlobal void
XIDChoiceError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* IDChoice */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, CARD32, "bad resource id");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
XGlobal void
XNameError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* Name */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
XGlobal void
XLengthError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* Length */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
XGlobal void
XImplementationError(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, ERROR, ERRORHEADER) /* Implementation */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 8, 2, CARD16, "minor opcode");
X	PrintField(buf, 10, 1, CARD8, "major opcode");
X}
X
X/*
X * Event Printing procedures
X */
X
XGlobal void
XKeyPressEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* KeyPress */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, KEYCODE, "detail");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, TIMESTAMP, "time");
X	PrintField(buf, 8, 4, WINDOW, "root");
X	PrintField(buf, 12, 4, WINDOW, "event");
X	PrintField(buf, 16, 4, WINDOW, "child");
X	PrintField(buf, 20, 2, INT16, "root-x");
X	PrintField(buf, 22, 2, INT16, "root-y");
X	PrintField(buf, 24, 2, INT16, "event-x");
X	PrintField(buf, 26, 2, INT16, "event-y");
X	PrintField(buf, 28, 2, SETofKEYBUTMASK, "state");
X	PrintField(buf, 30, 1, BOOL, "same-screen");
X}
X
XGlobal void
XKeyReleaseEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* KeyRelease */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, KEYCODE, "detail");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, TIMESTAMP, "time");
X	PrintField(buf, 8, 4, WINDOW, "root");
X	PrintField(buf, 12, 4, WINDOW, "event");
X	PrintField(buf, 16, 4, WINDOW, "child");
X	PrintField(buf, 20, 2, INT16, "root-x");
X	PrintField(buf, 22, 2, INT16, "root-y");
X	PrintField(buf, 24, 2, INT16, "event-x");
X	PrintField(buf, 26, 2, INT16, "event-y");
X	PrintField(buf, 28, 2, SETofKEYBUTMASK, "state");
X	PrintField(buf, 30, 1, BOOL, "same-screen");
X}
X
XGlobal void
XButtonPressEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* ButtonPress */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, BUTTON, "detail");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, TIMESTAMP, "time");
X	PrintField(buf, 8, 4, WINDOW, "root");
X	PrintField(buf, 12, 4, WINDOW, "event");
X	PrintField(buf, 16, 4, WINDOW, "child");
X	PrintField(buf, 20, 2, INT16, "root-x");
X	PrintField(buf, 22, 2, INT16, "root-y");
X	PrintField(buf, 24, 2, INT16, "event-x");
X	PrintField(buf, 26, 2, INT16, "event-y");
X	PrintField(buf, 28, 2, SETofKEYBUTMASK, "state");
X	PrintField(buf, 30, 1, BOOL, "same-screen");
X}
X
XGlobal void
XButtonReleaseEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* ButtonRelease */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, BUTTON, "detail");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, TIMESTAMP, "time");
X	PrintField(buf, 8, 4, WINDOW, "root");
X	PrintField(buf, 12, 4, WINDOW, "event");
X	PrintField(buf, 16, 4, WINDOW, "child");
X	PrintField(buf, 20, 2, INT16, "root-x");
X	PrintField(buf, 22, 2, INT16, "root-y");
X	PrintField(buf, 24, 2, INT16, "event-x");
X	PrintField(buf, 26, 2, INT16, "event-y");
X	PrintField(buf, 28, 2, SETofKEYBUTMASK, "state");
X	PrintField(buf, 30, 1, BOOL, "same-screen");
X}
X
XGlobal void
XMotionNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* MotionNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, MOTIONDETAIL, "detail");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, TIMESTAMP, "time");
X	PrintField(buf, 8, 4, WINDOW, "root");
X	PrintField(buf, 12, 4, WINDOW, "event");
X	PrintField(buf, 16, 4, WINDOW, "child");
X	PrintField(buf, 20, 2, INT16, "root-x");
X	PrintField(buf, 22, 2, INT16, "root-y");
X	PrintField(buf, 24, 2, INT16, "event-x");
X	PrintField(buf, 26, 2, INT16, "event-y");
X	PrintField(buf, 28, 2, SETofKEYBUTMASK, "state");
X	PrintField(buf, 30, 1, BOOL, "same-screen");
X}
X
XGlobal void
XEnterNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* EnterNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, ENTERDETAIL, "detail");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, TIMESTAMP, "time");
X	PrintField(buf, 8, 4, WINDOW, "root");
X	PrintField(buf, 12, 4, WINDOW, "event");
X	PrintField(buf, 16, 4, WINDOW, "child");
X	PrintField(buf, 20, 2, INT16, "root-x");
X	PrintField(buf, 22, 2, INT16, "root-y");
X	PrintField(buf, 24, 2, INT16, "event-x");
X	PrintField(buf, 26, 2, INT16, "event-y");
X	PrintField(buf, 28, 2, SETofKEYBUTMASK, "state");
X	PrintField(buf, 30, 1, BUTTONMODE, "mode");
X	PrintField(buf, 31, 1, SCREENFOCUS, "same-screen, focus");
X}
X
XGlobal void
XLeaveNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* LeaveNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, ENTERDETAIL, "detail");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, TIMESTAMP, "time");
X	PrintField(buf, 8, 4, WINDOW, "root");
X	PrintField(buf, 12, 4, WINDOW, "event");
X	PrintField(buf, 16, 4, WINDOW, "child");
X	PrintField(buf, 20, 2, INT16, "root-x");
X	PrintField(buf, 22, 2, INT16, "root-y");
X	PrintField(buf, 24, 2, INT16, "event-x");
X	PrintField(buf, 26, 2, INT16, "event-y");
X	PrintField(buf, 28, 2, SETofKEYBUTMASK, "state");
X	PrintField(buf, 30, 1, BUTTONMODE, "mode");
X	PrintField(buf, 31, 1, SCREENFOCUS, "same-screen, focus");
X}
X
XGlobal void
XFocusInEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* FocusIn */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, ENTERDETAIL, "detail");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "event");
X	PrintField(buf, 8, 1, BUTTONMODE, "mode");
X}
X
XGlobal void
XFocusOutEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* FocusOut */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, ENTERDETAIL, "detail");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "event");
X	PrintField(buf, 8, 1, BUTTONMODE, "mode");
X}
X
XGlobal void
XKeymapNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* KeymapNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintBytes(&buf[1], (long)31,"keys");
X}
X
XGlobal void
XExposeEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* Expose */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "window");
X	PrintField(buf, 8, 2, CARD16, "x");
X	PrintField(buf, 10, 2, CARD16, "y");
X	PrintField(buf, 12, 2, CARD16, "width");
X	PrintField(buf, 14, 2, CARD16, "height");
X	PrintField(buf, 16, 2, CARD16, "count");
X}
X
XGlobal void
XGraphicsExposureEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* GraphicsExposure */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 2, CARD16, "x");
X	PrintField(buf, 10, 2, CARD16, "y");
X	PrintField(buf, 12, 2, CARD16, "width");
X	PrintField(buf, 14, 2, CARD16, "height");
X	PrintField(buf, 16, 2, CARD16, "minor-opcode");
X	PrintField(buf, 18, 2, CARD16, "count");
X	PrintField(buf, 20, 1, CARD8, "major-opcode");
X}
X
XGlobal void
XNoExposureEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* NoExposure */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 2, CARD16, "minor-opcode");
X	PrintField(buf, 10, 1, CARD8, "major-opcode");
X}
X
XGlobal void
XVisibilityNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* VisibilityNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "window");
X	PrintField(buf, 8, 1, VISIBLE, "state");
X}
X
XGlobal void
XCreateNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* CreateNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "parent");
X	PrintField(buf, 8, 4, WINDOW, "window");
X	PrintField(buf, 12, 2, INT16, "x");
X	PrintField(buf, 14, 2, INT16, "y");
X	PrintField(buf, 16, 2, CARD16, "width");
X	PrintField(buf, 18, 2, CARD16, "height");
X	PrintField(buf, 20, 2, CARD16, "border-width");
X	PrintField(buf, 22, 1, BOOL, "override-redirect");
X}
X
XGlobal void
XDestroyNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* DestroyNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "event");
X	PrintField(buf, 8, 4, WINDOW, "window");
X}
X
XGlobal void
XUnmapNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* UnmapNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "event");
X	PrintField(buf, 8, 4, WINDOW, "window");
X	PrintField(buf, 12, 1, BOOL, "from-configure");
X}
X
XGlobal void
XMapNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* MapNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "event");
X	PrintField(buf, 8, 4, WINDOW, "window");
X	PrintField(buf, 12, 1, BOOL, "override-redirect");
X}
X
XGlobal void
XMapRequestEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* MapRequest */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "parent");
X	PrintField(buf, 8, 4, WINDOW, "window");
X}
X
XGlobal void
XReparentNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* ReparentNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "event");
X	PrintField(buf, 8, 4, WINDOW, "window");
X	PrintField(buf, 12, 4, WINDOW, "parent");
X	PrintField(buf, 16, 2, INT16, "x");
X	PrintField(buf, 18, 2, INT16, "y");
X	PrintField(buf, 20, 1, BOOL, "override-redirect");
X}
X
XGlobal void
XConfigureNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* ConfigureNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "event");
X	PrintField(buf, 8, 4, WINDOW, "window");
X	PrintField(buf, 12, 4, WINDOW, "above-sibling");
X	PrintField(buf, 16, 2, INT16, "x");
X	PrintField(buf, 18, 2, INT16, "y");
X	PrintField(buf, 20, 2, CARD16, "width");
X	PrintField(buf, 22, 2, CARD16, "height");
X	PrintField(buf, 24, 2, CARD16, "border-width");
X	PrintField(buf, 26, 1, BOOL, "override-redirect");
X}
X
XGlobal void
XConfigureRequestEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* ConfigureRequest */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, STACKMODE, "stack-mode");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "parent");
X	PrintField(buf, 8, 4, WINDOW, "window");
X	PrintField(buf, 12, 4, WINDOW, "sibling");
X	PrintField(buf, 16, 2, INT16, "x");
X	PrintField(buf, 18, 2, INT16, "y");
X	PrintField(buf, 20, 2, CARD16, "width");
X	PrintField(buf, 22, 2, CARD16, "height");
X	PrintField(buf, 24, 2, CARD16, "border-width");
X	PrintField(buf, 26, 2, CONFIGURE_BITMASK, "value-mask");
X}
X
XGlobal void
XGravityNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* GravityNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "event");
X	PrintField(buf, 8, 4, WINDOW, "window");
X	PrintField(buf, 12, 2, INT16, "x");
X	PrintField(buf, 14, 2, INT16, "y");
X}
X
XGlobal void
XResizeRequestEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* ResizeRequest */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "window");
X	PrintField(buf, 8, 2, CARD16, "width");
X	PrintField(buf, 10, 2, CARD16, "height");
X}
X
XGlobal void
XCirculateNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* CirculateNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "event");
X	PrintField(buf, 8, 4, WINDOW, "window");
X	PrintField(buf, 12, 4, WINDOW, "parent");
X	PrintField(buf, 16, 1, CIRSTAT, "place");
X}
X
XGlobal void
XCirculateRequestEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* CirculateRequest */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "parent");
X	PrintField(buf, 8, 4, WINDOW, "window");
X	PrintField(buf, 16, 1, CIRSTAT, "place");
X}
X
XGlobal void
XPropertyNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* PropertyNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "window");
X	PrintField(buf, 8, 4, ATOM, "atom");
X	PrintField(buf, 12, 4, TIMESTAMP, "time");
X	PrintField(buf, 16, 1, PROPCHANGE, "state");
X}
X
XGlobal void
XSelectionClearEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* SelectionClear */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, TIMESTAMP, "time");
X	PrintField(buf, 8, 4, WINDOW, "owner");
X	PrintField(buf, 12, 4, ATOM, "selection");
X}
X
XGlobal void
XSelectionRequestEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* SelectionRequest */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, TIMESTAMP, "time");
X	PrintField(buf, 8, 4, WINDOW, "owner");
X	PrintField(buf, 12, 4, WINDOW, "requestor");
X	PrintField(buf, 16, 4, ATOM, "selection");
X	PrintField(buf, 20, 4, ATOM, "target");
X	PrintField(buf, 24, 4, ATOM, "property");
X}
X
XGlobal void
XSelectionNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* SelectionNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, TIMESTAMP, "time");
X	PrintField(buf, 8, 4, WINDOW, "requestor");
X	PrintField(buf, 12, 4, ATOM, "selection");
X	PrintField(buf, 16, 4, ATOM, "target");
X	PrintField(buf, 20, 4, ATOM, "property");
X}
X
XGlobal void
XColormapNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* ColormapNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "window");
X	PrintField(buf, 8, 4, COLORMAP, "colormap");
X	PrintField(buf, 12, 1, BOOL, "new");
X	PrintField(buf, 13, 1, CMAPCHANGE, "state");
X}
X
XGlobal void
XClientMessageEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* ClientMessage */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, CARD8, "format");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 4, WINDOW, "window");
X	PrintField(buf, 8, 4, ATOM, "type");
X	PrintBytes(&buf[12], (long)20,"data");
X}
X
XGlobal void
XMappingNotifyEvent(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 0, 1, EVENT, EVENTHEADER) /* MappingNotify */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	PrintField(buf, 4, 1, MAPOBJECT, "request");
X	PrintField(buf, 5, 1, KEYCODE, "first-keycode");
X	PrintField(buf, 6, 1, CARD8, "count");
X}
X
X/*
X * Request and Reply Printing procedures
X */
X
XGlobal void
XCreateWindow(buf)
X		unsigned char *buf;
X{
X	/* Request CreateWindow is opcode 1 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CreateWindow */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, CARD8, "depth");
X	printfield(buf, 2, 2, DVALUE2(8 + n), "request length");
X	PrintField(buf, 4, 4, WINDOW, "wid");
X	PrintField(buf, 8, 4, WINDOW, "parent");
X	PrintField(buf, 12, 2, INT16, "x");
X	PrintField(buf, 14, 2, INT16, "y");
X	PrintField(buf, 16, 2, CARD16, "width");
X	PrintField(buf, 18, 2, CARD16, "height");
X	PrintField(buf, 20, 2, CARD16, "border-width");
X	PrintField(buf, 22, 2, WINDOWCLASS, "class");
X	PrintField(buf, 24, 4, VISUALIDC, "visual");
X	PrintField(buf, 28, 4, WINDOW_BITMASK, "value-mask");
X	PrintValues(&buf[28], 4, WINDOW_BITMASK, &buf[32], "value-list");
X}
X
XGlobal void
XChangeWindowAttributes(buf)
X		unsigned char *buf;
X{
X	/* Request ChangeWindowAttributes is opcode 2 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ChangeWindowAttributes */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(3 + n), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X	PrintField(buf, 8, 4, WINDOW_BITMASK, "value-mask");
X	PrintValues(&buf[8], 4, WINDOW_BITMASK, &buf[12], "value-list");
X}
X
XGlobal void
XGetWindowAttributes(buf)
X		unsigned char *buf;
X{
X	/* Request GetWindowAttributes is opcode 3 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetWindowAttributes */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X}
X
XGlobal void
XGetWindowAttributesReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetWindowAttributes */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, BACKSTORE, "backing-store");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(3), "reply length");
X	PrintField(buf, 8, 4, VISUALID, "visual");
X	PrintField(buf, 12, 2, WINDOWCLASS, "class");
X	PrintField(buf, 14, 1, BITGRAVITY, "bit-gravity");
X	PrintField(buf, 15, 1, WINGRAVITY, "win-gravity");
X	PrintField(buf, 16, 4, CARD32, "backing-planes");
X	PrintField(buf, 20, 4, CARD32, "backing-pixel");
X	PrintField(buf, 24, 1, BOOL, "save-under");
X	PrintField(buf, 25, 1, BOOL, "map-is-installed");
X	PrintField(buf, 26, 1, MAPSTATE, "map-state");
X	PrintField(buf, 27, 1, BOOL, "override-redirect");
X	PrintField(buf, 28, 4, COLORMAP, "colormap");
X	PrintField(buf, 32, 4, SETofEVENT, "all-event-masks");
X	PrintField(buf, 36, 4, SETofEVENT, "your-event-mask");
X	PrintField(buf, 40, 2, SETofDEVICEEVENT, "do-not-propagate-mask");
X}
X
XGlobal void
XDestroyWindow(buf)
X		unsigned char *buf;
X{
X	/* Request DestroyWindow is opcode 4 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* DestroyWindow */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X}
X
XGlobal void
XDestroySubwindows(buf)
X		unsigned char *buf;
X{
X	/* Request DestroySubwindows is opcode 5 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* DestroySubwindows */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X}
X
XGlobal void
XChangeSaveSet(buf)
X		unsigned char *buf;
X{
X	/* Request ChangeSaveSet is opcode 6 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ChangeSaveSet */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, INS_DEL, "mode");
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X}
X
XGlobal void
XReparentWindow(buf)
X		unsigned char *buf;
X{
X	/* Request ReparentWindow is opcode 7 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ReparentWindow */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(4), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X	PrintField(buf, 8, 4, WINDOW, "parent");
X	PrintField(buf, 12, 2, INT16, "x");
X	PrintField(buf, 14, 2, INT16, "y");
X}
X
XGlobal void
XMapWindow(buf)
X		unsigned char *buf;
X{
X	/* Request MapWindow is opcode 8 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* MapWindow */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X}
X
XGlobal void
XMapSubwindows(buf)
X		unsigned char *buf;
X{
X	/* Request MapSubwindows is opcode 9 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* MapSubwindows */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X}
X
XGlobal void
XUnmapWindow(buf)
X		unsigned char *buf;
X{
X	/* Request UnmapWindow is opcode 10 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* UnmapWindow */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X}
X
XGlobal void
XUnmapSubwindows(buf)
X		unsigned char *buf;
X{
X	/* Request UnmapSubwindows is opcode 11 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* UnmapSubwindows */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X}
X
XGlobal void
XConfigureWindow(buf)
X		unsigned char *buf;
X{
X	/* Request ConfigureWindow is opcode 12 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ConfigureWindow */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(3 + n), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X	PrintField(buf, 8, 2, CONFIGURE_BITMASK, "value-mask");
X	PrintValues(&buf[8], 2, CONFIGURE_BITMASK, &buf[12], "value-list");
X}
X
XGlobal void
XCirculateWindow(buf)
X		unsigned char *buf;
X{
X	/* Request CirculateWindow is opcode 13 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CirculateWindow */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, CIRMODE, "direction");
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X}
X
XGlobal void
XGetGeometry(buf)
X		unsigned char *buf;
X{
X	/* Request GetGeometry is opcode 14 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetGeometry */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X}
X
XGlobal void
XGetGeometryReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetGeometry */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, CARD8, "depth");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X	PrintField(buf, 8, 4, WINDOW, "root");
X	PrintField(buf, 12, 2, INT16, "x");
X	PrintField(buf, 14, 2, INT16, "y");
X	PrintField(buf, 16, 2, CARD16, "width");
X	PrintField(buf, 18, 2, CARD16, "height");
X	PrintField(buf, 20, 2, CARD16, "border-width");
X}
X
XGlobal void
XQueryTree(buf)
X		unsigned char *buf;
X{
X	/* Request QueryTree is opcode 15 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* QueryTree */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X}
X
XGlobal void
XQueryTreeReply(buf)
X		unsigned char *buf;
X{
X	short   n;
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* QueryTree */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4(n), "reply length");
X	PrintField(buf, 8, 4, WINDOW, "root");
X	PrintField(buf, 12, 4, WINDOW, "parent");
X	printfield(buf, 16, 2, DVALUE2(n), "number of children");
X	n = IShort(&buf[16]);
X	PrintList(&buf[32], (long)n, WINDOW, "children");
X}
X
XGlobal void
XInternAtom(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request InternAtom is opcode 16 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* InternAtom */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, BOOL, "only-if-exists");
X	printfield(buf, 2, 2, DVALUE2(2 + (n + p) / 4), "request length");
X	printfield(buf, 4, 2, DVALUE2(n), "length of name");
X	n = IShort(&buf[4]);
X	PrintString8(&buf[8], n, "name");
X}
X
XGlobal void
XInternAtomReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* InternAtom */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X	PrintField(buf, 8, 4, ATOM, "atom");
X}
X
XGlobal void
XGetAtomName(buf)
X		unsigned char *buf;
X{
X	/* Request GetAtomName is opcode 17 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetAtomName */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, ATOM, "atom");
X}
X
XGlobal void
XGetAtomNameReply(buf)
X		unsigned char *buf;
X{
X	short   n;
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetAtomName */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4((n + p) / 4), "reply length");
X	printfield(buf, 8, 2, DVALUE2(n), "length of name");
X	n = IShort(&buf[8]);
X	PrintString8(&buf[32], n, "name");
X}
X
XGlobal void
XChangeProperty(buf)
X		unsigned char *buf;
X{
X	long    n;
X	short   unit;
X	long    type;
X
X	/* Request ChangeProperty is opcode 18 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ChangeProperty */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, CHANGEMODE, "mode");
X	printfield(buf, 2, 2, DVALUE2(6 + (n + p) / 4), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X	PrintField(buf, 8, 4, ATOM, "property");
X	PrintField(buf, 12, 4, ATOM, "type");
X	type = ILong(&buf[12]);
X	PrintField(buf, 16, 1, CARD8, "format");
X	unit = IByte(&buf[16]) / 8;
X	printfield(buf, 20, 4, CARD32, "length of data");
X	n = ILong(&buf[20]);
X	if (type == 31 /* string */)
X		PrintString8(&buf[24], (short)(n * unit), "data");
X	else
X		PrintBytes(&buf[24], n * unit, "data");
X}
X
XGlobal void
XDeleteProperty(buf)
X		unsigned char *buf;
X{
X	/* Request DeleteProperty is opcode 19 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* DeleteProperty */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(3), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X	PrintField(buf, 8, 4, ATOM, "property");
X}
X
XGlobal void
XGetProperty(buf)
X		unsigned char *buf;
X{
X	/* Request GetProperty is opcode 20 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetProperty */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, BOOL, "delete");
X	printfield(buf, 2, 2, CONST2(6), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X	PrintField(buf, 8, 4, ATOM, "property");
X	PrintField(buf, 12, 4, ATOMT, "type");
X	PrintField(buf, 16, 4, CARD32, "long-offset");
X	printfield(buf, 20, 4, CARD32, "long-length");
X}
X
XGlobal void
XGetPropertyReply(buf)
X		unsigned char *buf;
X{
X	long    n;
X	short   unit;
X	long    type;
X
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetProperty */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, CARD8, "format");
X	unit = IByte(&buf[1]) / 8;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4((n + p) / 4), "reply length");
X	PrintField(buf, 8, 4, ATOM, "type");
X	type = ILong(&buf[8]);
X	PrintField(buf, 12, 4, CARD32, "bytes-after");
X	printfield(buf, 16, 4, CARD32, "length of value");
X	n = ILong(&buf[16]);
X	if (type == 31 /* string */)
X		PrintString8(&buf[32], (short)(n * unit), "value");
X	else
X		PrintBytes(&buf[32], n * unit, "value");
X}
X
XGlobal void
XListProperties(buf)
X		unsigned char *buf;
X{
X	/* Request ListProperties is opcode 21 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ListProperties */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X}
X
XGlobal void
XListPropertiesReply(buf)
X		unsigned char *buf;
X{
X	short   n;
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* ListProperties */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4(n), "reply length");
X	printfield(buf, 8, 2, DVALUE2(n), "number of atoms");
X	n = IShort(&buf[8]);
X	PrintList(&buf[32], (long)n, ATOM, "atoms");
X}
X
XGlobal void
XSetSelectionOwner(buf)
X		unsigned char *buf;
X{
X	/* Request SetSelectionOwner is opcode 22 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* SetSelectionOwner */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(4), "request length");
X	PrintField(buf, 4, 4, WINDOW, "owner");
X	PrintField(buf, 8, 4, ATOM, "selection");
X	PrintField(buf, 12, 4, TIMESTAMP, "time");
X}
X
XGlobal void
XGetSelectionOwner(buf)
X		unsigned char *buf;
X{
X	/* Request GetSelectionOwner is opcode 23 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetSelectionOwner */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, ATOM, "selection");
X}
X
XGlobal void
XGetSelectionOwnerReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetSelectionOwner */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X	PrintField(buf, 8, 4, WINDOW, "owner");
X}
X
XGlobal void
XConvertSelection(buf)
X		unsigned char *buf;
X{
X	/* Request ConvertSelection is opcode 24 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ConvertSelection */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(6), "request length");
X	PrintField(buf, 4, 4, WINDOW, "requestor");
X	PrintField(buf, 8, 4, ATOM, "selection");
X	PrintField(buf, 12, 4, ATOM, "target");
X	PrintField(buf, 16, 4, ATOM, "property");
X	PrintField(buf, 20, 4, TIMESTAMP, "time");
X}
X
XGlobal void
XSendEvent(buf)
X		unsigned char *buf;
X{
X	/* Request SendEvent is opcode 25 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* SendEvent */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, BOOL, "propagate");
X	printfield(buf, 2, 2, CONST2(11), "request length");
X	PrintField(buf, 4, 4, WINDOWD, "destination");
X	PrintField(buf, 8, 4, SETofEVENT, "event-mask");
X	PrintField(buf, 12, 32, EVENTFORM, "event");
X}
X
XGlobal void
XGrabPointer(buf)
X		unsigned char *buf;
X{
X	/* Request GrabPointer is opcode 26 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GrabPointer */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, BOOL, "owner-events");
X	printfield(buf, 2, 2, CONST2(6), "request length");
X	PrintField(buf, 4, 4, WINDOW, "grab-window");
X	PrintField(buf, 8, 2, SETofPOINTEREVENT, "event-mask");
X	PrintField(buf, 10, 1, PK_MODE, "pointer-mode");
X	PrintField(buf, 11, 1, PK_MODE, "keyboard-mode");
X	PrintField(buf, 12, 4, WINDOW, "confine-to");
X	PrintField(buf, 16, 4, CURSOR, "cursor");
X	PrintField(buf, 20, 4, TIMESTAMP, "time");
X}
X
XGlobal void
XGrabPointerReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GrabPointer */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, GRABSTAT, "status");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X}
X
XGlobal void
XUngrabPointer(buf)
X		unsigned char *buf;
X{
X	/* Request UngrabPointer is opcode 27 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* UngrabPointer */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, TIMESTAMP, "time");
X}
X
XGlobal void
XGrabButton(buf)
X		unsigned char *buf;
X{
X	/* Request GrabButton is opcode 28 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GrabButton */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, BOOL, "owner-events");
X	printfield(buf, 2, 2, CONST2(6), "request length");
X	PrintField(buf, 4, 4, WINDOW, "grab-window");
X	PrintField(buf, 8, 2, SETofPOINTEREVENT, "event-mask");
X	PrintField(buf, 10, 1, PK_MODE, "pointer-mode");
X	PrintField(buf, 11, 1, PK_MODE, "keyboard-mode");
X	PrintField(buf, 12, 4, WINDOW, "confine-to");
X	PrintField(buf, 16, 4, CURSOR, "cursor");
X	PrintField(buf, 20, 1, BUTTONA, "button");
X	PrintField(buf, 22, 2, SETofKEYMASK, "modifiers");
X}
X
XGlobal void
XUngrabButton(buf)
X		unsigned char *buf;
X{
X	/* Request UngrabButton is opcode 29 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* UngrabButton */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, BUTTONA, "button");
X	printfield(buf, 2, 2, CONST2(3), "request length");
X	PrintField(buf, 4, 4, WINDOW, "grab-window");
X	PrintField(buf, 8, 2, SETofKEYMASK, "modifiers");
X}
X
XGlobal void
XChangeActivePointerGrab(buf)
X		unsigned char *buf;
X{
X	/* Request ChangeActivePointerGrab is opcode 30 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ChangeActivePointerGrab */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(4), "request length");
X	PrintField(buf, 4, 4, CURSOR, "cursor");
X	PrintField(buf, 8, 4, TIMESTAMP, "time");
X	PrintField(buf, 12, 2, SETofPOINTEREVENT, "event-mask");
X}
X
XGlobal void
XGrabKeyboard(buf)
X		unsigned char *buf;
X{
X	/* Request GrabKeyboard is opcode 31 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GrabKeyboard */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, BOOL, "owner-events");
X	printfield(buf, 2, 2, CONST2(4), "request length");
X	PrintField(buf, 4, 4, WINDOW, "grab-window");
X	PrintField(buf, 8, 4, TIMESTAMP, "time");
X	PrintField(buf, 12, 1, PK_MODE, "pointer-mode");
X	PrintField(buf, 13, 1, PK_MODE, "keyboard-mode");
X}
X
XGlobal void
XGrabKeyboardReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GrabKeyboard */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, GRABSTAT, "status");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X}
X
XGlobal void
XUngrabKeyboard(buf)
X		unsigned char *buf;
X{
X	/* Request UngrabKeyboard is opcode 32 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* UngrabKeyboard */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, TIMESTAMP, "time");
X}
X
XGlobal void
XGrabKey(buf)
X		unsigned char *buf;
X{
X	/* Request GrabKey is opcode 33 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GrabKey */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, BOOL, "owner-events");
X	printfield(buf, 2, 2, CONST2(4), "request length");
X	PrintField(buf, 4, 4, WINDOW, "grab-window");
X	PrintField(buf, 8, 2, SETofKEYMASK, "modifiers");
X	PrintField(buf, 10, 1, KEYCODEA, "key");
X	PrintField(buf, 11, 1, PK_MODE, "pointer-mode");
X	PrintField(buf, 12, 1, PK_MODE, "keyboard-mode");
X}
X
XGlobal void
XUngrabKey(buf)
X		unsigned char *buf;
X{
X	/* Request UngrabKey is opcode 34 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* UngrabKey */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, KEYCODEA, "key");
X	printfield(buf, 2, 2, CONST2(3), "request length");
X	PrintField(buf, 4, 4, WINDOW, "grab-window");
X	PrintField(buf, 8, 2, SETofKEYMASK, "modifiers");
X}
X
XGlobal void
XAllowEvents(buf)
X		unsigned char *buf;
X{
X	/* Request AllowEvents is opcode 35 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* AllowEvents */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, EVENTMODE, "mode");
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, TIMESTAMP, "time");
X}
X
XGlobal void
XGrabServer(buf)
X		unsigned char *buf;
X{
X	/* Request GrabServer is opcode 36 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GrabServer */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(1), "request length");
X}
X
XGlobal void
XUngrabServer(buf)
X		unsigned char *buf;
X{
X	/* Request UngrabServer is opcode 37 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* UngrabServer */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(1), "request length");
X}
X
XGlobal void
XQueryPointer(buf)
X		unsigned char *buf;
X{
X	/* Request QueryPointer is opcode 38 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* QueryPointer */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X}
X
XGlobal void
XQueryPointerReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* QueryPointer */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, BOOL, "same-screen");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X	PrintField(buf, 8, 4, WINDOW, "root");
X	PrintField(buf, 12, 4, WINDOW, "child");
X	PrintField(buf, 16, 2, INT16, "root-x");
X	PrintField(buf, 18, 2, INT16, "root-y");
X	PrintField(buf, 20, 2, INT16, "win-x");
X	PrintField(buf, 22, 2, INT16, "win-y");
X	PrintField(buf, 24, 2, SETofKEYBUTMASK, "mask");
X}
X
XGlobal void
XGetMotionEvents(buf)
X		unsigned char *buf;
X{
X	/* Request GetMotionEvents is opcode 39 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetMotionEvents */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(4), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X	PrintField(buf, 8, 4, TIMESTAMP, "start");
X	PrintField(buf, 12, 4, TIMESTAMP, "stop");
X}
X
XGlobal void
XGetMotionEventsReply(buf)
X		unsigned char *buf;
X{
X	long   n;
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetMotionEvents */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4(2*n), "reply length");
X	printfield(buf, 8, 4, DVALUE4(n), "number of events");
X	n = ILong(&buf[8]);
X	PrintList(&buf[32], n, TIMECOORD, "events");
X}
X
XGlobal void
XTranslateCoordinates(buf)
X		unsigned char *buf;
X{
X	/* Request TranslateCoordinates is opcode 40 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* TranslateCoordinates */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(4), "request length");
X	PrintField(buf, 4, 4, WINDOW, "src-window");
X	PrintField(buf, 8, 4, WINDOW, "dst-window");
X	PrintField(buf, 12, 2, INT16, "src-x");
X	PrintField(buf, 14, 2, INT16, "src-y");
X}
X
XGlobal void
XTranslateCoordinatesReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* TranslateCoordinates */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, BOOL, "same-screen");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X	PrintField(buf, 8, 4, WINDOW, "child");
X	PrintField(buf, 12, 2, INT16, "dst-x");
X	PrintField(buf, 14, 2, INT16, "dst-y");
X}
X
XGlobal void
XWarpPointer(buf)
X		unsigned char *buf;
X{
X	/* Request WarpPointer is opcode 41 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* WarpPointer */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(6), "request length");
X	PrintField(buf, 4, 4, WINDOW, "src-window");
X	PrintField(buf, 8, 4, WINDOW, "dst-window");
X	PrintField(buf, 12, 2, INT16, "src-x");
X	PrintField(buf, 14, 2, INT16, "src-y");
X	PrintField(buf, 16, 2, CARD16, "src-width");
X	PrintField(buf, 18, 2, CARD16, "src-height");
X	PrintField(buf, 20, 2, INT16, "dst-x");
X	PrintField(buf, 22, 2, INT16, "dst-y");
X}
X
XGlobal void
XSetInputFocus(buf)
X		unsigned char *buf;
X{
X	/* Request SetInputFocus is opcode 42 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* SetInputFocus */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, FOCUSAGENT, "revert-to");
X	printfield(buf, 2, 2, CONST2(3), "request length");
X	PrintField(buf, 4, 4, WINDOWNR, "focus");
X	PrintField(buf, 8, 4, TIMESTAMP, "time");
X}
X
XGlobal void
XGetInputFocus(buf)
X		unsigned char *buf;
X{
X	/* Request GetInputFocus is opcode 43 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetInputFocus */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(1), "request length");
X}
X
XGlobal void
XGetInputFocusReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetInputFocus */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, FOCUSAGENT, "revert-to");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X	PrintField(buf, 8, 4, WINDOWNR, "focus");
X}
X
XGlobal void
XQueryKeymap(buf)
X		unsigned char *buf;
X{
X	/* Request QueryKeymap is opcode 44 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* QueryKeymap */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(1), "request length");
X}
X
XGlobal void
XQueryKeymapReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* QueryKeymap */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(2), "reply length");
X	PrintBytes(&buf[8], 32L, "keys");
X}
X
XGlobal void
XOpenFont(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request OpenFont is opcode 45 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* OpenFont */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(3 + (n + p) / 4), "request length");
X	PrintField(buf, 4, 4, FONT, "font-id");
X	printfield(buf, 8, 2, DVALUE2(n), "length of name");
X	n = IShort(&buf[8]);
X	PrintString8(&buf[12], n, "name");
X}
X
XGlobal void
XCloseFont(buf)
X		unsigned char *buf;
X{
X	/* Request CloseFont is opcode 46 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CloseFont */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, FONT, "font");
X}
X
XGlobal void
XQueryFont(buf)
X		unsigned char *buf;
X{
X	/* Request QueryFont is opcode 47 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* QueryFont */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, FONTABLE, "font");
X}
X
XGlobal void
XQueryFontReply(buf)
X		unsigned char *buf;
X{
X	short   n;
X	long    m;
X	long   k;
X
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* QueryFont */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4(7 + 2*n + 3*m), "reply length");
X	PrintField(buf, 8, 12, CHARINFO, "min-bounds");
X	PrintField(buf, 24, 12, CHARINFO, "max-bounds");
X	PrintField(buf, 40, 2, CARD16, "min-char-or-byte2");
X	PrintField(buf, 42, 2, CARD16, "max-char-or-byte2");
X	PrintField(buf, 44, 2, CARD16, "default-char");
X	printfield(buf, 46, 2, DVALUE2(n), "number of FONTPROPs");
X	n = IShort(&buf[46]);
X	PrintField(buf, 48, 1, DIRECT, "draw-direction");
X	PrintField(buf, 49, 1, CARD8, "min-byte1");
X	PrintField(buf, 50, 1, CARD8, "max-byte1");
X	PrintField(buf, 51, 1, BOOL, "all-chars-exist");
X	PrintField(buf, 52, 2, INT16, "font-ascent");
X	PrintField(buf, 54, 2, INT16, "font-descent");
X	printfield(buf, 56, 4, DVALUE4(m), "number of CHARINFOs");
X	m = ILong(&buf[56]);
X	k = PrintList(&buf[60], (long)n, FONTPROP, "properties");
X	PrintList(&buf[(int)(60 + k)], (long)m, CHARINFO, "char-infos");
X}
X
XGlobal void
XQueryTextExtents(buf)
X		unsigned char *buf;
X{
X	short   n;
X
X	/* Request QueryTextExtents is opcode 48 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* QueryTextExtents */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 1, 1, BOOL, "odd length?");
X	printfield(buf, 2, 2, DVALUE2(2 + (2*n + p) / 4), "request length");
X	n = (IShort(&buf[2]) - 2) * 4 / 2;
X	if (IBool(&buf[1]))
X		n -= 1;
X	PrintField(buf, 4, 4, FONTABLE, "font");
X	PrintString16(&buf[8], n, "string");
X}
X
XGlobal void
XQueryTextExtentsReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* QueryTextExtents */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, DIRECT, "draw-direction");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X	PrintField(buf, 8, 2, INT16, "font-ascent");
X	PrintField(buf, 10, 2, INT16, "font-descent");
X	PrintField(buf, 12, 2, INT16, "overall-ascent");
X	PrintField(buf, 14, 2, INT16, "overall-descent");
X	PrintField(buf, 16, 4, INT32, "overall-width");
X	PrintField(buf, 20, 4, INT32, "overall-left");
X	PrintField(buf, 24, 4, INT32, "overall-right");
X}
X
XGlobal void
XListFonts(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request ListFonts is opcode 49 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ListFonts */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(2 + (n + p) / 4), "request length");
X	PrintField(buf, 4, 2, CARD16, "max-names");
X	printfield(buf, 6, 2, DVALUE2(n), "length of pattern");
X	n = IShort(&buf[6]);
X	PrintString8(&buf[8], n, "pattern");
X}
X
XGlobal void
XListFontsReply(buf)
X		unsigned char *buf;
X{
X	short   n;
X
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* ListFonts */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4((n + p) / 4), "reply length");
X	printfield(buf, 8, 2, CARD16, "number of names");
X	n = IShort(&buf[8]);
X	PrintListSTR(&buf[32], (long)n, "names");
X}
X
XGlobal void
XListFontsWithInfo(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request ListFontsWithInfo is opcode 50 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ListFontsWithInfo */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(2 + (n + p) / 4), "request length");
X	PrintField(buf, 4, 2, CARD16, "max-names");
X	printfield(buf, 6, 2, DVALUE2(n), "length of pattern");
X	n = IShort(&buf[6]);
X	PrintString8(&buf[8], n, "pattern");
X}
X
XGlobal void
XListFontsWithInfoReply(buf)
X		unsigned char *buf;
X{
X#ifdef NOT_YET
X	short which;
X
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* ListFontsWithInfo */ ;
X	if (CurrentVerbose < 2) return;
X	which = IByte(&buf[1]);
X	if (which != 0)
X		{
X			ListFontsWithInfoReply1(buf);
X			KeepLastReplyExpected();
X		}
X	else
X		ListFontsWithInfoReply2(buf);
X#endif
X	panic("ListFontsWithInfo not supported");
X}
X
XGlobal void
XListFontsWithInfoReply1(buf)
X		unsigned char *buf;
X{
X	short   n;
X	short   m;
X	printfield(buf, 1, 1, DVALUE1(n), "length of name in bytes");
X	n = IByte(&buf[1]);
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4(7 + 2*m + (n + p) / 4), "reply length");
X	PrintField(buf, 8, 12, CHARINFO, "min-bounds");
X	PrintField(buf, 24, 12, CHARINFO, "max-bounds");
X	PrintField(buf, 40, 2, CARD16, "min-char-or-byte2");
X	PrintField(buf, 42, 2, CARD16, "max-char-or-byte2");
X	PrintField(buf, 44, 2, CARD16, "default-char");
X	printfield(buf, 46, 2, DVALUE2(m), "number of FONTPROPs");
X	m = IShort(&buf[46]);
X	PrintField(buf, 48, 1, DIRECT, "draw-direction");
X	PrintField(buf, 49, 1, CARD8, "min-byte1");
X	PrintField(buf, 50, 1, CARD8, "max-byte1");
X	PrintField(buf, 51, 1, BOOL, "all-chars-exist");
X	PrintField(buf, 52, 2, INT16, "font-ascent");
X	PrintField(buf, 54, 2, INT16, "font-descent");
X	PrintField(buf, 56, 4, CARD32, "replies-hint");
X	PrintList(&buf[60], (long)m, FONTPROP, "properties");
X	PrintString8(&buf[60 + 8 * m], n, "name");
X}
X
XGlobal void
XListFontsWithInfoReply2(buf)
X		unsigned char *buf;
X{
X	PrintField(buf, 1, 1, CONST1(0), "last-reply indicator");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(7), "reply length");
X}
X
XGlobal void
XSetFontPath(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request SetFontPath is opcode 51 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* SetFontPath */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(2 + (n + p) / 4), "request length");
X	printfield(buf, 4, 2, CARD16, "number of paths");
X	n = IShort(&buf[4]);
X	PrintListSTR(&buf[8], (long)n, "paths");
X}
X
XGlobal void
XGetFontPath(buf)
X		unsigned char *buf;
X{
X	/* Request GetFontPath is opcode 52 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetFontPath */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 2, 2, CONST2(1), "request list");
X}
X
XGlobal void
XGetFontPathReply(buf)
X		unsigned char *buf;
X{
X	short   n;
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetFontPath */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4((n + p) / 4), "reply length");
X	printfield(buf, 8, 2, CARD16, "number of paths");
X	n = IShort(&buf[8]);
X	PrintListSTR(&buf[32], (long)n, "paths");
X}
X
XGlobal void
XCreatePixmap(buf)
X		unsigned char *buf;
X{
X	/* Request CreatePixmap is opcode 53 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CreatePixmap */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, CARD8, "depth");
X	printfield(buf, 2, 2, CONST2(4), "request length");
X	PrintField(buf, 4, 4, PIXMAP, "pixmap-id");
X	PrintField(buf, 8, 4, DRAWABLE, "drawable");
X	PrintField(buf, 12, 2, CARD16, "width");
X	PrintField(buf, 14, 2, CARD16, "height");
X}
X
XGlobal void
XFreePixmap(buf)
X		unsigned char *buf;
X{
X	/* Request FreePixmap is opcode 54 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* FreePixmap */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, PIXMAP, "pixmap");
X}
X
XGlobal void
XCreateGC(buf)
X		unsigned char *buf;
X{
X	/* Request CreateGC is opcode 55 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CreateGC */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(4 + n), "request length");
X	PrintField(buf, 4, 4, GCONTEXT, "graphic-context-id");
X	PrintField(buf, 8, 4, DRAWABLE, "drawable");
X	PrintField(buf, 12, 4, GC_BITMASK, "value-mask");
X	PrintValues(&buf[12], 4, GC_BITMASK, &buf[16], "value-list");
X}
X
XGlobal void
XChangeGC(buf)
X		unsigned char *buf;
X{
X	/* Request ChangeGC is opcode 56 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ChangeGC */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(3 + n), "request length");
X	PrintField(buf, 4, 4, GCONTEXT, "gc");
X	PrintField(buf, 8, 4, GC_BITMASK, "value-mask");
X	PrintValues(&buf[8], 4, GC_BITMASK, &buf[12], "value-list");
X}
X
XGlobal void
XCopyGC(buf)
X		unsigned char *buf;
X{
X	/* Request CopyGC is opcode 57 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CopyGC */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(4), "request length");
X	PrintField(buf, 4, 4, GCONTEXT, "src-gc");
X	PrintField(buf, 8, 4, GCONTEXT, "dst-gc");
X	PrintField(buf, 12, 4, GC_BITMASK, "value-mask");
X}
X
XGlobal void
XSetDashes(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request SetDashes is opcode 58 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* SetDashes */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(3 + (n + p) / 4), "request length");
X	PrintField(buf, 4, 4, GCONTEXT, "gc");
X	PrintField(buf, 8, 2, CARD16, "dash-offset");
X	printfield(buf, 10, 2, DVALUE2(n), "length of dashes");
X	n = IShort(&buf[10]);
X	PrintBytes(&buf[12], (long)n, "dashes");
X}
X
XGlobal void
XSetClipRectangles(buf)
X		unsigned char *buf;
X{
X	short   n;
X
X	/* Request SetClipRectangles is opcode 59 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* SetClipRectangles */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, RECTORDER, "ordering");
X	printfield(buf, 2, 2, DVALUE2(3 + 2*n), "request length");
X	n = (IShort(&buf[2]) - 3) / 2;
X	PrintField(buf, 4, 4, GCONTEXT, "gc");
X	PrintField(buf, 8, 2, INT16, "clip-x-origin");
X	PrintField(buf, 10, 2, INT16, "clip-y-origin");
X	PrintList(&buf[12], (long)n, RECTANGLE, "rectangles");
X}
X
XGlobal void
XFreeGC(buf)
X		unsigned char *buf;
X{
X	/* Request FreeGC is opcode 60 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* FreeGC */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, GCONTEXT, "gc");
X}
X
XGlobal void
XClearArea(buf)
X		unsigned char *buf;
X{
X	/* Request ClearArea is opcode 61 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ClearArea */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, BOOL, "exposures");
X	printfield(buf, 2, 2, CONST2(4), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X	PrintField(buf, 8, 2, INT16, "x");
X	PrintField(buf, 10, 2, INT16, "y");
X	PrintField(buf, 12, 2, CARD16, "width");
X	PrintField(buf, 14, 2, CARD16, "height");
X}
X
XGlobal void
XCopyArea(buf)
X		unsigned char *buf;
X{
X	/* Request CopyArea is opcode 62 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CopyArea */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(7), "request length");
X	PrintField(buf, 4, 4, DRAWABLE, "src-drawable");
X	PrintField(buf, 8, 4, DRAWABLE, "dst-drawable");
X	PrintField(buf, 12, 4, GCONTEXT, "gc");
X	PrintField(buf, 16, 2, INT16, "src-x");
X	PrintField(buf, 18, 2, INT16, "src-y");
X	PrintField(buf, 20, 2, INT16, "dst-x");
X	PrintField(buf, 22, 2, INT16, "dst-y");
X	PrintField(buf, 24, 2, CARD16, "width");
X	PrintField(buf, 26, 2, CARD16, "height");
X}
X
XGlobal void
XCopyPlane(buf)
X		unsigned char *buf;
X{
X	/* Request CopyPlane is opcode 63 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CopyPlane */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(8), "request length");
X	PrintField(buf, 4, 4, DRAWABLE, "src-drawable");
X	PrintField(buf, 8, 4, DRAWABLE, "dst-drawable");
X	PrintField(buf, 12, 4, GCONTEXT, "gc");
X	PrintField(buf, 16, 2, INT16, "src-x");
X	PrintField(buf, 18, 2, INT16, "src-y");
X	PrintField(buf, 20, 2, INT16, "dst-x");
X	PrintField(buf, 22, 2, INT16, "dst-y");
X	PrintField(buf, 24, 2, CARD16, "width");
X	PrintField(buf, 26, 2, CARD16, "height");
X	PrintField(buf, 28, 4, CARD32, "bit-plane");
X}
X
XGlobal void
XPolyPoint(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request PolyPoint is opcode 64 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolyPoint */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, COORMODE, "coordinate-mode");
X	printfield(buf, 2, 2, DVALUE2(3 + n), "request length");
X	n = (IShort(&buf[2]) - 3);
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 4, GCONTEXT, "gc");
X	PrintList(&buf[12], (long)n, POINT, "points");
X}
X
XGlobal void
XPolyLine(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request PolyLine is opcode 65 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolyLine */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, COORMODE, "coordinate-mode");
X	printfield(buf, 2, 2, DVALUE2(3 + n), "request length");
X	n = (IShort(&buf[2]) - 3);
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 4, GCONTEXT, "gc");
X	PrintList(&buf[12], (long)n, POINT, "points");
X}
X
XGlobal void
XPolySegment(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request PolySegment is opcode 66 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolySegment */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(3 + 2*n), "request length");
X	n = (IShort(&buf[2]) - 3) / 2;
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 4, GCONTEXT, "gc");
X	PrintList(&buf[12], (long)n, SEGMENT, "segments");
X}
X
XGlobal void
XPolyRectangle(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request PolyRectangle is opcode 67 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolyRectangle */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(3 + 2*n), "request length");
X	n = (IShort(&buf[2]) - 3) / 2;
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 4, GCONTEXT, "gc");
X	PrintList(&buf[12], (long)n, RECTANGLE, "rectangles");
X}
X
XGlobal void
XPolyArc(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request PolyArc is opcode 68 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolyArc */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(3 + 3*n), "request length");
X	n = (IShort(&buf[2]) - 3) / 3;
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 4, GCONTEXT, "gc");
X	PrintList(&buf[12], (long)n, ARC, "arcs");
X}
X
XGlobal void
XFillPoly(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request FillPoly is opcode 69 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* FillPoly */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(4 + n), "request length");
X	n = (IShort(&buf[2]) - 4);
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 4, GCONTEXT, "gc");
X	PrintField(buf, 12, 1, POLYSHAPE, "shape");
X	PrintField(buf, 13, 1, COORMODE, "coordinate-mode");
X	PrintList(&buf[16], (long)n, POINT, "points");
X}
X
XGlobal void
XPolyFillRectangle(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request PolyFillRectangle is opcode 70 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolyFillRectangle */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(3 + 2*n), "request length");
X	n = (IShort(&buf[2]) - 3) / 2;
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 4, GCONTEXT, "gc");
X	PrintList(&buf[12], (long)n, RECTANGLE, "rectangles");
X}
X
XGlobal void
XPolyFillArc(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request PolyFillArc is opcode 71 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolyFillArc */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(3 + 3*n), "request length");
X	n = (IShort(&buf[2]) - 3) / 3;
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 4, GCONTEXT, "gc");
X	PrintList(&buf[12], (long)n, ARC, "arcs");
X}
X
XGlobal void
XPutImage(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request PutImage is opcode 72 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PutImage */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, IMAGEMODE, "format");
X	printfield(buf, 2, 2, DVALUE2(6 + (n + p) / 4), "request length");
X
X	/* the size of the Image is overestimated by the following computation of n,
X		because we ignore that padding of the request to a multiple of 4 bytes.
X		The image may not be a multiple of 4 bytes.  The actual size of the image
X		is determined as follows: for format = Bitmap or format = XYPixmap, the
X		size is (left-pad + width) [ pad to multiple of bitmap-scanline-pad from
X		SetUpReply ] divide by 8 to get bytes times height times depth for format
X		= ZPixmap, take the depth and use it to find the bits-per-pixel and
X		scanline-pad given in one of the SetUpReply DEPTH records. width *
X		bits-per-pixel pad to multiple of scanline-pad divide by 8 to get bytes
X		times height times depth For simplicity, we ignore all this and just use
X		the request length to (over)estimate the size of the image */
X
X	n = (IShort(&buf[2]) - 6) * 4;
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 4, GCONTEXT, "gc");
X	PrintField(buf, 12, 2, CARD16, "width");
X	PrintField(buf, 14, 2, CARD16, "height");
X	PrintField(buf, 16, 2, INT16, "dst-x");
X	PrintField(buf, 18, 2, INT16, "dst-y");
X	PrintField(buf, 20, 1, CARD8, "left-pad");
X	PrintField(buf, 21, 1, CARD8, "depth");
X	PrintBytes(&buf[24], (long)n, "data");
X}
X
XGlobal void
XGetImage(buf)
X		unsigned char *buf;
X{
X	/* Request GetImage is opcode 73 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetImage */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, IMAGEMODE, "format");
X	printfield(buf, 2, 2, CONST2(5), "request length");
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 2, INT16, "x");
X	PrintField(buf, 10, 2, INT16, "y");
X	PrintField(buf, 12, 2, CARD16, "width");
X	PrintField(buf, 14, 2, CARD16, "height");
X	PrintField(buf, 16, 4, CARD32, "plane-mask");
X}
X
XGlobal void
XGetImageReply(buf)
X		unsigned char *buf;
X{
X	long    n;
X
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetImage */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, CARD8, "depth");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4((n + p) / 4), "reply length");
X
X	/* to properly compute the actual size of the image, we have to remember the
X		width and height values from the request.  Again, we (over)estimate its
X		length from the length of the reply */
X	n = ILong(&buf[4]) * 4;
X	PrintField(buf, 8, 4, VISUALID, "visual");
X	PrintBytes(&buf[32], n, "data");
X}
X
XGlobal void
XPolyText8(buf)
X		unsigned char *buf;
X{
X	short   n;
X
X	/* Request PolyText8 is opcode 74 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolyText8 */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(4 + (n + p) / 4), "request length");
X	n = (IShort(&buf[2]) - 4) * 4;
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 4, GCONTEXT, "gc");
X	PrintField(buf, 12, 2, INT16, "x");
X	PrintField(buf, 14, 2, INT16, "y");
X	PrintTextList8(&buf[16], n, "items");
X}
X
XGlobal void
XPolyText16(buf)
X		unsigned char *buf;
X{
X	short   n;
X
X	/* Request PolyText16 is opcode 75 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolyText16 */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(4 + (n + p) / 4), "request length");
X	n = (IShort(&buf[2]) - 4) * 4;
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 4, GCONTEXT, "gc");
X	PrintField(buf, 12, 2, INT16, "x");
X	PrintField(buf, 14, 2, INT16, "y");
X	PrintTextList16(&buf[16], n, "items");
X}
X
XGlobal void
XImageText8(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request ImageText8 is opcode 76 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ImageText8 */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 1, 1, DVALUE1(n), "length of string");
X	n = IByte(&buf[1]);
X	printfield(buf, 2, 2, DVALUE2(4 + (n + p) / 4), "request length");
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 4, GCONTEXT, "gc");
X	PrintField(buf, 12, 2, INT16, "x");
X	PrintField(buf, 14, 2, INT16, "y");
X	PrintString8(&buf[16], n, "string");
X}
X
XGlobal void
XImageText16(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request ImageText16 is opcode 77 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ImageText16 */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 1, 1, DVALUE1(n), "length of string");
X	n = IByte(&buf[1]);
X	printfield(buf, 2, 2, DVALUE2(4 + (2*n + p) / 4), "request length");
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 4, GCONTEXT, "gc");
X	PrintField(buf, 12, 2, INT16, "x");
X	PrintField(buf, 14, 2, INT16, "y");
X	PrintString16(&buf[16], n, "string");
X}
X
XGlobal void
XCreateColormap(buf)
X		unsigned char *buf;
X{
X	/* Request CreateColormap is opcode 78 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CreateColormap */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, ALLORNONE, "alloc");
X	printfield(buf, 2, 2, CONST2(4), "request length");
X	PrintField(buf, 4, 4, COLORMAP, "color-map-id");
X	PrintField(buf, 8, 4, WINDOW, "window");
X	PrintField(buf, 12, 4, VISUALID, "visual");
X}
X
XGlobal void
XFreeColormap(buf)
X		unsigned char *buf;
X{
X	/* Request FreeColormap is opcode 79 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* FreeColormap */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, COLORMAP, "cmap");
X}
X
XGlobal void
XCopyColormapAndFree(buf)
X		unsigned char *buf;
X{
X	/* Request CopyColormapAndFree is opcode 80 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CopyColormapAndFree */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(3), "request length");
X	PrintField(buf, 4, 4, COLORMAP, "color-map-id");
X	PrintField(buf, 8, 4, COLORMAP, "src-cmap");
X}
X
XGlobal void
XInstallColormap(buf)
X		unsigned char *buf;
X{
X	/* Request InstallColormap is opcode 81 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* InstallColormap */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, COLORMAP, "cmap");
X}
X
XGlobal void
XUninstallColormap(buf)
X		unsigned char *buf;
X{
X	/* Request UninstallColormap is opcode 82 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* UninstallColormap */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, COLORMAP, "cmap");
X}
X
XGlobal void
XListInstalledColormaps(buf)
X		unsigned char *buf;
X{
X	/* Request ListInstalledColormaps is opcode 83 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ListInstalledColormaps */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X}
X
XGlobal void
XListInstalledColormapsReply(buf)
X		unsigned char *buf;
X{
X	short   n;
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* ListInstalledColormaps */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4(n), "reply length");
X	printfield(buf, 8, 2, DVALUE2(n), "number of cmaps");
X	n = IShort(&buf[8]);
X	PrintList(&buf[32], (long)n, COLORMAP, "cmaps");
X}
X
XGlobal void
XAllocColor(buf)
X		unsigned char *buf;
X{
X	/* Request AllocColor is opcode 84 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* AllocColor */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(4), "request length");
X	PrintField(buf, 4, 4, COLORMAP, "cmap");
X	PrintField(buf, 8, 2, CARD16, "red");
X	PrintField(buf, 10, 2, CARD16, "green");
X	PrintField(buf, 12, 2, CARD16, "blue");
X}
X
XGlobal void
XAllocColorReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* AllocColor */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X	PrintField(buf, 8, 2, CARD16, "red");
X	PrintField(buf, 10, 2, CARD16, "green");
X	PrintField(buf, 12, 2, CARD16, "blue");
X	PrintField(buf, 16, 4, CARD32, "pixel");
X}
X
XGlobal void
XAllocNamedColor(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request AllocNamedColor is opcode 85 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* AllocNamedColor */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(3 + (n + p) / 4), "request length");
X	PrintField(buf, 4, 4, COLORMAP, "cmap");
X	printfield(buf, 8, 2, DVALUE2(n), "length of name");
X	n = IShort(&buf[8]);
X	PrintString8(&buf[12], n, "name");
X}
X
XGlobal void
XAllocNamedColorReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* AllocNamedColor */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X	PrintField(buf, 8, 4, CARD32, "pixel");
X	PrintField(buf, 12, 2, CARD16, "exact-red");
X	PrintField(buf, 14, 2, CARD16, "exact-green");
X	PrintField(buf, 16, 2, CARD16, "exact-blue");
X	PrintField(buf, 18, 2, CARD16, "visual-red");
X	PrintField(buf, 20, 2, CARD16, "visual-green");
X	PrintField(buf, 22, 2, CARD16, "visual-blue");
X}
X
XGlobal void
XAllocColorCells(buf)
X		unsigned char *buf;
X{
X	/* Request AllocColorCells is opcode 86 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* AllocColorCells */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, BOOL, "contiguous");
X	printfield(buf, 2, 2, CONST2(3), "request length");
X	PrintField(buf, 4, 4, COLORMAP, "cmap");
X	PrintField(buf, 8, 2, CARD16, "colors");
X	PrintField(buf, 10, 2, CARD16, "planes");
X}
X
XGlobal void
XAllocColorCellsReply(buf)
X		unsigned char *buf;
X{
X	short   n;
X	short   m;
X	short   k;
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* AllocColorCells */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4(n + m), "reply length");
X	printfield(buf, 8, 2, DVALUE2(n), "number of pixels");
X	n = IShort(&buf[8]);
X	printfield(buf, 10, 2, DVALUE2(m), "number of masks");
X	m = IShort(&buf[10]);
X	k = PrintList(&buf[32], (long)n, CARD32, "pixels");
X	PrintList(&buf[32 + k], (long)m, CARD32, "masks");
X}
X
XGlobal void
XAllocColorPlanes(buf)
X		unsigned char *buf;
X{
X	/* Request AllocColorPlanes is opcode 87 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* AllocColorPlanes */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, BOOL, "contiguous");
X	printfield(buf, 2, 2, CONST2(4), "request length");
X	PrintField(buf, 4, 4, COLORMAP, "cmap");
X	PrintField(buf, 8, 2, CARD16, "colors");
X	PrintField(buf, 10, 2, CARD16, "reds");
X	PrintField(buf, 12, 2, CARD16, "greens");
X	PrintField(buf, 14, 2, CARD16, "blues");
X}
X
XGlobal void
XAllocColorPlanesReply(buf)
X		unsigned char *buf;
X{
X	short   n;
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* AllocColorPlanes */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4(n), "reply length");
X	printfield(buf, 8, 2, DVALUE2(n), "number of pixels");
X	n = IShort(&buf[8]);
X	PrintField(buf, 12, 4, CARD32, "red-mask");
X	PrintField(buf, 16, 4, CARD32, "green-mask");
X	PrintField(buf, 20, 4, CARD32, "blue-mask");
X	PrintList(&buf[32], (long)n, CARD32, "pixels");
X}
X
XGlobal void
XFreeColors(buf)
X		unsigned char *buf;
X{
X	short   n;
X
X	/* Request FreeColors is opcode 88 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* FreeColors */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(3 + n), "request length");
X	n = IShort(&buf[2]) - 3;
X	PrintField(buf, 4, 4, COLORMAP, "cmap");
X	PrintField(buf, 8, 4, CARD32, "plane-mask");
X	PrintList(&buf[12], (long)n, CARD32, "pixels");
X}
X
XGlobal void
XStoreColors(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request StoreColors is opcode 89 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* StoreColors */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(2 + 3*n), "request length");
X	n = (IShort(&buf[2]) - 2) / 3;
X	PrintField(buf, 4, 4, COLORMAP, "cmap");
X	PrintList(&buf[8], (long)n, COLORITEM, "items");
X}
X
XGlobal void
XStoreNamedColor(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request StoreNamedColor is opcode 90 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* StoreNamedColor */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, COLORMASK, "which colors?");
X	printfield(buf, 2, 2, DVALUE2(4 + (n + p) / 4), "request length");
X	PrintField(buf, 4, 4, COLORMAP, "cmap");
X	PrintField(buf, 8, 4, CARD32, "pixel");
X	printfield(buf, 12, 2, DVALUE2(n), "length of name");
X	n = IShort(&buf[12]);
X	PrintString8(&buf[16], n, "name");
X}
X
XGlobal void
XQueryColors(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request QueryColors is opcode 91 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* QueryColors */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(2 + n), "request length");
X	n = IShort(&buf[2]) - 2;
X	PrintField(buf, 4, 4, COLORMAP, "cmap");
X	PrintList(&buf[8], (long)n, CARD32, "pixels");
X}
X
XGlobal void
XQueryColorsReply(buf)
X		unsigned char *buf;
X{
X	short   n;
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* QueryColors */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4(2*n), "reply length");
X	printfield(buf, 8, 2, DVALUE2(n), "number of colors");
X	n = IShort(&buf[8]);
X	PrintList(&buf[32], (long)n, RGB, "colors");
X}
X
XGlobal void
XLookupColor(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request LookupColor is opcode 92 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* LookupColor */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(3 + (n + p) / 4), "request length");
X	PrintField(buf, 4, 4, COLORMAP, "cmap");
X	printfield(buf, 8, 2, DVALUE2(n), "length of name");
X	n = IShort(&buf[8]);
X	PrintString8(&buf[12], n, "name");
X}
X
XGlobal void
XLookupColorReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* LookupColor */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X	PrintField(buf, 8, 2, CARD16, "exact-red");
X	PrintField(buf, 10, 2, CARD16, "exact-green");
X	PrintField(buf, 12, 2, CARD16, "exact-blue");
X	PrintField(buf, 14, 2, CARD16, "visual-red");
X	PrintField(buf, 16, 2, CARD16, "visual-green");
X	PrintField(buf, 18, 2, CARD16, "visual-blue");
X}
X
XGlobal void
XCreateCursor(buf)
X		unsigned char *buf;
X{
X	/* Request CreateCursor is opcode 93 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CreateCursor */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(8), "request length");
X	PrintField(buf, 4, 4, CURSOR, "cursor-id");
X	PrintField(buf, 8, 4, PIXMAP, "source");
X	PrintField(buf, 12, 4, PIXMAP, "mask");
X	PrintField(buf, 16, 2, CARD16, "fore-red");
X	PrintField(buf, 18, 2, CARD16, "fore-green");
X	PrintField(buf, 20, 2, CARD16, "fore-blue");
X	PrintField(buf, 22, 2, CARD16, "back-red");
X	PrintField(buf, 24, 2, CARD16, "back-green");
X	PrintField(buf, 26, 2, CARD16, "back-blue");
X	PrintField(buf, 28, 2, CARD16, "x");
X	PrintField(buf, 30, 2, CARD16, "y");
X}
X
XGlobal void
XCreateGlyphCursor(buf)
X		unsigned char *buf;
X{
X	/* Request CreateGlyphCursor is opcode 94 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CreateGlyphCursor */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(8), "request length");
X	PrintField(buf, 4, 4, CURSOR, "cursor-id");
X	PrintField(buf, 8, 4, FONT, "source-font");
X	PrintField(buf, 12, 4, FONT, "mask-font");
X	PrintField(buf, 16, 2, CARD16, "source-char");
X	PrintField(buf, 18, 2, CARD16, "mask-char");
X	PrintField(buf, 20, 2, CARD16, "fore-red");
X	PrintField(buf, 22, 2, CARD16, "fore-green");
X	PrintField(buf, 24, 2, CARD16, "fore-blue");
X	PrintField(buf, 26, 2, CARD16, "back-red");
X	PrintField(buf, 28, 2, CARD16, "back-green");
X	PrintField(buf, 30, 2, CARD16, "back-blue");
X}
X
XGlobal void
XFreeCursor(buf)
X		unsigned char *buf;
X{
X	/* Request FreeCursor is opcode 95 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* FreeCursor */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, CURSOR, "cursor");
X}
X
XGlobal void
XRecolorCursor(buf)
X		unsigned char *buf;
X{
X	/* Request RecolorCursor is opcode 96 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* RecolorCursor */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(5), "request length");
X	PrintField(buf, 4, 4, CURSOR, "cursor");
X	PrintField(buf, 8, 2, CARD16, "fore-red");
X	PrintField(buf, 10, 2, CARD16, "fore-green");
X	PrintField(buf, 12, 2, CARD16, "fore-blue");
X	PrintField(buf, 14, 2, CARD16, "back-red");
X	PrintField(buf, 16, 2, CARD16, "back-green");
X	PrintField(buf, 18, 2, CARD16, "back-blue");
X}
X
XGlobal void
XQueryBestSize(buf)
X		unsigned char *buf;
X{
X	/* Request QueryBestSize is opcode 97 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* QueryBestSize */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, OBJECTCLASS, "class");
X	printfield(buf, 2, 2, CONST2(3), "request length");
X	PrintField(buf, 4, 4, DRAWABLE, "drawable");
X	PrintField(buf, 8, 2, CARD16, "width");
X	PrintField(buf, 10, 2, CARD16, "height");
X}
X
XGlobal void
XQueryBestSizeReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* QueryBestSize */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X	PrintField(buf, 8, 2, CARD16, "width");
X	PrintField(buf, 10, 2, CARD16, "height");
X}
X
XGlobal void
XQueryExtension(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request QueryExtension is opcode 98 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* QueryExtension */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(2 + (n + p) / 4), "request length");
X	printfield(buf, 4, 2, DVALUE2(n), "length of name");
X	n = IShort(&buf[4]);
X	PrintString8(&buf[8], n, "name");
X}
X
XGlobal void
XQueryExtensionReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* QueryExtension */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X	PrintField(buf, 8, 1, BOOL, "present");
X	PrintField(buf, 9, 1, CARD8, "major-opcode");
X	PrintField(buf, 10, 1, CARD8, "first-event");
X	PrintField(buf, 11, 1, CARD8, "first-error");
X}
X
XGlobal void
XListExtensions(buf)
X		unsigned char *buf;
X{
X	/* Request ListExtensions is opcode 99 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ListExtensions */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(1), "request length");
X}
X
XGlobal void
XListExtensionsReply(buf)
X		unsigned char *buf;
X{
X	short   n;
X
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* ListExtensions */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 1, 1, CARD8, "number names");
X	n = IByte(&buf[1]);
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4((n + p) / 4), "reply length");
X	PrintListSTR(&buf[32], (long)n, "names");
X}
X
XGlobal void
XChangeKeyboardMapping(buf)
X		unsigned char *buf;
X{
X	short   n;
X	short   m;
X	/* Request ChangeKeyboardMapping is opcode 100 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ChangeKeyboardMapping */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, DVALUE1(n), "keycode-count");
X	n = IByte(&buf[1]);
X	printfield(buf, 2, 2, DVALUE2(2 + nm), "request length");
X	PrintField(buf, 4, 1, KEYCODE, "first-keycode");
X	PrintField(buf, 5, 1, DVALUE1(m), "keysyms-per-keycode");
X	m = IByte(&buf[5]);
X	PrintList(&buf[8], (long)(n * m), KEYSYM, "keysyms");
X}
X
XGlobal void
XGetKeyboardMapping(buf)
X		unsigned char *buf;
X{
X	/* Request GetKeyboardMapping is opcode 101 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetKeyboardMapping */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 1, KEYCODE, "first-keycode");
X	PrintField(buf, 5, 1, CARD8, "count");
X}
X
XGlobal void
XGetKeyboardMappingReply(buf)
X		unsigned char *buf;
X{
X	long    n;
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetKeyboardMapping */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, DVALUE1(n), "keysyms-per-keycode");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4(n*m), "reply length");
X	n = ILong(&buf[4]);
X	PrintList(&buf[32], n, KEYSYM, "keysyms");
X}
X
XGlobal void
XChangeKeyboardControl(buf)
X		unsigned char *buf;
X{
X	/* Request ChangeKeyboardControl is opcode 102 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ChangeKeyboardControl */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(2 + n), "request length");
X	PrintField(buf, 4, 4, KEYBOARD_BITMASK, "value-mask");
X	PrintValues(&buf[4], 4, KEYBOARD_BITMASK, &buf[8], "value-list");
X}
X
XGlobal void
XGetKeyboardControl(buf)
X		unsigned char *buf;
X{
X	/* Request GetKeyboardControl is opcode 103 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetKeyboardControl */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(1), "request length");
X}
X
XGlobal void
XGetKeyboardControlReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetKeyboardControl */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, OFF_ON, "global-auto-repeat");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(5), "reply length");
X	PrintField(buf, 8, 4, CARD32, "led-mask");
X	PrintField(buf, 12, 1, CARD8, "key-click-percent");
X	PrintField(buf, 13, 1, CARD8, "bell-percent");
X	PrintField(buf, 14, 2, CARD16, "bell-pitch");
X	PrintField(buf, 16, 2, CARD16, "bell-duration");
X	PrintBytes(&buf[20], 32L, "auto-repeats");
X}
X
XGlobal void
XBell(buf)
X		unsigned char *buf;
X{
X	/* Request Bell is opcode 104 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* Bell */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, INT8, "percent");
X	printfield(buf, 2, 2, CONST2(1), "request length");
X}
X
XGlobal void
XChangePointerControl(buf)
X		unsigned char *buf;
X{
X	/* Request ChangePointerControl is opcode 105 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ChangePointerControl */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(3), "request length");
X	PrintField(buf, 4, 2, INT16, "acceleration-numerator");
X	PrintField(buf, 6, 2, INT16, "acceleration-denominator");
X	PrintField(buf, 8, 2, INT16, "threshold");
X	PrintField(buf, 10, 1, BOOL, "do-acceleration");
X	PrintField(buf, 11, 1, BOOL, "do-threshold");
X}
X
XGlobal void
XGetPointerControl(buf)
X		unsigned char *buf;
X{
X	/* Request GetPointerControl is opcode 106 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetPointerControl */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(1), "request length");
X}
X
XGlobal void
XGetPointerControlReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetPointerControl */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X	PrintField(buf, 8, 2, CARD16, "acceleration-numerator");
X	PrintField(buf, 10, 2, CARD16, "acceleration-denominator");
X	PrintField(buf, 12, 2, CARD16, "threshold");
X}
X
XGlobal void
XSetScreenSaver(buf)
X		unsigned char *buf;
X{
X	/* Request SetScreenSaver is opcode 107 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* SetScreenSaver */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(3), "request length");
X	PrintField(buf, 4, 2, INT16, "timeout");
X	PrintField(buf, 6, 2, INT16, "interval");
X	PrintField(buf, 8, 1, NO_YES, "prefer-blanking");
X	PrintField(buf, 9, 1, NO_YES, "allow-exposures");
X}
X
XGlobal void
XGetScreenSaver(buf)
X		unsigned char *buf;
X{
X	/* Request GetScreenSaver is opcode 108 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetScreenSaver */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(1), "request length");
X}
X
XGlobal void
XGetScreenSaverReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetScreenSaver */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X	PrintField(buf, 8, 2, CARD16, "timeout");
X	PrintField(buf, 10, 2, CARD16, "interval");
X	PrintField(buf, 12, 1, NO_YES, "prefer-blanking");
X	PrintField(buf, 13, 1, NO_YES, "allow-exposures");
X}
X
XGlobal void
XChangeHosts(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request ChangeHosts is opcode 109 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ChangeHosts */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, INS_DEL, "mode");
X	printfield(buf, 2, 2, DVALUE2(2 + (n + p) / 4), "request length");
X	PrintField(buf, 4, 1, HOSTFAMILY, "family");
X	printfield(buf, 6, 2, CARD16, "length of address");
X	n = IShort(&buf[6]);
X	PrintBytes(&buf[8], (long)n, "address");
X}
X
XGlobal void
XListHosts(buf)
X		unsigned char *buf;
X{
X	/* Request ListHosts is opcode 110 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ListHosts */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(1), "request length");
X}
X
XGlobal void
XListHostsReply(buf)
X		unsigned char *buf;
X{
X	short   n;
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* ListHosts */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, DIS_EN, "mode");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4(n / 4), "reply length");
X	printfield(buf, 8, 2, CARD16, "number of hosts");
X	n = IShort(&buf[8]);
X	PrintList(&buf[32], (long)n, HOST, "hosts");
X}
X
XGlobal void
XSetAccessControl(buf)
X		unsigned char *buf;
X{
X	/* Request SetAccessControl is opcode 111 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* SetAccessControl */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, DIS_EN, "mode");
X	printfield(buf, 2, 2, CONST2(1), "request length");
X}
X
XGlobal void
XSetCloseDownMode(buf)
X		unsigned char *buf;
X{
X	/* Request SetCloseDownMode is opcode 112 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* SetCloseDownMode */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, CLOSEMODE, "mode");
X	printfield(buf, 2, 2, CONST2(1), "request length");
X}
X
XGlobal void
XKillClient(buf)
X		unsigned char *buf;
X{
X	/* Request KillClient is opcode 113 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* KillClient */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(2), "request length");
X	PrintField(buf, 4, 4, RESOURCEID, "resource");
X}
X
XGlobal void
XRotateProperties(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request RotateProperties is opcode 114 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* RotateProperties */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, DVALUE2(3 + n), "request length");
X	PrintField(buf, 4, 4, WINDOW, "window");
X	printfield(buf, 8, 2, DVALUE2(n), "number of properties");
X	n = IShort(&buf[8]);
X	PrintField(buf, 10, 2, INT16, "delta");
X	PrintList(&buf[12], (long)n, ATOM, "properties");
X}
X
XGlobal void
XForceScreenSaver(buf)
X		unsigned char *buf;
X{
X	/* Request ForceScreenSaver is opcode 115 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ForceScreenSaver */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, SAVEMODE, "mode");
X	printfield(buf, 2, 2, CONST2(1), "request length");
X}
X
XGlobal void
XSetPointerMapping(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request SetPointerMapping is opcode 116 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* SetPointerMapping */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 1, 1, DVALUE1(n), "length of map");
X	n = IByte(&buf[1]);
X	printfield(buf, 2, 2, DVALUE2(1 + (n + p) / 4), "request length");
X	PrintBytes(&buf[4], (long)n,"map");
X}
X
XGlobal void
XSetPointerMappingReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* SetPointerMapping */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, RSTATUS, "status");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X}
X
XGlobal void
XGetPointerMapping(buf)
X		unsigned char *buf;
X{
X	/* Request GetPointerMapping is opcode 117 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetPointerMapping */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(1), "request length");
X}
X
XGlobal void
XGetPointerMappingReply(buf)
X		unsigned char *buf;
X{
X	short   n;
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetPointerMapping */ ;
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 1, 1, DVALUE1(n), "length of map");
X	n = IByte(&buf[1]);
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4((n + p) / 4), "reply length");
X	PrintBytes(&buf[32], (long)n,"map");
X}
X
XGlobal void
XSetModifierMapping(buf)
X		unsigned char *buf;
X{
X	short   n;
X	/* Request SetModifierMapping is opcode 118 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* SetModifierMapping */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	PrintField(buf, 1, 1, DVALUE1(n), "keycodes-per-modifier");
X	n = IByte(&buf[1]);
X	printfield(buf, 2, 2, DVALUE2(1 + 2*n), "request length");
X	PrintBytes(&buf[4 + 0 * n], (long)n,"Shift keycodes");
X	PrintBytes(&buf[4 + 1 * n], (long)n,"Lock keycodes");
X	PrintBytes(&buf[4 + 2 * n], (long)n,"Control keycodes");
X	PrintBytes(&buf[4 + 3 * n], (long)n,"Mod1 keycodes");
X	PrintBytes(&buf[4 + 4 * n], (long)n,"Mod2 keycodes");
X	PrintBytes(&buf[4 + 5 * n], (long)n,"Mod3 keycodes");
X	PrintBytes(&buf[4 + 6 * n], (long)n,"Mod4 keycodes");
X	PrintBytes(&buf[4 + 7 * n], (long)n,"Mod5 keycodes");
X}
X
XGlobal void
XSetModifierMappingReply(buf)
X		unsigned char *buf;
X{
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* SetModifierMapping */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, RSTATUS, "status");
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, CONST4(0), "reply length");
X}
X
XGlobal void
XGetModifierMapping(buf)
X		unsigned char *buf;
X{
X	/* Request GetModifierMapping is opcode 119 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetModifierMapping */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(1), "request length");
X}
X
XGlobal void
XGetModifierMappingReply(buf)
X		unsigned char *buf;
X{
X	short   n;
X	PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetModifierMapping */ ;
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 1, 1, DVALUE1(n), "keycodes-per-modifier");
X	n = IByte(&buf[1]);
X	printfield(buf, 2, 2, CARD16, "sequence number");
X	printfield(buf, 4, 4, DVALUE4(2*n), "reply length");
X	PrintList(&buf[32], (long)n, KEYCODE, "keycodes");
X}
X
XGlobal void
XNoOperation(buf)
X		unsigned char *buf;
X{
X	/* Request NoOperation is opcode 127 */
X	PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* NoOperation */ ;
X	if (CurrentVerbose < 2)
X		return;
X	if (CurrentVerbose > 2)
X		PrintField(SBf, 0, 4, INT32, "sequence number");
X
X	printfield(buf, 2, 2, CONST2(1), "request length");
X}
X
Xstatic void
XPrintFailedSetUpReply(buf)
X		unsigned char *buf;
X{
X	short   n;
X
X	PrintField(buf, 0, 1, 0, "SetUp Failed");
X	if (CurrentVerbose < 2)
X		return;
X	printfield(buf, 1, 1, DVALUE1(n), "length of reason in bytes");
X	n = IByte(&buf[1]);
X	PrintField(buf, 2, 2, CARD16, "major-version");
X	PrintField(buf, 4, 2, CARD16, "minor-version");
X	printfield(buf, 6, 2, DVALUE2((n + p) / 4), "length of data");
X	PrintString8(&buf[8], n, "reason");
X}
X
Xstatic void
XPrintSuccessfulSetUpReply(buf)
X		unsigned char *buf;
X{
X	short   v;
X	short   n;
X	short   m;
X
X	if (CurrentVerbose < 2)
X		return;
X	PrintField(buf, 2, 2, CARD16, "protocol-major-version");
X	PrintField(buf, 4, 2, CARD16, "protocol-minor-version");
X	printfield(buf, 6, 2, DVALUE2(8 + 2*n + (v+p+m) / 4), "length of data");
X	PrintField(buf, 8, 4, CARD32, "release-number");
X	PrintField(buf, 12, 4, CARD32, "resource-id-base");
X	PrintField(buf, 16, 4, CARD32, "resource-id-mask");
X	PrintField(buf, 20, 4, CARD32, "motion-buffer-size");
X	printfield(buf, 24, 2, DVALUE2(v), "length of vendor");
X	v = IShort(&buf[24]);
X	printfield(buf, 26, 2, CARD16, "maximum-request-length");
X	printfield(buf, 28, 1, CARD8, "number of roots");
X	m = IByte(&buf[28]);
X	printfield(buf, 29, 1, DVALUE1(n), "number of pixmap-formats");
X	n = IByte(&buf[29]);
X	PrintField(buf, 30, 1, BYTEORDER, "image-byte-order");
X	PrintField(buf, 31, 1, BYTEORDER, "bitmap-format-bit-order");
X	PrintField(buf, 32, 1, CARD8, "bitmap-format-scanline-unit");
X	PrintField(buf, 33, 1, CARD8, "bitmap-format-scanline-pad");
X	PrintField(buf, 34, 1, KEYCODE, "min-keycode");
X	PrintField(buf, 35, 1, KEYCODE, "max-keycode");
X	PrintString8(&buf[40], v, "vendor");
X	PrintList(&buf[pad((long)(40 + v))], (long)n, FORMAT, "pixmap-formats");
X	PrintList(&buf[pad((long)(40 + v) + 8 * n)], (long)m, SCREEN, "roots");
X}
SHAR_EOF
$TOUCH -am 0903162990 print11.c &&
chmod 0664 print11.c ||
echo "restore of print11.c failed"
set `wc -c print11.c`;Wc_c=$1
if test "$Wc_c" != "105346"; then
	echo original size 105346, current size $Wc_c
fi
fi
echo "End of part 2, continue with part 3"
exit 0

                    Greg McFarlane
                    |||| OTC ||

                ACSnet:  gregm@otc.otca.oz.au
                  UUCP:  {uunet,mcvax}!otc.otca.oz.au!gregm
                 Snail:  GPO Box 7000, Sydney 2001, Australia
                 Phone:  +61 2 287 4104    Fax: +61 2 287 4990

dan
----------------------------------------------------
O'Reilly && Associates   argv@sun.com / argv@ora.com
Opinions expressed reflect those of the author only.