Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!sun-barr!newstop!sun!otc.otca.oz.au From: gregm@otc.otca.oz.au (Greg McFarlane) Newsgroups: comp.sources.x Subject: v09i016: Xmon - X protocol monitor, Part02/05 Message-ID: <141779@sun.Eng.Sun.COM> Date: 4 Sep 90 18:46:31 GMT Sender: news@sun.Eng.Sun.COM Lines: 3781 Approved: argv@sun.com Submitted-by: Greg McFarlane 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.