home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / vmsnet / sources / 352 < prev    next >
Encoding:
Internet Message Format  |  1992-09-04  |  47.6 KB

  1. Path: sparky!uunet!elroy.jpl.nasa.gov!ames!network.ucsd.edu!mvb.saic.com!vmsnet-sources
  2. From: mahan@tgv.com (Patrick L. Mahan - TGV Window Washer)
  3. Newsgroups: vmsnet.sources
  4. Subject: XSCOPE/VMS 1.0, part 05/08
  5. Message-ID: <8045408@MVB.SAIC.COM>
  6. Date: Fri, 04 Sep 1992 05:34:28 GMT
  7. Reply-To: mahan@tgv.com
  8. Organization: TGV Incorporated (Tech Support) in Santa Cruz, CA
  9. Lines: 1625
  10. Approved: Mark.Berryman@Mvb.Saic.Com
  11.  
  12. Submitted-by: mahan@tgv.com (Patrick L. Mahan - TGV Window Washer)
  13. Posting-number: Volume 3, Issue 157
  14. Archive-name: xscope/part05
  15.  
  16.  
  17. -+-+-+-+-+-+-+-+ START OF PART 5 -+-+-+-+-+-+-+-+
  18. X`7D
  19. X
  20. XCopyArea(buf)
  21. X     unsigned char *buf;
  22. X`7B
  23. X  /* Request CopyArea is opcode 62 */
  24. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CopyArea */ ;
  25. X  if (Verbose < 1)
  26. X    return;
  27. X  if (Verbose > 1)
  28. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  29. X
  30. X  printfield(buf, 2, 2, CONST2(7), "request length");
  31. X  PrintField(buf, 4, 4, DRAWABLE, "src-drawable");
  32. X  PrintField(buf, 8, 4, DRAWABLE, "dst-drawable");
  33. X  PrintField(buf, 12, 4, GCONTEXT, "gc");
  34. X  PrintField(buf, 16, 2, INT16, "src-x");
  35. X  PrintField(buf, 18, 2, INT16, "src-y");
  36. X  PrintField(buf, 20, 2, INT16, "dst-x");
  37. X  PrintField(buf, 22, 2, INT16, "dst-y");
  38. X  PrintField(buf, 24, 2, CARD16, "width");
  39. X  PrintField(buf, 26, 2, CARD16, "height");
  40. X`7D
  41. X
  42. XCopyPlane(buf)
  43. X     unsigned char *buf;
  44. X`7B
  45. X  /* Request CopyPlane is opcode 63 */
  46. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CopyPlane */ ;
  47. X  if (Verbose < 1)
  48. X    return;
  49. X  if (Verbose > 1)
  50. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  51. X
  52. X  printfield(buf, 2, 2, CONST2(8), "request length");
  53. X  PrintField(buf, 4, 4, DRAWABLE, "src-drawable");
  54. X  PrintField(buf, 8, 4, DRAWABLE, "dst-drawable");
  55. X  PrintField(buf, 12, 4, GCONTEXT, "gc");
  56. X  PrintField(buf, 16, 2, INT16, "src-x");
  57. X  PrintField(buf, 18, 2, INT16, "src-y");
  58. X  PrintField(buf, 20, 2, INT16, "dst-x");
  59. X  PrintField(buf, 22, 2, INT16, "dst-y");
  60. X  PrintField(buf, 24, 2, CARD16, "width");
  61. X  PrintField(buf, 26, 2, CARD16, "height");
  62. X  PrintField(buf, 28, 4, CARD32, "bit-plane");
  63. X`7D
  64. X
  65. XPolyPoint(buf)
  66. X     unsigned char *buf;
  67. X`7B
  68. X  short   n;
  69. X  /* Request PolyPoint is opcode 64 */
  70. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolyPoint */ ;
  71. X  if (Verbose < 1)
  72. X    return;
  73. X  if (Verbose > 1)
  74. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  75. X
  76. X  PrintField(buf, 1, 1, COORMODE, "coordinate-mode");
  77. X  printfield(buf, 2, 2, DVALUE2(3 + n), "request length");
  78. X  n = (IShort(&buf`5B2`5D) - 3);
  79. X  PrintField(buf, 4, 4, DRAWABLE, "drawable");
  80. X  PrintField(buf, 8, 4, GCONTEXT, "gc");
  81. X  PrintList(&buf`5B12`5D, (long)n, POINT, "points");
  82. X`7D
  83. X
  84. XPolyLine(buf)
  85. X     unsigned char *buf;
  86. X`7B
  87. X  short   n;
  88. X  /* Request PolyLine is opcode 65 */
  89. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolyLine */ ;
  90. X  if (Verbose < 1)
  91. X    return;
  92. X  if (Verbose > 1)
  93. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  94. X
  95. X  PrintField(buf, 1, 1, COORMODE, "coordinate-mode");
  96. X  printfield(buf, 2, 2, DVALUE2(3 + n), "request length");
  97. X  n = (IShort(&buf`5B2`5D) - 3);
  98. X  PrintField(buf, 4, 4, DRAWABLE, "drawable");
  99. X  PrintField(buf, 8, 4, GCONTEXT, "gc");
  100. X  PrintList(&buf`5B12`5D, (long)n, POINT, "points");
  101. X`7D
  102. X
  103. XPolySegment(buf)
  104. X     unsigned char *buf;
  105. X`7B
  106. X  short   n;
  107. X  /* Request PolySegment is opcode 66 */
  108. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolySegment */ ;
  109. X  if (Verbose < 1)
  110. X    return;
  111. X  if (Verbose > 1)
  112. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  113. X
  114. X  printfield(buf, 2, 2, DVALUE2(3 + 2*n), "request length");
  115. X  n = (IShort(&buf`5B2`5D) - 3) / 2;
  116. X  PrintField(buf, 4, 4, DRAWABLE, "drawable");
  117. X  PrintField(buf, 8, 4, GCONTEXT, "gc");
  118. X  PrintList(&buf`5B12`5D, (long)n, SEGMENT, "segments");
  119. X`7D
  120. X
  121. XPolyRectangle(buf)
  122. X     unsigned char *buf;
  123. X`7B
  124. X  short   n;
  125. X  /* Request PolyRectangle is opcode 67 */
  126. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolyRectangle */ ;
  127. X  if (Verbose < 1)
  128. X    return;
  129. X  if (Verbose > 1)
  130. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  131. X
  132. X  printfield(buf, 2, 2, DVALUE2(3 + 2*n), "request length");
  133. X  n = (IShort(&buf`5B2`5D) - 3) / 2;
  134. X  PrintField(buf, 4, 4, DRAWABLE, "drawable");
  135. X  PrintField(buf, 8, 4, GCONTEXT, "gc");
  136. X  PrintList(&buf`5B12`5D, (long)n, RECTANGLE, "rectangles");
  137. X`7D
  138. X
  139. XPolyArc(buf)
  140. X     unsigned char *buf;
  141. X`7B
  142. X  short   n;
  143. X  /* Request PolyArc is opcode 68 */
  144. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolyArc */ ;
  145. X  if (Verbose < 1)
  146. X    return;
  147. X  if (Verbose > 1)
  148. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  149. X
  150. X  printfield(buf, 2, 2, DVALUE2(3 + 3*n), "request length");
  151. X  n = (IShort(&buf`5B2`5D) - 3) / 3;
  152. X  PrintField(buf, 4, 4, DRAWABLE, "drawable");
  153. X  PrintField(buf, 8, 4, GCONTEXT, "gc");
  154. X  PrintList(&buf`5B12`5D, (long)n, ARC, "arcs");
  155. X`7D
  156. X
  157. XFillPoly(buf)
  158. X     unsigned char *buf;
  159. X`7B
  160. X  short   n;
  161. X  /* Request FillPoly is opcode 69 */
  162. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* FillPoly */ ;
  163. X  if (Verbose < 1)
  164. X    return;
  165. X  if (Verbose > 1)
  166. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  167. X
  168. X  printfield(buf, 2, 2, DVALUE2(4 + n), "request length");
  169. X  n = (IShort(&buf`5B2`5D) - 4);
  170. X  PrintField(buf, 4, 4, DRAWABLE, "drawable");
  171. X  PrintField(buf, 8, 4, GCONTEXT, "gc");
  172. X  PrintField(buf, 12, 1, POLYSHAPE, "shape");
  173. X  PrintField(buf, 13, 1, COORMODE, "coordinate-mode");
  174. X  PrintList(&buf`5B16`5D, (long)n, POINT, "points");
  175. X`7D
  176. X
  177. XPolyFillRectangle(buf)
  178. X     unsigned char *buf;
  179. X`7B
  180. X  short   n;
  181. X  /* Request PolyFillRectangle is opcode 70 */
  182. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolyFillRectangle */ ;
  183. X  if (Verbose < 1)
  184. X    return;
  185. X  if (Verbose > 1)
  186. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  187. X
  188. X  printfield(buf, 2, 2, DVALUE2(3 + 2*n), "request length");
  189. X  n = (IShort(&buf`5B2`5D) - 3) / 2;
  190. X  PrintField(buf, 4, 4, DRAWABLE, "drawable");
  191. X  PrintField(buf, 8, 4, GCONTEXT, "gc");
  192. X  PrintList(&buf`5B12`5D, (long)n, RECTANGLE, "rectangles");
  193. X`7D
  194. X
  195. XPolyFillArc(buf)
  196. X     unsigned char *buf;
  197. X`7B
  198. X  short   n;
  199. X  /* Request PolyFillArc is opcode 71 */
  200. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolyFillArc */ ;
  201. X  if (Verbose < 1)
  202. X    return;
  203. X  if (Verbose > 1)
  204. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  205. X
  206. X  printfield(buf, 2, 2, DVALUE2(3 + 3*n), "request length");
  207. X  n = (IShort(&buf`5B2`5D) - 3) / 3;
  208. X  PrintField(buf, 4, 4, DRAWABLE, "drawable");
  209. X  PrintField(buf, 8, 4, GCONTEXT, "gc");
  210. X  PrintList(&buf`5B12`5D, (long)n, ARC, "arcs");
  211. X`7D
  212. X
  213. XPutImage(buf)
  214. X     unsigned char *buf;
  215. X`7B
  216. X  short   n;
  217. X  /* Request PutImage is opcode 72 */
  218. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PutImage */ ;
  219. X  if (Verbose < 1)
  220. X    return;
  221. X  if (Verbose > 1)
  222. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  223. X
  224. X  PrintField(buf, 1, 1, IMAGEMODE, "format");
  225. X  printfield(buf, 2, 2, DVALUE2(6 + (n + p) / 4), "request length");
  226. X
  227. X  /* the size of the Image is overestimated by the following computation of
  228. V n,
  229. X     because we ignore that padding of the request to a multiple of 4 bytes.
  230. X     The image may not be a multiple of 4 bytes.  The actual size of the ima
  231. Vge
  232. X     is determined as follows: for format = Bitmap or format = XYPixmap, the
  233. X     size is (left-pad + width) `5B pad to multiple of bitmap-scanline-pad f
  234. Vrom
  235. X     SetUpReply `5D divide by 8 to get bytes times height times depth for fo
  236. Vrmat
  237. X     = ZPixmap, take the depth and use it to find the bits-per-pixel and
  238. X     scanline-pad given in one of the SetUpReply DEPTH records. width *
  239. X     bits-per-pixel pad to multiple of scanline-pad divide by 8 to get bytes
  240. X     times height times depth For simplicity, we ignore all this and just us
  241. Ve
  242. X     the request length to (over)estimate the size of the image */
  243. X
  244. X  n = (IShort(&buf`5B2`5D) - 6) * 4;
  245. X  PrintField(buf, 4, 4, DRAWABLE, "drawable");
  246. X  PrintField(buf, 8, 4, GCONTEXT, "gc");
  247. X  PrintField(buf, 12, 2, CARD16, "width");
  248. X  PrintField(buf, 14, 2, CARD16, "height");
  249. X  PrintField(buf, 16, 2, INT16, "dst-x");
  250. X  PrintField(buf, 18, 2, INT16, "dst-y");
  251. X  PrintField(buf, 20, 1, CARD8, "left-pad");
  252. X  PrintField(buf, 21, 1, CARD8, "depth");
  253. X  PrintBytes(&buf`5B24`5D, (long)n, "data");
  254. X`7D
  255. X
  256. XGetImage(buf)
  257. X     unsigned char *buf;
  258. X`7B
  259. X  /* Request GetImage is opcode 73 */
  260. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetImage */ ;
  261. X  if (Verbose < 1)
  262. X    return;
  263. X  if (Verbose > 1)
  264. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  265. X
  266. X  PrintField(buf, 1, 1, IMAGEMODE, "format");
  267. X  printfield(buf, 2, 2, CONST2(5), "request length");
  268. X  PrintField(buf, 4, 4, DRAWABLE, "drawable");
  269. X  PrintField(buf, 8, 2, INT16, "x");
  270. X  PrintField(buf, 10, 2, INT16, "y");
  271. X  PrintField(buf, 12, 2, CARD16, "width");
  272. X  PrintField(buf, 14, 2, CARD16, "height");
  273. X  PrintField(buf, 16, 4, CARD32, "plane-mask");
  274. X`7D
  275. X
  276. XGetImageReply(buf)
  277. X     unsigned char *buf;
  278. X`7B
  279. X  long    n;
  280. X
  281. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetImage */ ;
  282. X  if (Verbose < 1)
  283. X    return;
  284. X  PrintField(buf, 1, 1, CARD8, "depth");
  285. X  printfield(buf, 2, 2, CARD16, "sequence number");
  286. X  printfield(buf, 4, 4, DVALUE4((n + p) / 4), "reply length");
  287. X
  288. X  /* to properly compute the actual size of the image, we have to remember t
  289. Vhe
  290. X     width and height values from the request.  Again, we (over)estimate its
  291. X     length from the length of the reply */
  292. X  n = ILong(&buf`5B4`5D) * 4;
  293. X  PrintField(buf, 8, 4, VISUALID, "visual");
  294. X  PrintBytes(&buf`5B32`5D, n, "data");
  295. X`7D
  296. X
  297. XPolyText8(buf)
  298. X     unsigned char *buf;
  299. X`7B
  300. X  short   n;
  301. X
  302. X  /* Request PolyText8 is opcode 74 */
  303. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolyText8 */ ;
  304. X  if (Verbose < 1)
  305. X    return;
  306. X  if (Verbose > 1)
  307. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  308. X
  309. X  printfield(buf, 2, 2, DVALUE2(4 + (n + p) / 4), "request length");
  310. X  n = (IShort(&buf`5B2`5D) - 4) * 4;
  311. X  PrintField(buf, 4, 4, DRAWABLE, "drawable");
  312. X  PrintField(buf, 8, 4, GCONTEXT, "gc");
  313. X  PrintField(buf, 12, 2, INT16, "x");
  314. X  PrintField(buf, 14, 2, INT16, "y");
  315. X  PrintTextList8(&buf`5B16`5D, n, "items");
  316. X`7D
  317. X
  318. XPolyText16(buf)
  319. X     unsigned char *buf;
  320. X`7B
  321. X  short   n;
  322. X
  323. X  /* Request PolyText16 is opcode 75 */
  324. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* PolyText16 */ ;
  325. X  if (Verbose < 1)
  326. X    return;
  327. X  if (Verbose > 1)
  328. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  329. X
  330. X  printfield(buf, 2, 2, DVALUE2(4 + (n + p) / 4), "request length");
  331. X  n = (IShort(&buf`5B2`5D) - 4) * 4;
  332. X  PrintField(buf, 4, 4, DRAWABLE, "drawable");
  333. X  PrintField(buf, 8, 4, GCONTEXT, "gc");
  334. X  PrintField(buf, 12, 2, INT16, "x");
  335. X  PrintField(buf, 14, 2, INT16, "y");
  336. X  PrintTextList16(&buf`5B16`5D, n, "items");
  337. X`7D
  338. X
  339. XImageText8(buf)
  340. X     unsigned char *buf;
  341. X`7B
  342. X  short   n;
  343. X  /* Request ImageText8 is opcode 76 */
  344. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ImageText8 */ ;
  345. X  if (Verbose < 1)
  346. X    return;
  347. X  if (Verbose > 1)
  348. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  349. X
  350. X  printfield(buf, 1, 1, DVALUE1(n), "length of string");
  351. X  n = IByte(&buf`5B1`5D);
  352. X  printfield(buf, 2, 2, DVALUE2(4 + (n + p) / 4), "request length");
  353. X  PrintField(buf, 4, 4, DRAWABLE, "drawable");
  354. X  PrintField(buf, 8, 4, GCONTEXT, "gc");
  355. X  PrintField(buf, 12, 2, INT16, "x");
  356. X  PrintField(buf, 14, 2, INT16, "y");
  357. X  PrintString8(&buf`5B16`5D, n, "string");
  358. X`7D
  359. X
  360. XImageText16(buf)
  361. X     unsigned char *buf;
  362. X`7B
  363. X  short   n;
  364. X  /* Request ImageText16 is opcode 77 */
  365. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ImageText16 */ ;
  366. X  if (Verbose < 1)
  367. X    return;
  368. X  if (Verbose > 1)
  369. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  370. X
  371. X  printfield(buf, 1, 1, DVALUE1(n), "length of string");
  372. X  n = IByte(&buf`5B1`5D);
  373. X  printfield(buf, 2, 2, DVALUE2(4 + (2*n + p) / 4), "request length");
  374. X  PrintField(buf, 4, 4, DRAWABLE, "drawable");
  375. X  PrintField(buf, 8, 4, GCONTEXT, "gc");
  376. X  PrintField(buf, 12, 2, INT16, "x");
  377. X  PrintField(buf, 14, 2, INT16, "y");
  378. X  PrintString16(&buf`5B16`5D, n, "string");
  379. X`7D
  380. X
  381. XCreateColormap(buf)
  382. X     unsigned char *buf;
  383. X`7B
  384. X  /* Request CreateColormap is opcode 78 */
  385. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CreateColormap */ ;
  386. X  if (Verbose < 1)
  387. X    return;
  388. X  if (Verbose > 1)
  389. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  390. X
  391. X  PrintField(buf, 1, 1, ALLORNONE, "alloc");
  392. X  printfield(buf, 2, 2, CONST2(4), "request length");
  393. X  PrintField(buf, 4, 4, COLORMAP, "color-map-id");
  394. X  PrintField(buf, 8, 4, WINDOW, "window");
  395. X  PrintField(buf, 12, 4, VISUALID, "visual");
  396. X`7D
  397. X
  398. XFreeColormap(buf)
  399. X     unsigned char *buf;
  400. X`7B
  401. X  /* Request FreeColormap is opcode 79 */
  402. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* FreeColormap */ ;
  403. X  if (Verbose < 1)
  404. X    return;
  405. X  if (Verbose > 1)
  406. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  407. X
  408. X  printfield(buf, 2, 2, CONST2(2), "request length");
  409. X  PrintField(buf, 4, 4, COLORMAP, "cmap");
  410. X`7D
  411. X
  412. XCopyColormapAndFree(buf)
  413. X     unsigned char *buf;
  414. X`7B
  415. X  /* Request CopyColormapAndFree is opcode 80 */
  416. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CopyColormapAndFree */ ;
  417. X  if (Verbose < 1)
  418. X    return;
  419. X  if (Verbose > 1)
  420. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  421. X
  422. X  printfield(buf, 2, 2, CONST2(3), "request length");
  423. X  PrintField(buf, 4, 4, COLORMAP, "color-map-id");
  424. X  PrintField(buf, 8, 4, COLORMAP, "src-cmap");
  425. X`7D
  426. X
  427. XInstallColormap(buf)
  428. X     unsigned char *buf;
  429. X`7B
  430. X  /* Request InstallColormap is opcode 81 */
  431. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* InstallColormap */ ;
  432. X  if (Verbose < 1)
  433. X    return;
  434. X  if (Verbose > 1)
  435. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  436. X
  437. X  printfield(buf, 2, 2, CONST2(2), "request length");
  438. X  PrintField(buf, 4, 4, COLORMAP, "cmap");
  439. X`7D
  440. X
  441. XUninstallColormap(buf)
  442. X     unsigned char *buf;
  443. X`7B
  444. X  /* Request UninstallColormap is opcode 82 */
  445. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* UninstallColormap */ ;
  446. X  if (Verbose < 1)
  447. X    return;
  448. X  if (Verbose > 1)
  449. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  450. X
  451. X  printfield(buf, 2, 2, CONST2(2), "request length");
  452. X  PrintField(buf, 4, 4, COLORMAP, "cmap");
  453. X`7D
  454. X
  455. XListInstalledColormaps(buf)
  456. X     unsigned char *buf;
  457. X`7B
  458. X  /* Request ListInstalledColormaps is opcode 83 */
  459. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ListInstalledColormaps */
  460. V ;
  461. X  if (Verbose < 1)
  462. X    return;
  463. X  if (Verbose > 1)
  464. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  465. X
  466. X  printfield(buf, 2, 2, CONST2(2), "request length");
  467. X  PrintField(buf, 4, 4, WINDOW, "window");
  468. X`7D
  469. X
  470. XListInstalledColormapsReply(buf)
  471. X     unsigned char *buf;
  472. X`7B
  473. X  short   n;
  474. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* ListInstalledColormaps */ ;
  475. X  if (Verbose < 1)
  476. X    return;
  477. X  printfield(buf, 2, 2, CARD16, "sequence number");
  478. X  printfield(buf, 4, 4, DVALUE4(n), "reply length");
  479. X  printfield(buf, 8, 2, DVALUE2(n), "number of cmaps");
  480. X  n = IShort(&buf`5B8`5D);
  481. X  PrintList(&buf`5B32`5D, (long)n, COLORMAP, "cmaps");
  482. X`7D
  483. X
  484. XAllocColor(buf)
  485. X     unsigned char *buf;
  486. X`7B
  487. X  /* Request AllocColor is opcode 84 */
  488. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* AllocColor */ ;
  489. X  if (Verbose < 1)
  490. X    return;
  491. X  if (Verbose > 1)
  492. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  493. X
  494. X  printfield(buf, 2, 2, CONST2(4), "request length");
  495. X  PrintField(buf, 4, 4, COLORMAP, "cmap");
  496. X  PrintField(buf, 8, 2, CARD16, "red");
  497. X  PrintField(buf, 10, 2, CARD16, "green");
  498. X  PrintField(buf, 12, 2, CARD16, "blue");
  499. X`7D
  500. X
  501. XAllocColorReply(buf)
  502. X     unsigned char *buf;
  503. X`7B
  504. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* AllocColor */ ;
  505. X  if (Verbose < 1)
  506. X    return;
  507. X  printfield(buf, 2, 2, CARD16, "sequence number");
  508. X  printfield(buf, 4, 4, CONST4(0), "reply length");
  509. X  PrintField(buf, 8, 2, CARD16, "red");
  510. X  PrintField(buf, 10, 2, CARD16, "green");
  511. X  PrintField(buf, 12, 2, CARD16, "blue");
  512. X  PrintField(buf, 16, 4, CARD32, "pixel");
  513. X`7D
  514. X
  515. XAllocNamedColor(buf)
  516. X     unsigned char *buf;
  517. X`7B
  518. X  short   n;
  519. X  /* Request AllocNamedColor is opcode 85 */
  520. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* AllocNamedColor */ ;
  521. X  if (Verbose < 1)
  522. X    return;
  523. X  if (Verbose > 1)
  524. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  525. X
  526. X  printfield(buf, 2, 2, DVALUE2(3 + (n + p) / 4), "request length");
  527. X  PrintField(buf, 4, 4, COLORMAP, "cmap");
  528. X  printfield(buf, 8, 2, DVALUE2(n), "length of name");
  529. X  n = IShort(&buf`5B8`5D);
  530. X  PrintString8(&buf`5B12`5D, n, "name");
  531. X`7D
  532. X
  533. XAllocNamedColorReply(buf)
  534. X     unsigned char *buf;
  535. X`7B
  536. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* AllocNamedColor */ ;
  537. X  if (Verbose < 1)
  538. X    return;
  539. X  printfield(buf, 2, 2, CARD16, "sequence number");
  540. X  printfield(buf, 4, 4, CONST4(0), "reply length");
  541. X  PrintField(buf, 8, 4, CARD32, "pixel");
  542. X  PrintField(buf, 12, 2, CARD16, "exact-red");
  543. X  PrintField(buf, 14, 2, CARD16, "exact-green");
  544. X  PrintField(buf, 16, 2, CARD16, "exact-blue");
  545. X  PrintField(buf, 18, 2, CARD16, "visual-red");
  546. X  PrintField(buf, 20, 2, CARD16, "visual-green");
  547. X  PrintField(buf, 22, 2, CARD16, "visual-blue");
  548. X`7D
  549. X
  550. XAllocColorCells(buf)
  551. X     unsigned char *buf;
  552. X`7B
  553. X  /* Request AllocColorCells is opcode 86 */
  554. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* AllocColorCells */ ;
  555. X  if (Verbose < 1)
  556. X    return;
  557. X  if (Verbose > 1)
  558. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  559. X
  560. X  PrintField(buf, 1, 1, BOOL, "contiguous");
  561. X  printfield(buf, 2, 2, CONST2(3), "request length");
  562. X  PrintField(buf, 4, 4, COLORMAP, "cmap");
  563. X  PrintField(buf, 8, 2, CARD16, "colors");
  564. X  PrintField(buf, 10, 2, CARD16, "planes");
  565. X`7D
  566. X
  567. XAllocColorCellsReply(buf)
  568. X     unsigned char *buf;
  569. X`7B
  570. X  short   n;
  571. X  short   m;
  572. X  short   k;
  573. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* AllocColorCells */ ;
  574. X  if (Verbose < 1)
  575. X    return;
  576. X  printfield(buf, 2, 2, CARD16, "sequence number");
  577. X  printfield(buf, 4, 4, DVALUE4(n + m), "reply length");
  578. X  printfield(buf, 8, 2, DVALUE2(n), "number of pixels");
  579. X  n = IShort(&buf`5B8`5D);
  580. X  printfield(buf, 10, 2, DVALUE2(m), "number of masks");
  581. X  m = IShort(&buf`5B10`5D);
  582. X  k = PrintList(&buf`5B32`5D, (long)n, CARD32, "pixels");
  583. X  PrintList(&buf`5B32 + k`5D, (long)m, CARD32, "masks");
  584. X`7D
  585. X
  586. XAllocColorPlanes(buf)
  587. X     unsigned char *buf;
  588. X`7B
  589. X  /* Request AllocColorPlanes is opcode 87 */
  590. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* AllocColorPlanes */ ;
  591. X  if (Verbose < 1)
  592. X    return;
  593. X  if (Verbose > 1)
  594. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  595. X
  596. X  PrintField(buf, 1, 1, BOOL, "contiguous");
  597. X  printfield(buf, 2, 2, CONST2(4), "request length");
  598. X  PrintField(buf, 4, 4, COLORMAP, "cmap");
  599. X  PrintField(buf, 8, 2, CARD16, "colors");
  600. X  PrintField(buf, 10, 2, CARD16, "reds");
  601. X  PrintField(buf, 12, 2, CARD16, "greens");
  602. X  PrintField(buf, 14, 2, CARD16, "blues");
  603. X`7D
  604. X
  605. XAllocColorPlanesReply(buf)
  606. X     unsigned char *buf;
  607. X`7B
  608. X  short   n;
  609. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* AllocColorPlanes */ ;
  610. X  if (Verbose < 1)
  611. X    return;
  612. X  printfield(buf, 2, 2, CARD16, "sequence number");
  613. X  printfield(buf, 4, 4, DVALUE4(n), "reply length");
  614. X  printfield(buf, 8, 2, DVALUE2(n), "number of pixels");
  615. X  n = IShort(&buf`5B8`5D);
  616. X  PrintField(buf, 12, 4, CARD32, "red-mask");
  617. X  PrintField(buf, 16, 4, CARD32, "green-mask");
  618. X  PrintField(buf, 20, 4, CARD32, "blue-mask");
  619. X  PrintList(&buf`5B32`5D, (long)n, CARD32, "pixels");
  620. X`7D
  621. X
  622. XFreeColors(buf)
  623. X     unsigned char *buf;
  624. X`7B
  625. X  short   n;
  626. X
  627. X  /* Request FreeColors is opcode 88 */
  628. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* FreeColors */ ;
  629. X  if (Verbose < 1)
  630. X    return;
  631. X  if (Verbose > 1)
  632. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  633. X
  634. X  printfield(buf, 2, 2, DVALUE2(3 + n), "request length");
  635. X  n = IShort(&buf`5B2`5D) - 3;
  636. X  PrintField(buf, 4, 4, COLORMAP, "cmap");
  637. X  PrintField(buf, 8, 4, CARD32, "plane-mask");
  638. X  PrintList(&buf`5B12`5D, (long)n, CARD32, "pixels");
  639. X`7D
  640. X
  641. XStoreColors(buf)
  642. X     unsigned char *buf;
  643. X`7B
  644. X  short   n;
  645. X  /* Request StoreColors is opcode 89 */
  646. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* StoreColors */ ;
  647. X  if (Verbose < 1)
  648. X    return;
  649. X  if (Verbose > 1)
  650. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  651. X
  652. X  printfield(buf, 2, 2, DVALUE2(2 + 3*n), "request length");
  653. X  n = (IShort(&buf`5B2`5D) - 2) / 3;
  654. X  PrintField(buf, 4, 4, COLORMAP, "cmap");
  655. X  PrintList(&buf`5B8`5D, (long)n, COLORITEM, "items");
  656. X`7D
  657. X
  658. XStoreNamedColor(buf)
  659. X     unsigned char *buf;
  660. X`7B
  661. X  short   n;
  662. X  /* Request StoreNamedColor is opcode 90 */
  663. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* StoreNamedColor */ ;
  664. X  if (Verbose < 1)
  665. X    return;
  666. X  if (Verbose > 1)
  667. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  668. X
  669. X  PrintField(buf, 1, 1, COLORMASK, "which colors?");
  670. X  printfield(buf, 2, 2, DVALUE2(4 + (n + p) / 4), "request length");
  671. X  PrintField(buf, 4, 4, COLORMAP, "cmap");
  672. X  PrintField(buf, 8, 4, CARD32, "pixel");
  673. X  printfield(buf, 12, 2, DVALUE2(n), "length of name");
  674. X  n = IShort(&buf`5B12`5D);
  675. X  PrintString8(&buf`5B16`5D, n, "name");
  676. X`7D
  677. X
  678. XQueryColors(buf)
  679. X     unsigned char *buf;
  680. X`7B
  681. X  short   n;
  682. X  /* Request QueryColors is opcode 91 */
  683. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* QueryColors */ ;
  684. X  if (Verbose < 1)
  685. X    return;
  686. X  if (Verbose > 1)
  687. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  688. X
  689. X  printfield(buf, 2, 2, DVALUE2(2 + n), "request length");
  690. X  n = IShort(&buf`5B2`5D) - 2;
  691. X  PrintField(buf, 4, 4, COLORMAP, "cmap");
  692. X  PrintList(&buf`5B8`5D, (long)n, CARD32, "pixels");
  693. X`7D
  694. X
  695. XQueryColorsReply(buf)
  696. X     unsigned char *buf;
  697. X`7B
  698. X  short   n;
  699. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* QueryColors */ ;
  700. X  if (Verbose < 1)
  701. X    return;
  702. X  printfield(buf, 2, 2, CARD16, "sequence number");
  703. X  printfield(buf, 4, 4, DVALUE4(2*n), "reply length");
  704. X  printfield(buf, 8, 2, DVALUE2(n), "number of colors");
  705. X  n = IShort(&buf`5B8`5D);
  706. X  PrintList(&buf`5B32`5D, (long)n, RGB, "colors");
  707. X`7D
  708. X
  709. XLookupColor(buf)
  710. X     unsigned char *buf;
  711. X`7B
  712. X  short   n;
  713. X  /* Request LookupColor is opcode 92 */
  714. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* LookupColor */ ;
  715. X  if (Verbose < 1)
  716. X    return;
  717. X  if (Verbose > 1)
  718. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  719. X
  720. X  printfield(buf, 2, 2, DVALUE2(3 + (n + p) / 4), "request length");
  721. X  PrintField(buf, 4, 4, COLORMAP, "cmap");
  722. X  printfield(buf, 8, 2, DVALUE2(n), "length of name");
  723. X  n = IShort(&buf`5B8`5D);
  724. X  PrintString8(&buf`5B12`5D, n, "name");
  725. X`7D
  726. X
  727. XLookupColorReply(buf)
  728. X     unsigned char *buf;
  729. X`7B
  730. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* LookupColor */ ;
  731. X  if (Verbose < 1)
  732. X    return;
  733. X  printfield(buf, 2, 2, CARD16, "sequence number");
  734. X  printfield(buf, 4, 4, CONST4(0), "reply length");
  735. X  PrintField(buf, 8, 2, CARD16, "exact-red");
  736. X  PrintField(buf, 10, 2, CARD16, "exact-green");
  737. X  PrintField(buf, 12, 2, CARD16, "exact-blue");
  738. X  PrintField(buf, 14, 2, CARD16, "visual-red");
  739. X  PrintField(buf, 16, 2, CARD16, "visual-green");
  740. X  PrintField(buf, 18, 2, CARD16, "visual-blue");
  741. X`7D
  742. X
  743. XCreateCursor(buf)
  744. X     unsigned char *buf;
  745. X`7B
  746. X  /* Request CreateCursor is opcode 93 */
  747. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CreateCursor */ ;
  748. X  if (Verbose < 1)
  749. X    return;
  750. X  if (Verbose > 1)
  751. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  752. X
  753. X  printfield(buf, 2, 2, CONST2(8), "request length");
  754. X  PrintField(buf, 4, 4, CURSOR, "cursor-id");
  755. X  PrintField(buf, 8, 4, PIXMAP, "source");
  756. X  PrintField(buf, 12, 4, PIXMAP, "mask");
  757. X  PrintField(buf, 16, 2, CARD16, "fore-red");
  758. X  PrintField(buf, 18, 2, CARD16, "fore-green");
  759. X  PrintField(buf, 20, 2, CARD16, "fore-blue");
  760. X  PrintField(buf, 22, 2, CARD16, "back-red");
  761. X  PrintField(buf, 24, 2, CARD16, "back-green");
  762. X  PrintField(buf, 26, 2, CARD16, "back-blue");
  763. X  PrintField(buf, 28, 2, CARD16, "x");
  764. X  PrintField(buf, 30, 2, CARD16, "y");
  765. X`7D
  766. X
  767. XCreateGlyphCursor(buf)
  768. X     unsigned char *buf;
  769. X`7B
  770. X  /* Request CreateGlyphCursor is opcode 94 */
  771. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* CreateGlyphCursor */ ;
  772. X  if (Verbose < 1)
  773. X    return;
  774. X  if (Verbose > 1)
  775. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  776. X
  777. X  printfield(buf, 2, 2, CONST2(8), "request length");
  778. X  PrintField(buf, 4, 4, CURSOR, "cursor-id");
  779. X  PrintField(buf, 8, 4, FONT, "source-font");
  780. X  PrintField(buf, 12, 4, FONT, "mask-font");
  781. X  PrintField(buf, 16, 2, CARD16, "source-char");
  782. X  PrintField(buf, 18, 2, CARD16, "mask-char");
  783. X  PrintField(buf, 20, 2, CARD16, "fore-red");
  784. X  PrintField(buf, 22, 2, CARD16, "fore-green");
  785. X  PrintField(buf, 24, 2, CARD16, "fore-blue");
  786. X  PrintField(buf, 26, 2, CARD16, "back-red");
  787. X  PrintField(buf, 28, 2, CARD16, "back-green");
  788. X  PrintField(buf, 30, 2, CARD16, "back-blue");
  789. X`7D
  790. X
  791. XFreeCursor(buf)
  792. X     unsigned char *buf;
  793. X`7B
  794. X  /* Request FreeCursor is opcode 95 */
  795. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* FreeCursor */ ;
  796. X  if (Verbose < 1)
  797. X    return;
  798. X  if (Verbose > 1)
  799. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  800. X
  801. X  printfield(buf, 2, 2, CONST2(2), "request length");
  802. X  PrintField(buf, 4, 4, CURSOR, "cursor");
  803. X`7D
  804. X
  805. XRecolorCursor(buf)
  806. X     unsigned char *buf;
  807. X`7B
  808. X  /* Request RecolorCursor is opcode 96 */
  809. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* RecolorCursor */ ;
  810. X  if (Verbose < 1)
  811. X    return;
  812. X  if (Verbose > 1)
  813. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  814. X
  815. X  printfield(buf, 2, 2, CONST2(5), "request length");
  816. X  PrintField(buf, 4, 4, CURSOR, "cursor");
  817. X  PrintField(buf, 8, 2, CARD16, "fore-red");
  818. X  PrintField(buf, 10, 2, CARD16, "fore-green");
  819. X  PrintField(buf, 12, 2, CARD16, "fore-blue");
  820. X  PrintField(buf, 14, 2, CARD16, "back-red");
  821. X  PrintField(buf, 16, 2, CARD16, "back-green");
  822. X  PrintField(buf, 18, 2, CARD16, "back-blue");
  823. X`7D
  824. X
  825. XQueryBestSize(buf)
  826. X     unsigned char *buf;
  827. X`7B
  828. X  /* Request QueryBestSize is opcode 97 */
  829. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* QueryBestSize */ ;
  830. X  if (Verbose < 1)
  831. X    return;
  832. X  if (Verbose > 1)
  833. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  834. X
  835. X  PrintField(buf, 1, 1, OBJECTCLASS, "class");
  836. X  printfield(buf, 2, 2, CONST2(3), "request length");
  837. X  PrintField(buf, 4, 4, DRAWABLE, "drawable");
  838. X  PrintField(buf, 8, 2, CARD16, "width");
  839. X  PrintField(buf, 10, 2, CARD16, "height");
  840. X`7D
  841. X
  842. XQueryBestSizeReply(buf)
  843. X     unsigned char *buf;
  844. X`7B
  845. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* QueryBestSize */ ;
  846. X  if (Verbose < 1)
  847. X    return;
  848. X  printfield(buf, 2, 2, CARD16, "sequence number");
  849. X  printfield(buf, 4, 4, CONST4(0), "reply length");
  850. X  PrintField(buf, 8, 2, CARD16, "width");
  851. X  PrintField(buf, 10, 2, CARD16, "height");
  852. X`7D
  853. X
  854. XQueryExtension(buf)
  855. X     unsigned char *buf;
  856. X`7B
  857. X  short   n;
  858. X  /* Request QueryExtension is opcode 98 */
  859. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* QueryExtension */ ;
  860. X  if (Verbose < 1)
  861. X    return;
  862. X  if (Verbose > 1)
  863. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  864. X
  865. X  printfield(buf, 2, 2, DVALUE2(2 + (n + p) / 4), "request length");
  866. X  printfield(buf, 4, 2, DVALUE2(n), "length of name");
  867. X  n = IShort(&buf`5B4`5D);
  868. X  PrintString8(&buf`5B8`5D, n, "name");
  869. X`7D
  870. X
  871. XQueryExtensionReply(buf)
  872. X     unsigned char *buf;
  873. X`7B
  874. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* QueryExtension */ ;
  875. X  if (Verbose < 1)
  876. X    return;
  877. X  printfield(buf, 2, 2, CARD16, "sequence number");
  878. X  printfield(buf, 4, 4, CONST4(0), "reply length");
  879. X  PrintField(buf, 8, 1, BOOL, "present");
  880. X  PrintField(buf, 9, 1, CARD8, "major-opcode");
  881. X  PrintField(buf, 10, 1, CARD8, "first-event");
  882. X  PrintField(buf, 11, 1, CARD8, "first-error");
  883. X`7D
  884. X
  885. XListExtensions(buf)
  886. X     unsigned char *buf;
  887. X`7B
  888. X  /* Request ListExtensions is opcode 99 */
  889. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ListExtensions */ ;
  890. X  if (Verbose < 1)
  891. X    return;
  892. X  if (Verbose > 1)
  893. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  894. X
  895. X  printfield(buf, 2, 2, CONST2(1), "request length");
  896. X`7D
  897. X
  898. XListExtensionsReply(buf)
  899. X     unsigned char *buf;
  900. X`7B
  901. X  short   n;
  902. X
  903. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* ListExtensions */ ;
  904. X  if (Verbose < 1)
  905. X    return;
  906. X  printfield(buf, 1, 1, CARD8, "number names");
  907. X  n = IByte(&buf`5B1`5D);
  908. X  printfield(buf, 2, 2, CARD16, "sequence number");
  909. X  printfield(buf, 4, 4, DVALUE4((n + p) / 4), "reply length");
  910. X  PrintListSTR(&buf`5B32`5D, (long)n, "names");
  911. X`7D
  912. X
  913. XChangeKeyboardMapping(buf)
  914. X     unsigned char *buf;
  915. X`7B
  916. X  short   n;
  917. X  short   m;
  918. X  /* Request ChangeKeyboardMapping is opcode 100 */
  919. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ChangeKeyboardMapping */
  920. V ;
  921. X  if (Verbose < 1)
  922. X    return;
  923. X  if (Verbose > 1)
  924. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  925. X
  926. X  PrintField(buf, 1, 1, DVALUE1(n), "keycode-count");
  927. X  n = IByte(&buf`5B1`5D);
  928. X  printfield(buf, 2, 2, DVALUE2(2 + nm), "request length");
  929. X  PrintField(buf, 4, 1, KEYCODE, "first-keycode");
  930. X  PrintField(buf, 5, 1, DVALUE1(m), "keysyms-per-keycode");
  931. X  m = IByte(&buf`5B5`5D);
  932. X  PrintList(&buf`5B8`5D, (long)(n * m), KEYSYM, "keysyms");
  933. X`7D
  934. X
  935. XGetKeyboardMapping(buf)
  936. X     unsigned char *buf;
  937. X`7B
  938. X  /* Request GetKeyboardMapping is opcode 101 */
  939. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetKeyboardMapping */ ;
  940. X  if (Verbose < 1)
  941. X    return;
  942. X  if (Verbose > 1)
  943. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  944. X
  945. X  printfield(buf, 2, 2, CONST2(2), "request length");
  946. X  PrintField(buf, 4, 1, KEYCODE, "first-keycode");
  947. X  PrintField(buf, 5, 1, CARD8, "count");
  948. X`7D
  949. X
  950. XGetKeyboardMappingReply(buf)
  951. X     unsigned char *buf;
  952. X`7B
  953. X  long    n;
  954. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetKeyboardMapping */ ;
  955. X  if (Verbose < 1)
  956. X    return;
  957. X  PrintField(buf, 1, 1, DVALUE1(n), "keysyms-per-keycode");
  958. X  printfield(buf, 2, 2, CARD16, "sequence number");
  959. X  printfield(buf, 4, 4, DVALUE4(n*m), "reply length");
  960. X  n = ILong(&buf`5B4`5D);
  961. X  PrintList(&buf`5B32`5D, n, KEYSYM, "keysyms");
  962. X`7D
  963. X
  964. XChangeKeyboardControl(buf)
  965. X     unsigned char *buf;
  966. X`7B
  967. X  /* Request ChangeKeyboardControl is opcode 102 */
  968. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ChangeKeyboardControl */
  969. V ;
  970. X  if (Verbose < 1)
  971. X    return;
  972. X  if (Verbose > 1)
  973. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  974. X
  975. X  printfield(buf, 2, 2, DVALUE2(2 + n), "request length");
  976. X  PrintField(buf, 4, 4, KEYBOARD_BITMASK, "value-mask");
  977. X  PrintValues(&buf`5B4`5D, 4, KEYBOARD_BITMASK, &buf`5B8`5D, "value-list");
  978. X`7D
  979. X
  980. XGetKeyboardControl(buf)
  981. X     unsigned char *buf;
  982. X`7B
  983. X  /* Request GetKeyboardControl is opcode 103 */
  984. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetKeyboardControl */ ;
  985. X  if (Verbose < 1)
  986. X    return;
  987. X  if (Verbose > 1)
  988. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  989. X
  990. X  printfield(buf, 2, 2, CONST2(1), "request length");
  991. X`7D
  992. X
  993. XGetKeyboardControlReply(buf)
  994. X     unsigned char *buf;
  995. X`7B
  996. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetKeyboardControl */ ;
  997. X  if (Verbose < 1)
  998. X    return;
  999. X  PrintField(buf, 1, 1, OFF_ON, "global-auto-repeat");
  1000. X  printfield(buf, 2, 2, CARD16, "sequence number");
  1001. X  printfield(buf, 4, 4, CONST4(5), "reply length");
  1002. X  PrintField(buf, 8, 4, CARD32, "led-mask");
  1003. X  PrintField(buf, 12, 1, CARD8, "key-click-percent");
  1004. X  PrintField(buf, 13, 1, CARD8, "bell-percent");
  1005. X  PrintField(buf, 14, 2, CARD16, "bell-pitch");
  1006. X  PrintField(buf, 16, 2, CARD16, "bell-duration");
  1007. X  PrintBytes(&buf`5B20`5D, 32L, "auto-repeats");
  1008. X`7D
  1009. X
  1010. XBell(buf)
  1011. X     unsigned char *buf;
  1012. X`7B
  1013. X  /* Request Bell is opcode 104 */
  1014. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* Bell */ ;
  1015. X  if (Verbose < 1)
  1016. X    return;
  1017. X  if (Verbose > 1)
  1018. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1019. X
  1020. X  PrintField(buf, 1, 1, INT8, "percent");
  1021. X  printfield(buf, 2, 2, CONST2(1), "request length");
  1022. X`7D
  1023. X
  1024. XChangePointerControl(buf)
  1025. X     unsigned char *buf;
  1026. X`7B
  1027. X  /* Request ChangePointerControl is opcode 105 */
  1028. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ChangePointerControl */ ;
  1029. X  if (Verbose < 1)
  1030. X    return;
  1031. X  if (Verbose > 1)
  1032. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1033. X
  1034. X  printfield(buf, 2, 2, CONST2(3), "request length");
  1035. X  PrintField(buf, 4, 2, INT16, "acceleration-numerator");
  1036. X  PrintField(buf, 6, 2, INT16, "acceleration-denominator");
  1037. X  PrintField(buf, 8, 2, INT16, "threshold");
  1038. X  PrintField(buf, 10, 1, BOOL, "do-acceleration");
  1039. X  PrintField(buf, 11, 1, BOOL, "do-threshold");
  1040. X`7D
  1041. X
  1042. XGetPointerControl(buf)
  1043. X     unsigned char *buf;
  1044. X`7B
  1045. X  /* Request GetPointerControl is opcode 106 */
  1046. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetPointerControl */ ;
  1047. X  if (Verbose < 1)
  1048. X    return;
  1049. X  if (Verbose > 1)
  1050. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1051. X
  1052. X  printfield(buf, 2, 2, CONST2(1), "request length");
  1053. X`7D
  1054. X
  1055. XGetPointerControlReply(buf)
  1056. X     unsigned char *buf;
  1057. X`7B
  1058. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetPointerControl */ ;
  1059. X  if (Verbose < 1)
  1060. X    return;
  1061. X  printfield(buf, 2, 2, CARD16, "sequence number");
  1062. X  printfield(buf, 4, 4, CONST4(0), "reply length");
  1063. X  PrintField(buf, 8, 2, CARD16, "acceleration-numerator");
  1064. X  PrintField(buf, 10, 2, CARD16, "acceleration-denominator");
  1065. X  PrintField(buf, 12, 2, CARD16, "threshold");
  1066. X`7D
  1067. X
  1068. XSetScreenSaver(buf)
  1069. X     unsigned char *buf;
  1070. X`7B
  1071. X  /* Request SetScreenSaver is opcode 107 */
  1072. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* SetScreenSaver */ ;
  1073. X  if (Verbose < 1)
  1074. X    return;
  1075. X  if (Verbose > 1)
  1076. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1077. X
  1078. X  printfield(buf, 2, 2, CONST2(3), "request length");
  1079. X  PrintField(buf, 4, 2, INT16, "timeout");
  1080. X  PrintField(buf, 6, 2, INT16, "interval");
  1081. X  PrintField(buf, 8, 1, NO_YES, "prefer-blanking");
  1082. X  PrintField(buf, 9, 1, NO_YES, "allow-exposures");
  1083. X`7D
  1084. X
  1085. XGetScreenSaver(buf)
  1086. X     unsigned char *buf;
  1087. X`7B
  1088. X  /* Request GetScreenSaver is opcode 108 */
  1089. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetScreenSaver */ ;
  1090. X  if (Verbose < 1)
  1091. X    return;
  1092. X  if (Verbose > 1)
  1093. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1094. X
  1095. X  printfield(buf, 2, 2, CONST2(1), "request length");
  1096. X`7D
  1097. X
  1098. XGetScreenSaverReply(buf)
  1099. X     unsigned char *buf;
  1100. X`7B
  1101. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetScreenSaver */ ;
  1102. X  if (Verbose < 1)
  1103. X    return;
  1104. X  printfield(buf, 2, 2, CARD16, "sequence number");
  1105. X  printfield(buf, 4, 4, CONST4(0), "reply length");
  1106. X  PrintField(buf, 8, 2, CARD16, "timeout");
  1107. X  PrintField(buf, 10, 2, CARD16, "interval");
  1108. X  PrintField(buf, 12, 1, NO_YES, "prefer-blanking");
  1109. X  PrintField(buf, 13, 1, NO_YES, "allow-exposures");
  1110. X`7D
  1111. X
  1112. XChangeHosts(buf)
  1113. X     unsigned char *buf;
  1114. X`7B
  1115. X  short   n;
  1116. X  /* Request ChangeHosts is opcode 109 */
  1117. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ChangeHosts */ ;
  1118. X  if (Verbose < 1)
  1119. X    return;
  1120. X  if (Verbose > 1)
  1121. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1122. X
  1123. X  PrintField(buf, 1, 1, INS_DEL, "mode");
  1124. X  printfield(buf, 2, 2, DVALUE2(2 + (n + p) / 4), "request length");
  1125. X  PrintField(buf, 4, 1, HOSTFAMILY, "family");
  1126. X  printfield(buf, 6, 2, CARD16, "length of address");
  1127. X  n = IShort(&buf`5B6`5D);
  1128. X  PrintBytes(&buf`5B8`5D, (long)n, "address");
  1129. X`7D
  1130. X
  1131. XListHosts(buf)
  1132. X     unsigned char *buf;
  1133. X`7B
  1134. X  /* Request ListHosts is opcode 110 */
  1135. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ListHosts */ ;
  1136. X  if (Verbose < 1)
  1137. X    return;
  1138. X  if (Verbose > 1)
  1139. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1140. X
  1141. X  printfield(buf, 2, 2, CONST2(1), "request length");
  1142. X`7D
  1143. X
  1144. XListHostsReply(buf)
  1145. X     unsigned char *buf;
  1146. X`7B
  1147. X  short   n;
  1148. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* ListHosts */ ;
  1149. X  if (Verbose < 1)
  1150. X    return;
  1151. X  PrintField(buf, 1, 1, DIS_EN, "mode");
  1152. X  printfield(buf, 2, 2, CARD16, "sequence number");
  1153. X  printfield(buf, 4, 4, DVALUE4(n / 4), "reply length");
  1154. X  printfield(buf, 8, 2, CARD16, "number of hosts");
  1155. X  n = IShort(&buf`5B8`5D);
  1156. X  PrintList(&buf`5B32`5D, (long)n, HOST, "hosts");
  1157. X`7D
  1158. X
  1159. XSetAccessControl(buf)
  1160. X     unsigned char *buf;
  1161. X`7B
  1162. X  /* Request SetAccessControl is opcode 111 */
  1163. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* SetAccessControl */ ;
  1164. X  if (Verbose < 1)
  1165. X    return;
  1166. X  if (Verbose > 1)
  1167. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1168. X
  1169. X  PrintField(buf, 1, 1, DIS_EN, "mode");
  1170. X  printfield(buf, 2, 2, CONST2(1), "request length");
  1171. X`7D
  1172. X
  1173. XSetCloseDownMode(buf)
  1174. X     unsigned char *buf;
  1175. X`7B
  1176. X  /* Request SetCloseDownMode is opcode 112 */
  1177. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* SetCloseDownMode */ ;
  1178. X  if (Verbose < 1)
  1179. X    return;
  1180. X  if (Verbose > 1)
  1181. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1182. X
  1183. X  PrintField(buf, 1, 1, CLOSEMODE, "mode");
  1184. X  printfield(buf, 2, 2, CONST2(1), "request length");
  1185. X`7D
  1186. X
  1187. XKillClient(buf)
  1188. X     unsigned char *buf;
  1189. X`7B
  1190. X  /* Request KillClient is opcode 113 */
  1191. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* KillClient */ ;
  1192. X  if (Verbose < 1)
  1193. X    return;
  1194. X  if (Verbose > 1)
  1195. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1196. X
  1197. X  printfield(buf, 2, 2, CONST2(2), "request length");
  1198. X  PrintField(buf, 4, 4, RESOURCEID, "resource");
  1199. X`7D
  1200. X
  1201. XRotateProperties(buf)
  1202. X     unsigned char *buf;
  1203. X`7B
  1204. X  short   n;
  1205. X  /* Request RotateProperties is opcode 114 */
  1206. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* RotateProperties */ ;
  1207. X  if (Verbose < 1)
  1208. X    return;
  1209. X  if (Verbose > 1)
  1210. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1211. X
  1212. X  printfield(buf, 2, 2, DVALUE2(3 + n), "request length");
  1213. X  PrintField(buf, 4, 4, WINDOW, "window");
  1214. X  printfield(buf, 8, 2, DVALUE2(n), "number of properties");
  1215. X  n = IShort(&buf`5B8`5D);
  1216. X  PrintField(buf, 10, 2, INT16, "delta");
  1217. X  PrintList(&buf`5B12`5D, (long)n, ATOM, "properties");
  1218. X`7D
  1219. X
  1220. XForceScreenSaver(buf)
  1221. X     unsigned char *buf;
  1222. X`7B
  1223. X  /* Request ForceScreenSaver is opcode 115 */
  1224. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* ForceScreenSaver */ ;
  1225. X  if (Verbose < 1)
  1226. X    return;
  1227. X  if (Verbose > 1)
  1228. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1229. X
  1230. X  PrintField(buf, 1, 1, SAVEMODE, "mode");
  1231. X  printfield(buf, 2, 2, CONST2(1), "request length");
  1232. X`7D
  1233. X
  1234. XSetPointerMapping(buf)
  1235. X     unsigned char *buf;
  1236. X`7B
  1237. X  short   n;
  1238. X  /* Request SetPointerMapping is opcode 116 */
  1239. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* SetPointerMapping */ ;
  1240. X  if (Verbose < 1)
  1241. X    return;
  1242. X  if (Verbose > 1)
  1243. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1244. X
  1245. X  printfield(buf, 1, 1, DVALUE1(n), "length of map");
  1246. X  n = IByte(&buf`5B1`5D);
  1247. X  printfield(buf, 2, 2, DVALUE2(1 + (n + p) / 4), "request length");
  1248. X  PrintBytes(&buf`5B4`5D, (long)n,"map");
  1249. X`7D
  1250. X
  1251. XSetPointerMappingReply(buf)
  1252. X     unsigned char *buf;
  1253. X`7B
  1254. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* SetPointerMapping */ ;
  1255. X  if (Verbose < 1)
  1256. X    return;
  1257. X  PrintField(buf, 1, 1, RSTATUS, "status");
  1258. X  printfield(buf, 2, 2, CARD16, "sequence number");
  1259. X  printfield(buf, 4, 4, CONST4(0), "reply length");
  1260. X`7D
  1261. X
  1262. XGetPointerMapping(buf)
  1263. X     unsigned char *buf;
  1264. X`7B
  1265. X  /* Request GetPointerMapping is opcode 117 */
  1266. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetPointerMapping */ ;
  1267. X  if (Verbose < 1)
  1268. X    return;
  1269. X  if (Verbose > 1)
  1270. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1271. X
  1272. X  printfield(buf, 2, 2, CONST2(1), "request length");
  1273. X`7D
  1274. X
  1275. XGetPointerMappingReply(buf)
  1276. X     unsigned char *buf;
  1277. X`7B
  1278. X  short   n;
  1279. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetPointerMapping */ ;
  1280. X  if (Verbose < 1)
  1281. X    return;
  1282. X  printfield(buf, 1, 1, DVALUE1(n), "length of map");
  1283. X  n = IByte(&buf`5B1`5D);
  1284. X  printfield(buf, 2, 2, CARD16, "sequence number");
  1285. X  printfield(buf, 4, 4, DVALUE4((n + p) / 4), "reply length");
  1286. X  PrintBytes(&buf`5B32`5D, (long)n,"map");
  1287. X`7D
  1288. X
  1289. XSetModifierMapping(buf)
  1290. X     unsigned char *buf;
  1291. X`7B
  1292. X  short   n;
  1293. X  /* Request SetModifierMapping is opcode 118 */
  1294. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* SetModifierMapping */ ;
  1295. X  if (Verbose < 1)
  1296. X    return;
  1297. X  if (Verbose > 1)
  1298. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1299. X
  1300. X  PrintField(buf, 1, 1, DVALUE1(n), "keycodes-per-modifier");
  1301. X  n = IByte(&buf`5B1`5D);
  1302. X  printfield(buf, 2, 2, DVALUE2(1 + 2*n), "request length");
  1303. X  PrintBytes(&buf`5B4 + 0 * n`5D, (long)n,"Shift keycodes");
  1304. X  PrintBytes(&buf`5B4 + 1 * n`5D, (long)n,"Lock keycodes");
  1305. X  PrintBytes(&buf`5B4 + 2 * n`5D, (long)n,"Control keycodes");
  1306. X  PrintBytes(&buf`5B4 + 3 * n`5D, (long)n,"Mod1 keycodes");
  1307. X  PrintBytes(&buf`5B4 + 4 * n`5D, (long)n,"Mod2 keycodes");
  1308. X  PrintBytes(&buf`5B4 + 5 * n`5D, (long)n,"Mod3 keycodes");
  1309. X  PrintBytes(&buf`5B4 + 6 * n`5D, (long)n,"Mod4 keycodes");
  1310. X  PrintBytes(&buf`5B4 + 7 * n`5D, (long)n,"Mod5 keycodes");
  1311. X`7D
  1312. X
  1313. XSetModifierMappingReply(buf)
  1314. X     unsigned char *buf;
  1315. X`7B
  1316. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* SetModifierMapping */ ;
  1317. X  if (Verbose < 1)
  1318. X    return;
  1319. X  PrintField(buf, 1, 1, RSTATUS, "status");
  1320. X  printfield(buf, 2, 2, CARD16, "sequence number");
  1321. X  printfield(buf, 4, 4, CONST4(0), "reply length");
  1322. X`7D
  1323. X
  1324. XGetModifierMapping(buf)
  1325. X     unsigned char *buf;
  1326. X`7B
  1327. X  /* Request GetModifierMapping is opcode 119 */
  1328. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* GetModifierMapping */ ;
  1329. X  if (Verbose < 1)
  1330. X    return;
  1331. X  if (Verbose > 1)
  1332. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1333. X
  1334. X  printfield(buf, 2, 2, CONST2(1), "request length");
  1335. X`7D
  1336. X
  1337. XGetModifierMappingReply(buf)
  1338. X     unsigned char *buf;
  1339. X`7B
  1340. X  short   n;
  1341. X  PrintField(RBf, 0, 1, REPLY, REPLYHEADER) /* GetModifierMapping */ ;
  1342. X  if (Verbose < 1)
  1343. X    return;
  1344. X  PrintField(buf, 1, 1, DVALUE1(n), "keycodes-per-modifier");
  1345. X  n = IByte(&buf`5B1`5D);
  1346. X  printfield(buf, 2, 2, CARD16, "sequence number");
  1347. X  printfield(buf, 4, 4, DVALUE4(2*n), "reply length");
  1348. X  PrintList(&buf`5B32`5D, (long)n, KEYCODE, "keycodes");
  1349. X`7D
  1350. X
  1351. XNoOperation(buf)
  1352. X     unsigned char *buf;
  1353. X`7B
  1354. X  /* Request NoOperation is opcode 127 */
  1355. X  PrintField(buf, 0, 1, REQUEST, REQUESTHEADER) /* NoOperation */ ;
  1356. X  if (Verbose < 1)
  1357. X    return;
  1358. X  if (Verbose > 1)
  1359. X    PrintField(SBf, 0, 4, INT32, "sequence number");
  1360. X
  1361. X  printfield(buf, 2, 2, CONST2(1), "request length");
  1362. X`7D
  1363. $ CALL UNPACK PRINT11.C;2 154662420
  1364. $ create 'f'
  1365. X/* ************************************************** *
  1366. X *`09`09`09`09`09`09      *
  1367. X *  Type Printing for X11 protocol`09`09      *
  1368. X *`09`09`09`09`09`09      *
  1369. X *`09James Peterson, 1988`09`09`09      *
  1370. X *`09(c) Copyright MCC, 1988 `09`09      *
  1371. X *`09`09`09`09`09`09      *
  1372. X * ************************************************** */
  1373. X#if defined(vax11c) && !defined(MULTINET)
  1374. X#include "emulationlib.h"
  1375. X#endif
  1376. X
  1377. X#include "scope.h"
  1378. X#include "x11.h"
  1379. X
  1380. X/*
  1381. X  For each of the types we need a way to print that type.
  1382. X  Types are of varieties:
  1383. X
  1384. X  (1) BUILTIN -- we have a separate routine to interpret and print
  1385. X  each built-in type.
  1386. X  (2) ENUMERATED, SET -- we have one routine which prints, given the
  1387. X  data and the list of values.
  1388. X  (3) RECORDS -- a separate routine for each to print each field.
  1389. X
  1390. X*/
  1391. X
  1392. X/* ************************************************************ */
  1393. X/*`09`09`09`09`09`09`09`09*/
  1394. X/*`09`09`09`09`09`09`09`09*/
  1395. X/* ************************************************************ */
  1396. X
  1397. X
  1398. X/* print representation of a character for debugging */
  1399. Xchar   *printrep (c)
  1400. X     unsigned short  c;
  1401. X`7B
  1402. X  static char pr`5B8`5D;
  1403. X
  1404. X  if (c < 32)
  1405. X    `7B
  1406. X      /* control characters */
  1407. X      pr`5B0`5D = '`5E';
  1408. X      pr`5B1`5D = c + 64;
  1409. X      pr`5B2`5D = '\0';
  1410. X    `7D
  1411. X  else if (c < 127)
  1412. X      `7B
  1413. X`09/* printing characters */
  1414. X`09pr`5B0`5D = c;
  1415. X`09pr`5B1`5D = '\0';
  1416. X      `7D
  1417. X    else if (c == 127)
  1418. X`09return("<del>");
  1419. X      else if (c <= 0377)
  1420. X`09  `7B
  1421. X`09    /* upper 128 codes from 128 to 255;  print as \ooo - octal  */
  1422. X`09    pr`5B0`5D = '\\';
  1423. X`09    pr`5B3`5D = '0' + (c & 7);
  1424. X`09    c = c >> 3;
  1425. X`09    pr`5B2`5D = '0' + (c & 7);
  1426. X`09    c = c >> 3;
  1427. X`09    pr`5B1`5D = '0' + (c & 3);
  1428. X`09    pr`5B4`5D = '\0';
  1429. X`09  `7D
  1430. X`09else
  1431. X`09  `7B
  1432. X`09    /* very large number -- print as 0xffff - 4 digit hex */
  1433. X`09    sprintf(pr, "0x%04x", c);
  1434. X`09  `7D
  1435. X  return(pr);
  1436. X`7D
  1437. X
  1438. X
  1439. X/* ************************************************************ */
  1440. X/*`09`09`09`09`09`09`09`09*/
  1441. X/*`09`09`09`09`09`09`09`09*/
  1442. X/* ************************************************************ */
  1443. X
  1444. X/*
  1445. X  we use indentation for two purposes:
  1446. X
  1447. X   (1) To show substructure of records inside records ...
  1448. X   (2) To separate the bytes from the client (on the left) from
  1449. X       those from the server (on the right).
  1450. X
  1451. X   Each indention level is one tab (8 spaces).
  1452. X*/
  1453. X
  1454. X#define MaxIndent 10
  1455. Xstatic char Leader`5BMaxIndent + 1`5D;
  1456. Xstatic short    CurrentLevel = 0;
  1457. X
  1458. XSetIndentLevel(which)
  1459. X     short   which;
  1460. X`7B
  1461. X  short   i;
  1462. X
  1463. X  if (which > MaxIndent)
  1464. X    which = MaxIndent;
  1465. X  if (which < 0)
  1466. X    which = 0;
  1467. X  if (which == CurrentLevel)
  1468. X    return;
  1469. X
  1470. X  /* set the indent level to <which> */
  1471. X  /* -> set the Print Leader to <which> tabs */
  1472. X  for (i = 0; i < which; i++)
  1473. X    Leader`5Bi`5D = '\t';
  1474. X  Leader`5Bwhich`5D = '\0';
  1475. X  CurrentLevel = which;
  1476. X`7D
  1477. X
  1478. XModifyIndentLevel(amount)
  1479. X     short   amount;
  1480. X`7B
  1481. X  SetIndentLevel(CurrentLevel + amount);
  1482. X`7D
  1483. X
  1484. Xshort   SizeofLeader ()
  1485. X`7B
  1486. X  return (CurrentLevel * 8);
  1487. X`7D
  1488. X
  1489. X/* ************************************************************ */
  1490. X/*`09`09`09`09`09`09`09`09*/
  1491. X/*`09`09`09`09`09`09`09`09*/
  1492. X/* ************************************************************ */
  1493. X
  1494. X/* if we want verbose enough output, we will dump the buffer in hex */
  1495. X
  1496. XDumpItem(name, fd, buf, n)
  1497. X     char   *name;
  1498. X     FD      fd;
  1499. X     unsigned char *buf;
  1500. X     long    n;
  1501. X`7B
  1502. X  if (n == 0)
  1503. X    return;
  1504. X
  1505. X  fprintf(stdout, "%s%20s (fd %d): ", Leader, name, fd);
  1506. X
  1507. X  DumpHexBuffer(buf, n);
  1508. X  fprintf(stdout, "\n");
  1509. X`7D
  1510. X
  1511. X/* ************************************************************ */
  1512. X/*`09`09`09`09`09`09`09`09*/
  1513. X/*`09`09`09`09`09`09`09`09*/
  1514. X/* ************************************************************ */
  1515. X
  1516. XPrintINT8(buf)
  1517. X     unsigned char *buf;
  1518. X`7B
  1519. X  /* print a INT8 -- 8-bit signed integer */
  1520. X  short   n = IByte (buf);
  1521. X  if (n > 127)
  1522. X    n = 256 - n;
  1523. X  fprintf(stdout, "%d", n);
  1524. X`7D
  1525. X
  1526. XPrintINT16(buf)
  1527. X     unsigned char *buf;
  1528. X`7B
  1529. X  /* print a INT16 -- 16-bit signed integer */
  1530. X  long    n = IShort (buf);
  1531. X  if (n > 32767)
  1532. X    n = 65536 - n;
  1533. X  fprintf(stdout, "%d", n);
  1534. X`7D
  1535. X
  1536. XPrintINT32(buf)
  1537. X     unsigned char *buf;
  1538. X`7B
  1539. X  /* print a INT32 -- 32-bit signed integer */
  1540. X  long    n = ILong (buf);
  1541. X  fprintf(stdout, "%d", n);
  1542. X`7D
  1543. X
  1544. X/* ************************************************************ */
  1545. X
  1546. XPrintCARD8(buf)
  1547. X     unsigned char *buf;
  1548. X`7B
  1549. X  /* print a CARD8 -- 8-bit unsigned integer */
  1550. X  short   n = IByte (buf);
  1551. X  fprintf(stdout, "%02x", (unsigned)(n & 0xff));
  1552. X`7D
  1553. X
  1554. XPrintCARD16(buf)
  1555. X     unsigned char *buf;
  1556. X`7B
  1557. X  /* print a CARD16 -- 16-bit unsigned integer */
  1558. X  unsigned long   n = IShort (buf);
  1559. X  fprintf(stdout, "%04x", (unsigned)(n & 0xffff));
  1560. X`7D
  1561. X
  1562. XPrintCARD32(buf)
  1563. X     unsigned char *buf;
  1564. X`7B
  1565. X  /* print a CARD32 -- 32-bit unsigned integer */
  1566. X  unsigned long   n = ILong (buf);
  1567. X  fprintf(stdout, "%08x", n);
  1568. X  return(4);
  1569. X`7D
  1570. X
  1571. X/* ************************************************************ */
  1572. X
  1573. XPrintBYTE(buf)
  1574. X     unsigned char *buf;
  1575. X`7B
  1576. X  /* print a BYTE -- 8-bit value */
  1577. X  short   n = IByte (buf);
  1578. X  fprintf(stdout, "%02x", n);
  1579. X  return(1);
  1580. X`7D
  1581. X
  1582. X
  1583. XPrintCHAR8(buf)
  1584. X     unsigned char *buf;
  1585. X`7B
  1586. X  /* print a CHAR8 -- 8-bit character */
  1587. X  unsigned short   n = IByte (buf);
  1588. X  fprintf(stdout, "%s", printrep(n));
  1589. X  return(1);
  1590. X`7D
  1591. X
  1592. X
  1593. X#ifdef vax11c
  1594. XMYPrintSTRING16(buf)
  1595. X#else
  1596. XPrintSTRING16(buf)
  1597. X#endif /* vax11c */
  1598. X     unsigned char *buf;
  1599. X`7B
  1600. X  /* print a CHAR16 -- 16-bit character */
  1601. X  unsigned short   n = IShort (buf);
  1602. X  fprintf(stdout, "%s", printrep(n));
  1603. X  return(1);
  1604. X`7D
  1605. X
  1606. XPrintSTR(buf)
  1607. X     unsigned char *buf;
  1608. X`7B
  1609. X  /* STR have the length (1 byte) then a string of CHAR8 */
  1610. X  short   n;
  1611. X  short   i;
  1612. X
  1613. X  n = IByte(buf++);
  1614. X  for (i = 0; i < n; i++)
  1615. X    fprintf(stdout, "%s", printrep(buf`5Bi`5D));
  1616. X  return(n+1);
  1617. X`7D
  1618. X
  1619. X/* ************************************************************ */
  1620. X
  1621. XPrintWINDOW(buf)
  1622. X     unsigned char *buf;
  1623. X`7B
  1624. X  /* print a WINDOW -- CARD32  plus 0 = None */
  1625. X  long    n = ILong (buf);
  1626. X  if (n == 0)
  1627. +-+-+-+-+-+-+-+-  END  OF PART 5 +-+-+-+-+-+-+-+-
  1628. --
  1629. Patrick L. Mahan
  1630.  
  1631. --- TGV Window Washer ------------------------------- Mahan@TGV.COM ---------
  1632.  
  1633. Waking a person unnecessarily should not be considered  - Lazarus Long
  1634. a capital crime.  For a first offense, that is            From the Notebooks of
  1635.                               Lazarus Long
  1636.  
  1637.