home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / devcon / milan_1991 / devcon91.2 / tiga / include / a2410 / dev_macros.h next >
C/C++ Source or Header  |  1992-09-01  |  39KB  |  1,223 lines

  1. #ifndef TIGA_DEV_MACROS_H
  2. #define TIGA_DEV_MACROS_H
  3. /*
  4. **    $Filename: tiga/dev_macros.h $
  5. **    $Release: $$$RELEASE$$$ $
  6. **
  7. **    PUBLIC FILE
  8. **
  9. **    (C) Copyright 1988,1989,1990 University of Lowell
  10. **                    Center for Productivity Enhancement
  11. **      All Rights Reserved
  12. **
  13. **
  14. ** Purpose:
  15. **   Define C-interface device macros                                     
  16. **
  17. */
  18.  
  19. #ifndef TIGA_DEVTIGA_H
  20. #include <a2410/devtiga.h>
  21. #endif    /* !TIGA_DEVTIGA_H */
  22.  
  23.  
  24. #define add_commands(a,b,c,d,e)                        \
  25. ((                             \
  26. TIGAREQNAME.tiga_Req.io_Command = TIGA_ADD_COMMANDS,    \
  27. TIGADATANAME[0] = (LONG)(a),                \
  28. TIGADATANAME[1] = (LONG)(b),                \
  29. TIGADATANAME[2] = (LONG)(c),                \
  30. TIGADATANAME[3] = (LONG)(d),                \
  31. TIGADATANAME[4] = (LONG)(e),                \
  32. DoIO((struct IORequest *)&TIGAREQNAME)            \
  33. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  34.  
  35. #define add_interrupt(a,b)                            \
  36. ((                             \
  37. TIGAREQNAME.tiga_Req.io_Command = TIGA_ADD_INTERRUPT,    \
  38. TIGADATANAME[0] = (LONG)(a),                \
  39. TIGADATANAME[1] = (LONG)(b),                \
  40. DoIO((struct IORequest *)&TIGAREQNAME)            \
  41. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  42.  
  43. #define add_module(a,b)                            \
  44. ((                             \
  45. TIGAREQNAME.tiga_Req.io_Command = TIGA_ADD_MODULE,    \
  46. TIGADATANAME[0] = (LONG)(a),                \
  47. TIGADATANAME[1] = (LONG)(b),                \
  48. DoIO((struct IORequest *)&TIGAREQNAME)            \
  49. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  50.  
  51. #define bitblt(a,b,c,d,e,f)                \
  52. ((                            \
  53. TIGAREQNAME.tiga_Req.io_Command = TIGA_BITBLT,        \
  54. TIGADATANAME[0] = (LONG)(a),                \
  55. TIGADATANAME[1] = (LONG)(b),                \
  56. TIGADATANAME[2] = (LONG)(c),                \
  57. TIGADATANAME[3] = (LONG)(d),                \
  58. TIGADATANAME[4] = (LONG)(e),                \
  59. TIGADATANAME[5] = (LONG)(f),                \
  60. DoIO((struct IORequest *)&TIGAREQNAME)            \
  61. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  62.  
  63. #define cd_is_alive()                    \
  64. ((                            \
  65. TIGAREQNAME.tiga_Req.io_Command = TIGA_CD_IS_ALIVE,    \
  66. DoIO((struct IORequest *)&TIGAREQNAME)            \
  67. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  68.  
  69.  
  70. #define clear_frame_buffer(a)                \
  71. ((                            \
  72. TIGAREQNAME.tiga_Req.io_Command = TIGA_CLEAR_FRAME_BUFFER,\
  73. TIGADATANAME[0] = (LONG)(a),                \
  74. DoIO(&TIGAREQNAME)                    \
  75. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  76.  
  77. #define clear_page(a)                    \
  78. ((                            \
  79. TIGAREQNAME.tiga_Req.io_Command = TIGA_CLEAR_PAGE,    \
  80. TIGADATANAME[0] = (LONG)(a),                \
  81. DoIO(&TIGAREQNAME)                    \
  82. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  83.  
  84. #define clear_screen(a)                    \
  85. ((                            \
  86. TIGAREQNAME.tiga_Req.io_Command = TIGA_CLEAR_SCREEN,    \
  87. TIGADATANAME[0] = (LONG)(a),                \
  88. DoIO(&TIGAREQNAME)                    \
  89. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  90.  
  91. #define del_commands(a,b,c)                            \
  92. ((                             \
  93. TIGAREQNAME.tiga_Req.io_Command = TIGA_DEL_COMMANDS,    \
  94. TIGADATANAME[0] = (LONG)(a),                \
  95. TIGADATANAME[1] = (LONG)(b),                \
  96. TIGADATANAME[2] = (LONG)(c),                \
  97. DoIO((struct IORequest *)&TIGAREQNAME)            \
  98. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  99.  
  100. #define del_module(a)                            \
  101. ((                             \
  102. TIGAREQNAME.tiga_Req.io_Command = TIGA_DEL_MODULE,    \
  103. TIGADATANAME[0] = (LONG)(a),                \
  104. DoIO((struct IORequest *)&TIGAREQNAME)            \
  105. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  106.  
  107. #define dma16_gsp2gsp(a,b,c,d)                \
  108. ((                            \
  109. TIGAREQNAME.tiga_Req.io_Command = TIGA_DMA16_GSP2GSP,    \
  110. TIGADATANAME[0] = (LONG)(a),                \
  111. TIGADATANAME[1] = (LONG)(b),                \
  112. TIGADATANAME[2] = (LONG)(c),                \
  113. TIGADATANAME[3] = (LONG)(d),                \
  114. DoIO((struct IORequest *)&TIGAREQNAME)            \
  115. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  116.  
  117. #define delete_font(a)                    \
  118. ((                            \
  119. TIGAREQNAME.tiga_Req.io_Command = TIGA_DELETE_FONT,    \
  120. TIGADATANAME[0]=(LONG)(a),                \
  121. DoIO((struct IORequest *)&TIGAREQNAME)            \
  122. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  123.  
  124. #define draw_line(a,b,c,d)                \
  125. ((                            \
  126. TIGAREQNAME.tiga_Req.io_Command = TIGA_DRAW_LINE,     \
  127. TIGADATANAME[0] = (LONG)(a),                 \
  128. TIGADATANAME[1] = (LONG)(b),                 \
  129. TIGADATANAME[2] = (LONG)(c),                \
  130. TIGADATANAME[3] = (LONG)(d),                \
  131. DoIO((struct IORequest *)&TIGAREQNAME)            \
  132. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  133.  
  134. #define draw_oval(a,b,c,d)                \
  135. ((                            \
  136. TIGAREQNAME.tiga_Req.io_Command = TIGA_DRAW_OVAL,    \
  137. TIGADATANAME[0] = (LONG)(a),                \
  138. TIGADATANAME[1] = (LONG)(b),                \
  139. TIGADATANAME[2] = (LONG)(c),                \
  140. TIGADATANAME[3] = (LONG)(d),                \
  141. DoIO((struct IORequest *)&TIGAREQNAME)            \
  142. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  143.  
  144. #define draw_ovalarc(a,b,c,d,e,f)            \
  145. ((                            \
  146. TIGAREQNAME.tiga_Req.io_Command = TIGA_DRAW_OVALARC,    \
  147. TIGADATANAME[0] = (LONG)(a),                \
  148. TIGADATANAME[1] = (LONG)(b),                \
  149. TIGADATANAME[2] = (LONG)(c),                \
  150. TIGADATANAME[3] = (LONG)(d),                \
  151. TIGADATANAME[4] = (LONG)(e),                \
  152. TIGADATANAME[5] = (LONG)(f),                \
  153. DoIO((struct IORequest *)&TIGAREQNAME)            \
  154. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  155.  
  156. #define draw_plane(a)                    \
  157. ((                            \
  158. TIGAREQNAME.tiga_Req.io_Command = TIGA_DRAW_PLANE,    \
  159. TIGADATANAME[0] = (LONG)(a),                \
  160. DoIO((struct IORequest *)&TIGAREQNAME)            \
  161. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  162.  
  163. #define select_plane(a)                    \
  164. ((                            \
  165. TIGAREQNAME.tiga_Req.io_Command = TIGA_DRAW_PLANE,    \
  166. TIGADATANAME[0] = (LONG)(a),                \
  167. DoIO((struct IORequest *)&TIGAREQNAME)            \
  168. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  169.  
  170. #define draw_piearc(a,b,c,d,e,f)            \
  171. ((                            \
  172. TIGAREQNAME.tiga_Req.io_Command = TIGA_DRAW_PIEARC,    \
  173. TIGADATANAME[0] = (LONG)(a),                \
  174. TIGADATANAME[1] = (LONG)(b),                \
  175. TIGADATANAME[2] = (LONG)(c),                \
  176. TIGADATANAME[3] = (LONG)(d),                \
  177. TIGADATANAME[4] = (LONG)(e),                \
  178. TIGADATANAME[5] = (LONG)(f),                \
  179. DoIO((struct IORequest *)&TIGAREQNAME)            \
  180. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  181.  
  182. #define draw_point(a,b)                    \
  183. ((                            \
  184. TIGAREQNAME.tiga_Req.io_Command = TIGA_DRAW_POINT,    \
  185. TIGADATANAME[0] = (LONG)(a),                \
  186. TIGADATANAME[1] = (LONG)(b),                \
  187. DoIO((struct IORequest *)&TIGAREQNAME)            \
  188. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  189.  
  190. #define draw_polyline(a,b)                \
  191. ((                            \
  192. TIGAREQNAME.tiga_Req.io_Command = TIGA_DRAW_POLYLINE_A,    \
  193. TIGADATANAME[0] = (LONG)(a),                \
  194. TIGADATANAME[1] = (LONG)(b),                \
  195. DoIO((struct IORequest *)&TIGAREQNAME)            \
  196. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  197.  
  198. #define draw_polyline_a(a,b)                \
  199. ((                            \
  200. TIGAREQNAME.tiga_Req.io_Command = TIGA_DRAW_POLYLINE_A,    \
  201. TIGADATANAME[0] = (LONG)(a),                \
  202. TIGADATANAME[1] = (LONG)(b),                \
  203. DoIO((struct IORequest *)&TIGAREQNAME)            \
  204. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  205.  
  206. #define draw_rect(a,b,c,d)                \
  207. ((                            \
  208. TIGAREQNAME.tiga_Req.io_Command = TIGA_DRAW_RECT,     \
  209. TIGADATANAME[0] = (LONG)(a),                 \
  210. TIGADATANAME[1] = (LONG)(b),                 \
  211. TIGADATANAME[2] = (LONG)(c),                \
  212. TIGADATANAME[3] = (LONG)(d),                \
  213. DoIO((struct IORequest *)&TIGAREQNAME)            \
  214. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  215.  
  216. #define field_extract(a,b)                \
  217. ((                            \
  218. TIGAREQNAME.tiga_Req.io_Command = TIGA_FIELD_EXTRACT,    \
  219. TIGADATANAME[0] = (LONG)(a),                \
  220. TIGADATANAME[1] = (LONG)(b),                \
  221. DoIO((struct IORequest *)&TIGAREQNAME)            \
  222. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  223.  
  224. #define field_insert(a,b,c)                \
  225. ((                            \
  226. TIGAREQNAME.tiga_Req.io_Command = TIGA_FIELD_INSERT,    \
  227. TIGADATANAME[0] = (LONG)(a),                \
  228. TIGADATANAME[1] = (LONG)(b),                \
  229. TIGADATANAME[2] = (LONG)(c),                \
  230. DoIO((struct IORequest *)&TIGAREQNAME)            \
  231. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  232.  
  233. #define fill_convex(a,b)                \
  234. ((                            \
  235. TIGAREQNAME.tiga_Req.io_Command = TIGA_FILL_CONVEX,    \
  236. TIGADATANAME[0] = (LONG)(a),                \
  237. TIGADATANAME[1] = (LONG)(b),                \
  238. DoIO((struct IORequest *)&TIGAREQNAME)            \
  239. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  240.  
  241. #define fill_convex_a(a,b)                \
  242. ((                            \
  243. TIGAREQNAME.tiga_Req.io_Command = TIGA_FILL_CONVEX_A,    \
  244. TIGADATANAME[0] = (LONG)(a),                \
  245. TIGADATANAME[1] = (LONG)(b),                \
  246. DoIO((struct IORequest *)&TIGAREQNAME)            \
  247. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  248.  
  249.  
  250. #define fill_oval(a,b,c,d)                \
  251. ((                            \
  252. TIGAREQNAME.tiga_Req.io_Command = TIGA_FILL_OVAL,    \
  253. TIGADATANAME[0] = (LONG)(a),                \
  254. TIGADATANAME[1] = (LONG)(b),                \
  255. TIGADATANAME[2] = (LONG)(c),                \
  256. TIGADATANAME[3] = (LONG)(d),                \
  257. DoIO((struct IORequest *)&TIGAREQNAME)            \
  258. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  259.  
  260. #define fill_piearc(a,b,c,d,e,f)            \
  261. ((                            \
  262. TIGAREQNAME.tiga_Req.io_Command = TIGA_FILL_PIEARC,    \
  263. TIGADATANAME[0] = (LONG)(a),                \
  264. TIGADATANAME[1] = (LONG)(b),                \
  265. TIGADATANAME[2] = (LONG)(c),                \
  266. TIGADATANAME[3] = (LONG)(d),                \
  267. TIGADATANAME[4] = (LONG)(e),                \
  268. TIGADATANAME[5] = (LONG)(f),                \
  269. DoIO((struct IORequest *)&TIGAREQNAME)            \
  270. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  271.  
  272. #define fill_polygon(a,b)                \
  273. ((                            \
  274. TIGAREQNAME.tiga_Req.io_Command = TIGA_FILL_POLYGON,    \
  275. TIGADATANAME[0] = (ULONG)(a),                \
  276. TIGADATANAME[1] = (ULONG)(b),                \
  277. DoIO((struct IORequest *)&TIGAREQNAME)            \
  278. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  279.  
  280. #define fill_polygon_a(a,b)                \
  281. ((                            \
  282. TIGAREQNAME.tiga_Req.io_Command = TIGA_FILL_POLYGON_A,    \
  283. TIGADATANAME[0] = (ULONG)(a),                \
  284. TIGADATANAME[1] = (ULONG)(b),                \
  285. DoIO((struct IORequest *)&TIGAREQNAME)            \
  286. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  287.  
  288. #define fill_rect(a,b,c,d)                \
  289. ((                            \
  290. TIGAREQNAME.tiga_Req.io_Command = TIGA_FILL_RECT,    \
  291. TIGADATANAME[0] = (LONG)(a),                \
  292. TIGADATANAME[1] = (LONG)(b),                \
  293. TIGADATANAME[2] = (LONG)(c),                \
  294. TIGADATANAME[3] = (LONG)(d),                \
  295. DoIO((struct IORequest *)&TIGAREQNAME)            \
  296. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  297.  
  298.  
  299. #define frame_oval(a,b,c,d,e,f)                \
  300. ((                            \
  301. TIGAREQNAME.tiga_Req.io_Command = TIGA_FRAME_OVAL,    \
  302. TIGADATANAME[0] = (LONG)(a),                \
  303. TIGADATANAME[1] = (LONG)(b),                \
  304. TIGADATANAME[2] = (LONG)(c),                \
  305. TIGADATANAME[3] = (LONG)(d),                \
  306. TIGADATANAME[4] = (LONG)(e),                \
  307. TIGADATANAME[5] = (LONG)(f),                \
  308. DoIO((struct IORequest *)&TIGAREQNAME)            \
  309. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  310.  
  311. #define frame_rect(a,b,c,d,e,f)                \
  312. ((                            \
  313. TIGAREQNAME.tiga_Req.io_Command = TIGA_FRAME_RECT,    \
  314. TIGADATANAME[0] = (LONG)(a),                \
  315. TIGADATANAME[1] = (LONG)(b),                \
  316. TIGADATANAME[2] = (LONG)(c),                \
  317. TIGADATANAME[3] = (LONG)(d),                \
  318. TIGADATANAME[4] = (LONG)(e),                \
  319. TIGADATANAME[5] = (LONG)(f),                \
  320. DoIO((struct IORequest *)&TIGAREQNAME)            \
  321. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  322.  
  323. #define function_implemented(a)                \
  324. ((                            \
  325. TIGAREQNAME.tiga_Req.io_Command = TIGA_FUNCTION_IMPLEMENTED,    \
  326. TIGADATANAME[0] = (ULONG)(a),                \
  327. DoIO((struct IORequest *)&TIGAREQNAME)            \
  328. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  329.  
  330. #define get_colors(a,b)                         \
  331. ((                             \
  332. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_COLORS,    \
  333. TIGADATANAME[0] = (LONG)(a),                \
  334. TIGADATANAME[1] = (LONG)(b),                \
  335. DoIO((struct IORequest *)&TIGAREQNAME)            \
  336. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  337.  
  338. #define get_config(a)                    \
  339. ((                               \
  340. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_CONFIG,    \
  341. TIGADATANAME[0] = (LONG)(a),                \
  342. DoIO((struct IORequest *)&TIGAREQNAME)            \
  343. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  344.  
  345. #define get_curs_state()                \
  346. ((                               \
  347. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_CURS_STATE,    \
  348. DoIO((struct IORequest *)&TIGAREQNAME)            \
  349. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  350.  
  351. #define get_curs_xy(a,b)                \
  352. ((                               \
  353. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_CURS_XY,    \
  354. TIGADATANAME[0] = (LONG)(a),                \
  355. TIGADATANAME[1] = (LONG)(b),                \
  356. DoIO((struct IORequest *)&TIGAREQNAME)            \
  357. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  358.  
  359. #define get_env(a)                    \
  360. ((                               \
  361. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_ENV,        \
  362. TIGADATANAME[0] = (LONG)(a),                \
  363. DoIO((struct IORequest *)&TIGAREQNAME)            \
  364. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  365.  
  366. #define get_fontinfo(a,b)                \
  367. ((                            \
  368. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_FONTINFO,    \
  369. TIGADATANAME[0] = (LONG)(a),                \
  370. TIGADATANAME[1] = (LONG)(b),                \
  371. DoIO((struct IORequest *)&TIGAREQNAME)            \
  372. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  373.  
  374. #define get_modeinfo(a,b)                \
  375. ((                            \
  376. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_MODEINFO,    \
  377. TIGADATANAME[0] = (LONG)(a),                \
  378. TIGADATANAME[1] = (LONG)(b),                \
  379. DoIO((struct IORequest *)&TIGAREQNAME)            \
  380. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  381.  
  382. #define get_nearest_color(a,b,c,d)            \
  383. ((                            \
  384. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_NEAREST_COLOR,    \
  385. TIGADATANAME[0] = (LONG)(a),                \
  386. TIGADATANAME[1] = (LONG)(b),                \
  387. TIGADATANAME[2] = (LONG)(c),                \
  388. TIGADATANAME[3] = (LONG)(d),                \
  389. DoIO((struct IORequest *)&TIGAREQNAME)            \
  390. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  391.  
  392. #define get_offscreen_memory(a,b)            \
  393. ((                            \
  394. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_OFFSCREEN_MEMORY,    \
  395. TIGADATANAME[0] = (LONG)(a),                \
  396. TIGADATANAME[1] = (LONG)(b),                \
  397. DoIO((struct IORequest *)&TIGAREQNAME)            \
  398. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  399.  
  400. #define get_palet(a,b)                    \
  401. ((                            \
  402. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_PALET,    \
  403. TIGADATANAME[0] = (LONG)(a),                \
  404. TIGADATANAME[1] = (LONG)(b),                \
  405. DoIO((struct IORequest *)&TIGAREQNAME)            \
  406. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  407.  
  408. #define get_palet_entry(a,b,c,d,e)            \
  409. ((                            \
  410. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_PALET_ENTRY,    \
  411. TIGADATANAME[0] = (LONG)(a),                \
  412. TIGADATANAME[1] = (LONG)(b),                \
  413. TIGADATANAME[2] = (LONG)(c),                \
  414. TIGADATANAME[3] = (LONG)(d),                \
  415. TIGADATANAME[4] = (LONG)(e),                \
  416. DoIO((struct IORequest *)&TIGAREQNAME)            \
  417. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  418.  
  419. #define get_pixel(a,b)                    \
  420. ((                            \
  421. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_PIXEL,    \
  422. TIGADATANAME[0] = (LONG)(a),                \
  423. TIGADATANAME[1] = (LONG)(b),                \
  424. DoIO((struct IORequest *)&TIGAREQNAME)            \
  425. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  426.  
  427. #define get_pmask()                    \
  428. ((                            \
  429. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_PMASK,    \
  430. DoIO((struct IORequest *)&TIGAREQNAME)            \
  431. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  432.  
  433. #define get_ppop()                    \
  434. ((                            \
  435. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_PPOP,    \
  436. DoIO((struct IORequest *)&TIGAREQNAME)            \
  437. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  438.  
  439. #define get_state()                    \
  440. ((                            \
  441. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_STATE,    \
  442. DoIO((struct IORequest *)&TIGAREQNAME)            \
  443. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  444.  
  445. #define get_textattr(a,b,c)                \
  446. ((                            \
  447. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_TEXTATTR,    \
  448. TIGADATANAME[0] = (LONG)(a),                \
  449. TIGADATANAME[1] = (LONG)(b),                \
  450. TIGADATANAME[2] = (LONG)(c),                \
  451. DoIO((struct IORequest *)&TIGAREQNAME)            \
  452. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  453.  
  454. #define get_transp()                    \
  455. ((                            \
  456. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_TRANSP,    \
  457. DoIO((struct IORequest *)&TIGAREQNAME)            \
  458. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  459.  
  460. #define get_videomode()                    \
  461. ((                            \
  462. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_VIDEOMODE,    \
  463. DoIO((struct IORequest *)&TIGAREQNAME)            \
  464. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  465.  
  466. #define get_windowing()                    \
  467. ((                            \
  468. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_WINDOWING,    \
  469. DoIO((struct IORequest *)&TIGAREQNAME)            \
  470. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  471.  
  472. #define get_wksp(a,b)                    \
  473. ((                            \
  474. TIGAREQNAME.tiga_Req.io_Command = TIGA_GET_WKSP,    \
  475. TIGADATANAME[0] = (LONG)(a),                \
  476. TIGADATANAME[1] = (LONG)(b),                \
  477. DoIO((struct IORequest *)&TIGAREQNAME)            \
  478. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  479.  
  480. #define gsp_execute(a)                    \
  481. ((                            \
  482. TIGAREQNAME.tiga_Req.io_Command = TIGA_GSP_EXECUTE,    \
  483. TIGADATANAME[0]=(LONG)(a),                \
  484. DoIO((struct IORequest *)&TIGAREQNAME)            \
  485. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  486.  
  487. #define gsp_halt()                    \
  488. ((                            \
  489. TIGAREQNAME.tiga_Req.io_Command = TIGA_GSP_HALT,    \
  490. DoIO((struct IORequest *)&TIGAREQNAME)            \
  491. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  492.  
  493. #define gsp_calloc(a,b)                    \
  494. ((                            \
  495. TIGAREQNAME.tiga_Req.io_Command = TIGA_GSP_CALLOC,    \
  496. TIGADATANAME[0]=(LONG)(a),                \
  497. TIGADATANAME[1]=(LONG)(b),                \
  498. DoIO((struct IORequest *)&TIGAREQNAME)            \
  499. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  500.  
  501. #define gsp_free(a)                    \
  502. ((                            \
  503. TIGAREQNAME.tiga_Req.io_Command = TIGA_GSP_FREE,    \
  504. TIGADATANAME[0]=(LONG)(a),                \
  505. DoIO((struct IORequest *)&TIGAREQNAME)            \
  506. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  507.  
  508. #define gsp_malloc(a)                    \
  509. ((                            \
  510. TIGAREQNAME.tiga_Req.io_Command = TIGA_GSP_MALLOC,    \
  511. TIGADATANAME[0]=(LONG)(a),                \
  512. DoIO((struct IORequest *)&TIGAREQNAME)            \
  513. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  514.  
  515. #define gsp_maxheap()                    \
  516. ((                            \
  517. TIGAREQNAME.tiga_Req.io_Command = TIGA_GSP_MAXHEAP,    \
  518. DoIO((struct IORequest *)&TIGAREQNAME)            \
  519. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  520.  
  521. #define gsp_realloc(a,b)                \
  522. ((                            \
  523. TIGAREQNAME.tiga_Req.io_Command = TIGA_GSP_REALLOC,    \
  524. TIGADATANAME[0]=(LONG)(a),                \
  525. TIGADATANAME[1]=(LONG)(b),                \
  526. DoIO((struct IORequest *)&TIGAREQNAME)            \
  527. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  528.  
  529. #define gsp2gsp(a,b,c)                    \
  530. ((                            \
  531. TIGAREQNAME.tiga_Req.io_Command = TIGA_GSP2GSP,        \
  532. TIGADATANAME[0] = (LONG)(a),                \
  533. TIGADATANAME[1] = (LONG)(b),                \
  534. TIGADATANAME[2] = (LONG)(c),                \
  535. DoIO((struct IORequest *)&TIGAREQNAME)            \
  536. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  537.  
  538. #define gsp2host(a,b,c,d)                \
  539. ((                            \
  540. TIGAREQNAME.tiga_Req.io_Command = TIGA_GSP2HOST,    \
  541. TIGADATANAME[0] = (LONG)(a),                \
  542. TIGADATANAME[1] = (LONG)(b),                \
  543. TIGADATANAME[2] = (LONG)(c),                \
  544. TIGADATANAME[3] = (LONG)(d),                \
  545. DoIO((struct IORequest *)&TIGAREQNAME)            \
  546. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  547.  
  548. #define host2gsp(a,b,c,d)                \
  549. ((                            \
  550. TIGAREQNAME.tiga_Req.io_Command = TIGA_HOST2GSP,    \
  551. TIGADATANAME[0] = (LONG)(a),                \
  552. TIGADATANAME[1] = (LONG)(b),                \
  553. TIGADATANAME[2] = (LONG)(c),                \
  554. TIGADATANAME[3] = (LONG)(d),                \
  555. DoIO((struct IORequest *)&TIGAREQNAME)            \
  556. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  557.  
  558. #define gsp2hostxy(a,b,c,d,e,f,g,h,i,j,k,l)        \
  559. ((                            \
  560. TIGAREQNAME.tiga_Req.io_Command = TIGA_GSP2HOSTXY,    \
  561. TIGADATANAME[0] = (LONG)(a),                \
  562. TIGADATANAME[1] = (LONG)(b),                \
  563. TIGADATANAME[2] = (LONG)(c),                \
  564. TIGADATANAME[3] = (LONG)(d),                \
  565. TIGADATANAME[4] = (LONG)(e),                \
  566. TIGADATANAME[5] = (LONG)(f),                \
  567. TIGADATANAME[6] = (LONG)(g),                \
  568. TIGADATANAME[7] = (LONG)(h),                \
  569. TIGADATANAME[8] = (LONG)(i),                \
  570. TIGADATANAME[9] = (LONG)(j),                \
  571. TIGADATANAME[10] = (LONG)(k),                \
  572. TIGADATANAME[11] = (LONG)(l),                \
  573. DoIO((struct IORequest *)&TIGAREQNAME)            \
  574. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  575.  
  576. #define host2gspxy(a,b,c,d,e,f,g,h,i,j,k,l)        \
  577. ((                            \
  578. TIGAREQNAME.tiga_Req.io_Command = TIGA_HOST2GSPXY,    \
  579. TIGADATANAME[0] = (LONG)(a),                \
  580. TIGADATANAME[1] = (LONG)(b),                \
  581. TIGADATANAME[2] = (LONG)(c),                \
  582. TIGADATANAME[3] = (LONG)(d),                \
  583. TIGADATANAME[4] = (LONG)(e),                \
  584. TIGADATANAME[5] = (LONG)(f),                \
  585. TIGADATANAME[6] = (LONG)(g),                \
  586. TIGADATANAME[7] = (LONG)(h),                \
  587. TIGADATANAME[8] = (LONG)(i),                \
  588. TIGADATANAME[9] = (LONG)(j),                \
  589. TIGADATANAME[10] = (LONG)(k),                \
  590. TIGADATANAME[11] = (LONG)(l),                \
  591. DoIO((struct IORequest *)&TIGAREQNAME)            \
  592. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  593.  
  594. #define dma_gsp2hostxy(a,b,c,d,e,f,g,h,i,j,k,l)        \
  595. ((                            \
  596. TIGAREQNAME.tiga_Req.io_Command = TIGA_DMA_GSP2HOSTXY,    \
  597. TIGADATANAME[0] = (LONG)(a),                \
  598. TIGADATANAME[1] = (LONG)(b),                \
  599. TIGADATANAME[2] = (LONG)(c),                \
  600. TIGADATANAME[3] = (LONG)(d),                \
  601. TIGADATANAME[4] = (LONG)(e),                \
  602. TIGADATANAME[5] = (LONG)(f),                \
  603. TIGADATANAME[6] = (LONG)(g),                \
  604. TIGADATANAME[7] = (LONG)(h),                \
  605. TIGADATANAME[8] = (LONG)(i),                \
  606. TIGADATANAME[9] = (LONG)(j),                \
  607. TIGADATANAME[10] = (LONG)(k),                \
  608. TIGADATANAME[11] = (LONG)(l),                \
  609. DoIO((struct IORequest *)&TIGAREQNAME)            \
  610. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  611.  
  612. #define dma_host2gspxy(a,b,c,d,e,f,g,h,i,j,k,l)        \
  613. ((                            \
  614. TIGAREQNAME.tiga_Req.io_Command = TIGA_DMA_HOST2GSPXY,    \
  615. TIGADATANAME[0] = (LONG)(a),                \
  616. TIGADATANAME[1] = (LONG)(b),                \
  617. TIGADATANAME[2] = (LONG)(c),                \
  618. TIGADATANAME[3] = (LONG)(d),                \
  619. TIGADATANAME[4] = (LONG)(e),                \
  620. TIGADATANAME[5] = (LONG)(f),                \
  621. TIGADATANAME[6] = (LONG)(g),                \
  622. TIGADATANAME[7] = (LONG)(h),                \
  623. TIGADATANAME[8] = (LONG)(i),                \
  624. TIGADATANAME[9] = (LONG)(j),                \
  625. TIGADATANAME[10] = (LONG)(k),                \
  626. TIGADATANAME[11] = (LONG)(l),                \
  627. DoIO((struct IORequest *)&TIGAREQNAME)            \
  628. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  629.  
  630. #define init_palet()                    \
  631. ((                            \
  632. TIGAREQNAME.tiga_Req.io_Command = TIGA_INIT_PALET,    \
  633. DoIO((struct IORequest *)&TIGAREQNAME)            \
  634. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  635.  
  636. #define init_text()                    \
  637. ((                            \
  638. TIGAREQNAME.tiga_Req.io_Command = TIGA_INIT_TEXT,    \
  639. DoIO((struct IORequest *)&TIGAREQNAME)            \
  640. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  641.  
  642. #define install_font(a)                    \
  643. ((                            \
  644. TIGAREQNAME.tiga_Req.io_Command = TIGA_INSTALL_FONT,    \
  645. TIGADATANAME[0]=(LONG)(a),                \
  646. DoIO((struct IORequest *)&TIGAREQNAME)            \
  647. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  648.  
  649. #define install_primitives() (1)
  650.  
  651. #define lmo(a)                        \
  652. ((                            \
  653. TIGAREQNAME.tiga_Req.io_Command = TIGA_LMO,        \
  654. TIGADATANAME[0]=(LONG)(a),                \
  655. DoIO((struct IORequest *)&TIGAREQNAME)            \
  656. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  657.  
  658. #define page_busy()                    \
  659. ((                            \
  660. TIGAREQNAME.tiga_Req.io_Command = TIGA_PAGE_BUSY,    \
  661. DoIO((struct IORequest *)&TIGAREQNAME)            \
  662. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  663.  
  664. #define page_flip(a,b)                    \
  665. ((                            \
  666. TIGAREQNAME.tiga_Req.io_Command = TIGA_PAGE_FLIP,    \
  667. TIGADATANAME[0] = (LONG)(a),                \
  668. TIGADATANAME[1] = (LONG)(b),                \
  669. DoIO((struct IORequest *)&TIGAREQNAME)            \
  670. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  671.  
  672. #define patnfill_convex(a,b)                \
  673. ((                            \
  674. TIGAREQNAME.tiga_Req.io_Command = TIGA_PATNFILL_CONVEX,    \
  675. TIGADATANAME[0] = (LONG)(a),                \
  676. TIGADATANAME[1] = (LONG)(b),                \
  677. DoIO((struct IORequest *)&TIGAREQNAME)            \
  678. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  679.  
  680. #define patnfill_oval(a,b,c,d)                \
  681. ((                            \
  682. TIGAREQNAME.tiga_Req.io_Command = TIGA_PATNFILL_OVAL,    \
  683. TIGADATANAME[0] = (LONG)(a),                \
  684. TIGADATANAME[1] = (LONG)(b),                \
  685. TIGADATANAME[2] = (LONG)(c),                \
  686. TIGADATANAME[3] = (LONG)(d),                \
  687. DoIO((struct IORequest *)&TIGAREQNAME)            \
  688. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  689.  
  690. #define patnfill_piearc(a,b,c,d,e,f)            \
  691. ((                            \
  692. TIGAREQNAME.tiga_Req.io_Command = TIGA_PATNFILL_PIEARC,    \
  693. TIGADATANAME[0] = (LONG)(a),                \
  694. TIGADATANAME[1] = (LONG)(b),                \
  695. TIGADATANAME[2] = (LONG)(c),                \
  696. TIGADATANAME[3] = (LONG)(d),                \
  697. TIGADATANAME[4] = (LONG)(e),                \
  698. TIGADATANAME[5] = (LONG)(f),                \
  699. DoIO((struct IORequest *)&TIGAREQNAME)            \
  700. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  701.  
  702. #define patnfill_polygon(a,b)                \
  703. ((                            \
  704. TIGAREQNAME.tiga_Req.io_Command = TIGA_PATNFILL_POLYGON,\
  705. TIGADATANAME[0] = (LONG)(a),                \
  706. TIGADATANAME[1] = (LONG)(b),                \
  707. DoIO((struct IORequest *)&TIGAREQNAME)            \
  708. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  709.  
  710. #define patnfill_polygon_a(a,b)                \
  711. ((                            \
  712. TIGAREQNAME.tiga_Req.io_Command = TIGA_PATNFILL_POLYGON_A,    \
  713. TIGADATANAME[0] = (LONG)(a),                \
  714. TIGADATANAME[1] = (LONG)(b),                \
  715. DoIO((struct IORequest *)&TIGAREQNAME)            \
  716. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  717.  
  718. #define patnfill_rect(a,b,c,d)                \
  719. ((                            \
  720. TIGAREQNAME.tiga_Req.io_Command = TIGA_PATNFILL_RECT,    \
  721. TIGADATANAME[0] = (LONG)(a),                \
  722. TIGADATANAME[1] = (LONG)(b),                \
  723. TIGADATANAME[2] = (LONG)(c),                \
  724. TIGADATANAME[3] = (LONG)(d),                \
  725. DoIO((struct IORequest *)&TIGAREQNAME)            \
  726. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  727.  
  728. #define patnframe_oval(a,b,c,d,e,f)            \
  729. ((                            \
  730. TIGAREQNAME.tiga_Req.io_Command = TIGA_PATNFRAME_OVAL,    \
  731. TIGADATANAME[0] = (LONG)(a),                \
  732. TIGADATANAME[1] = (LONG)(b),                \
  733. TIGADATANAME[2] = (LONG)(c),                \
  734. TIGADATANAME[3] = (LONG)(d),                \
  735. TIGADATANAME[4] = (LONG)(e),                \
  736. TIGADATANAME[5] = (LONG)(f),                \
  737. DoIO((struct IORequest *)&TIGAREQNAME)            \
  738. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  739.  
  740. #define patnframe_rect(a,b,c,d,e,f)            \
  741. ((                            \
  742. TIGAREQNAME.tiga_Req.io_Command = TIGA_PATNFRAME_RECT,    \
  743. TIGADATANAME[0] = (LONG)(a),                \
  744. TIGADATANAME[1] = (LONG)(b),                \
  745. TIGADATANAME[2] = (LONG)(c),                \
  746. TIGADATANAME[3] = (LONG)(d),                \
  747. TIGADATANAME[4] = (LONG)(e),                \
  748. TIGADATANAME[5] = (LONG)(f),                \
  749. DoIO((struct IORequest *)&TIGAREQNAME)            \
  750. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  751.  
  752. #define patnpen_line(a,b,c,d)                \
  753. ((                            \
  754. TIGAREQNAME.tiga_Req.io_Command = TIGA_PATNPEN_LINE,     \
  755. TIGADATANAME[0] = (LONG)(a),                 \
  756. TIGADATANAME[1] = (LONG)(b),                 \
  757. TIGADATANAME[2] = (LONG)(c),                \
  758. TIGADATANAME[3] = (LONG)(d),                \
  759. DoIO((struct IORequest *)&TIGAREQNAME)            \
  760. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  761.  
  762. #define patnpen_ovalarc(a,b,c,d,e,f)            \
  763. ((                            \
  764. TIGAREQNAME.tiga_Req.io_Command = TIGA_PATNPEN_OVALARC,    \
  765. TIGADATANAME[0] = (LONG)(a),                 \
  766. TIGADATANAME[1] = (LONG)(b),                 \
  767. TIGADATANAME[2] = (LONG)(c),                \
  768. TIGADATANAME[3] = (LONG)(d),                \
  769. TIGADATANAME[4] = (LONG)(e),                \
  770. TIGADATANAME[5] = (LONG)(f),                \
  771. DoIO((struct IORequest *)&TIGAREQNAME)            \
  772. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  773.  
  774. #define patnpen_piearc(a,b,c,d,e,f)            \
  775. ((                            \
  776. TIGAREQNAME.tiga_Req.io_Command = TIGA_PATNPEN_PIEARC,     \
  777. TIGADATANAME[0] = (LONG)(a),                 \
  778. TIGADATANAME[1] = (LONG)(b),                 \
  779. TIGADATANAME[2] = (LONG)(c),                \
  780. TIGADATANAME[3] = (LONG)(d),                \
  781. TIGADATANAME[4] = (LONG)(e),                \
  782. TIGADATANAME[5] = (LONG)(f),                \
  783. DoIO((struct IORequest *)&TIGAREQNAME)            \
  784. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  785.  
  786. #define patnpen_point(a,b)                \
  787. ((                            \
  788. TIGAREQNAME.tiga_Req.io_Command = TIGA_PATNPEN_POINT,     \
  789. TIGADATANAME[0] = (LONG)(a),                 \
  790. TIGADATANAME[1] = (LONG)(b),                 \
  791. DoIO((struct IORequest *)&TIGAREQNAME)            \
  792. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  793.  
  794. #define patnpen_polyline(a,b)                \
  795. ((                            \
  796. TIGAREQNAME.tiga_Req.io_Command = TIGA_PATNPEN_POLYLINE,\
  797. TIGADATANAME[0] = (LONG)(a),                 \
  798. TIGADATANAME[1] = (LONG)(b),                 \
  799. DoIO((struct IORequest *)&TIGAREQNAME)            \
  800. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  801.  
  802.  
  803. #define patnpen_polyline_a(a,b)                \
  804. ((                            \
  805. TIGAREQNAME.tiga_Req.io_Command = TIGA_PATNPEN_POLYLINE_A,    \
  806. TIGADATANAME[0] = (LONG)(a),                 \
  807. TIGADATANAME[1] = (LONG)(b),                 \
  808. DoIO((struct IORequest *)&TIGAREQNAME)            \
  809. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  810.  
  811.  
  812. #define peek_breg(a)                    \
  813. ((                            \
  814. TIGAREQNAME.tiga_Req.io_Command = TIGA_PEEK_BREG,    \
  815. TIGADATANAME[0] = (LONG)(a),                \
  816. DoIO((struct IORequest *)&TIGAREQNAME)            \
  817. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  818.  
  819. #define pen_line(a,b,c,d)                \
  820. ((                            \
  821. TIGAREQNAME.tiga_Req.io_Command = TIGA_PEN_LINE,     \
  822. TIGADATANAME[0] = (LONG)(a),                 \
  823. TIGADATANAME[1] = (LONG)(b),                 \
  824. TIGADATANAME[2] = (LONG)(c),                \
  825. TIGADATANAME[3] = (LONG)(d),                \
  826. DoIO((struct IORequest *)&TIGAREQNAME)            \
  827. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  828.  
  829. #define pen_ovalarc(a,b,c,d,e,f)            \
  830. ((                            \
  831. TIGAREQNAME.tiga_Req.io_Command = TIGA_PEN_OVALARC,    \
  832. TIGADATANAME[0] = (LONG)(a),                 \
  833. TIGADATANAME[1] = (LONG)(b),                 \
  834. TIGADATANAME[2] = (LONG)(c),                \
  835. TIGADATANAME[3] = (LONG)(d),                \
  836. TIGADATANAME[4] = (LONG)(e),                \
  837. TIGADATANAME[5] = (LONG)(f),                \
  838. DoIO((struct IORequest *)&TIGAREQNAME)            \
  839. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  840.  
  841. #define pen_piearc(a,b,c,d,e,f)                \
  842. ((                            \
  843. TIGAREQNAME.tiga_Req.io_Command = TIGA_PEN_PIEARC,     \
  844. TIGADATANAME[0] = (LONG)(a),                 \
  845. TIGADATANAME[1] = (LONG)(b),                 \
  846. TIGADATANAME[2] = (LONG)(c),                \
  847. TIGADATANAME[3] = (LONG)(d),                \
  848. TIGADATANAME[4] = (LONG)(e),                \
  849. TIGADATANAME[5] = (LONG)(f),                \
  850. DoIO((struct IORequest *)&TIGAREQNAME)            \
  851. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  852.  
  853. #define  pen_point(a,b)                    \
  854. ((                            \
  855. TIGAREQNAME.tiga_Req.io_Command = TIGA_PEN_POINT,     \
  856. TIGADATANAME[0] = (LONG)(a),                 \
  857. TIGADATANAME[1] = (LONG)(b),                 \
  858. DoIO((struct IORequest *)&TIGAREQNAME)            \
  859. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  860.  
  861. #define  pen_polyline(a,b)                \
  862. ((                            \
  863. TIGAREQNAME.tiga_Req.io_Command = TIGA_PEN_POLYLINE,    \
  864. TIGADATANAME[0] = (LONG)(a),                 \
  865. TIGADATANAME[1] = (LONG)(b),                 \
  866. DoIO((struct IORequest *)&TIGAREQNAME)            \
  867. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  868.  
  869. #define  pen_polyline_a(a,b)                \
  870. ((                            \
  871. TIGAREQNAME.tiga_Req.io_Command = TIGA_PEN_POLYLINE_A,     \
  872. TIGADATANAME[0] = (LONG)(a),                 \
  873. TIGADATANAME[1] = (LONG)(b),                 \
  874. DoIO((struct IORequest *)&TIGAREQNAME)            \
  875. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  876.  
  877.  
  878. #define poke_breg(a,b)                    \
  879. ((                            \
  880. TIGAREQNAME.tiga_Req.io_Command = TIGA_POKE_BREG,    \
  881. TIGADATANAME[0] = (LONG)(a),                \
  882. TIGADATANAME[1] = (LONG)(b),                \
  883. DoIO((struct IORequest *)&TIGAREQNAME)            \
  884. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  885.  
  886. #define rmo(a)                        \
  887. ((                            \
  888. TIGAREQNAME.tiga_Req.io_Command = TIGA_RMO,        \
  889. TIGADATANAME[0]=(LONG)(a),                \
  890. DoIO((struct IORequest *)&TIGAREQNAME)            \
  891. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  892.  
  893. #define seed_fill(a,b,c,d)                \
  894. ((                            \
  895. TIGAREQNAME.tiga_Req.io_Command = TIGA_SEED_FILL,    \
  896. TIGADATANAME[0] = (LONG)(a),                \
  897. TIGADATANAME[1] = (LONG)(b),                \
  898. TIGADATANAME[2] = (LONG)(c),                \
  899. TIGADATANAME[3] = (LONG)(d),                \
  900. DoIO((struct IORequest *)&TIGAREQNAME)            \
  901. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  902.  
  903. #define seed_patnfill(a,b,c,d)                \
  904. ((                            \
  905. TIGAREQNAME.tiga_Req.io_Command = TIGA_SEED_PATNFILL,    \
  906. TIGADATANAME[0] = (LONG)(a),                \
  907. TIGADATANAME[1] = (LONG)(b),                \
  908. TIGADATANAME[2] = (LONG)(c),                \
  909. TIGADATANAME[3] = (LONG)(d),                \
  910. DoIO((struct IORequest *)&TIGAREQNAME)            \
  911. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  912.  
  913. #define select_font(a)                    \
  914. ((                            \
  915. TIGAREQNAME.tiga_Req.io_Command = TIGA_SELECT_FONT,    \
  916. TIGADATANAME[0]=(LONG)(a),                \
  917. DoIO((struct IORequest *)&TIGAREQNAME)            \
  918. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  919.  
  920. #define set_bcolor(a)                    \
  921. ((                            \
  922. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_BCOLOR,    \
  923. TIGADATANAME[0] = (LONG)(a),                \
  924. DoIO((struct IORequest *)&TIGAREQNAME)            \
  925. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  926.  
  927. #define set_clip_rect(a,b,c,d)                \
  928. ((                            \
  929. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_CLIP_RECT,    \
  930. TIGADATANAME[0] = (LONG)(a),                \
  931. TIGADATANAME[1] = (LONG)(b),                \
  932. TIGADATANAME[2] = (LONG)(c),                \
  933. TIGADATANAME[3] = (LONG)(d),                \
  934. DoIO((struct IORequest *)&TIGAREQNAME)            \
  935. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  936.  
  937. #define set_colors(a,b)                    \
  938. ((                            \
  939. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_COLORS,    \
  940. TIGADATANAME[0] = (LONG)(a),                \
  941. TIGADATANAME[1] = (LONG)(b),                \
  942. DoIO((struct IORequest *)&TIGAREQNAME)            \
  943. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  944.  
  945. #define set_config(a,b)                    \
  946. ((                            \
  947. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_CONFIG,    \
  948. TIGADATANAME[0] = (LONG)(a),                \
  949. TIGADATANAME[1] = (LONG)(b),                \
  950. DoIO((struct IORequest *)&TIGAREQNAME)            \
  951. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  952.  
  953. #define set_draw_origin(a,b)                  \
  954. ((                              \
  955.    TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_DRAW_ORIGIN,    \
  956.    TIGADATANAME[0] = (LONG)(a),                  \
  957.    TIGADATANAME[1] = (LONG)(b),                  \
  958.    DoIO((struct IORequest *)&TIGAREQNAME)        \
  959. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  960.  
  961. #define set_dstbm(a,b,c,d,e)                \
  962. ((                            \
  963. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_DSTBM,    \
  964. TIGADATANAME[0] = (LONG)(a),                \
  965. TIGADATANAME[1] = (LONG)(b),                \
  966. TIGADATANAME[2] = (LONG)(c),                \
  967. TIGADATANAME[3] = (LONG)(d),                \
  968. TIGADATANAME[4] = (LONG)(e),                \
  969. DoIO((struct IORequest *)&TIGAREQNAME)            \
  970. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  971.  
  972.  
  973. #define set_fcolor(a)                    \
  974. ((                            \
  975. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_FCOLOR,    \
  976. TIGADATANAME[0] = (LONG)(a),                \
  977. DoIO((struct IORequest *)&TIGAREQNAME)            \
  978. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  979.  
  980. #define set_palet(a,b,c)                \
  981. ((                            \
  982. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_PALET,    \
  983. TIGADATANAME[0] = (LONG)(a),                \
  984. TIGADATANAME[1] = (LONG)(b),                \
  985. TIGADATANAME[2] = (LONG)(c),                \
  986. DoIO((struct IORequest *)&TIGAREQNAME)            \
  987. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  988.  
  989. #define set_palet_entry(a,b,c,d,e)            \
  990. ((                            \
  991. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_PALET_ENTRY,    \
  992. TIGADATANAME[0] = (LONG)(a),                \
  993. TIGADATANAME[1] = (LONG)(b),                \
  994. TIGADATANAME[2] = (LONG)(c),                \
  995. TIGADATANAME[3] = (LONG)(d),                \
  996. TIGADATANAME[4] = (LONG)(e),                \
  997. DoIO((struct IORequest *)&TIGAREQNAME)            \
  998. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  999.  
  1000. #define set_patn(a)                    \
  1001. ((                            \
  1002. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_PATN,    \
  1003. TIGADATANAME[0] = (LONG)(a),                \
  1004. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1005. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1006.  
  1007. #define set_pensize(a,b)                 \
  1008. ((                             \
  1009. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_PENSIZE,    \
  1010. TIGADATANAME[0] = (LONG)(a),                 \
  1011. TIGADATANAME[1] = (LONG)(b),                 \
  1012. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1013. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1014.  
  1015. #define set_pmask(a)                    \
  1016. ((                            \
  1017. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_PMASK,    \
  1018. TIGADATANAME[0] = (LONG)(a),                \
  1019. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1020. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1021.  
  1022. #define set_ppop(a)                    \
  1023. ((                            \
  1024. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_PPOP,    \
  1025. TIGADATANAME[0] = (LONG)(a),                \
  1026. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1027. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1028.  
  1029. #define set_srcbm(a,b,c,d,e)                \
  1030. ((                            \
  1031. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_SRCBM,    \
  1032. TIGADATANAME[0] = (LONG)(a),                \
  1033. TIGADATANAME[1] = (LONG)(b),                \
  1034. TIGADATANAME[2] = (LONG)(c),                \
  1035. TIGADATANAME[3] = (LONG)(d),                \
  1036. TIGADATANAME[4] = (LONG)(e),                \
  1037. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1038. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1039.  
  1040. #define set_textattr(a,b,c)                \
  1041. ((                            \
  1042. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_TEXTATTR,    \
  1043. TIGADATANAME[0] = (LONG)(a),                \
  1044. TIGADATANAME[1] = (LONG)(b),                \
  1045. TIGADATANAME[2] = (LONG)(c),                \
  1046. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1047. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1048.  
  1049. #define set_videomode(a,b)                 \
  1050. ((                            \
  1051. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_VIDEOMODE,    \
  1052. TIGADATANAME[0] = (LONG)(a),                \
  1053. TIGADATANAME[1] = (LONG)(b),                \
  1054. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1055. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1056.  
  1057. #define set_windowing(a)                \
  1058. ((                            \
  1059. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_WINDOWING,    \
  1060. TIGADATANAME[0] = (LONG)(a),                \
  1061. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1062. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1063.  
  1064. #define set_wksp(a,b)                    \
  1065. ((                            \
  1066. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_WKSP,    \
  1067. TIGADATANAME[0] = (LONG)(a),                \
  1068. TIGADATANAME[1] = (LONG)(b),                \
  1069. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1070. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1071.  
  1072. #define styled_line(a,b,c,d,e,f)            \
  1073. ((                            \
  1074. TIGAREQNAME.tiga_Req.io_Command = TIGA_STYLED_LINE,    \
  1075. TIGADATANAME[0] = (LONG)(a),                \
  1076. TIGADATANAME[1] = (LONG)(b),                \
  1077. TIGADATANAME[2] = (LONG)(c),                \
  1078. TIGADATANAME[3] = (LONG)(d),                \
  1079. TIGADATANAME[4] = (LONG)(e),                \
  1080. TIGADATANAME[5] = (LONG)(f),                \
  1081. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1082. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1083.  
  1084. #define swap_bm()                    \
  1085. ((                            \
  1086. TIGAREQNAME.tiga_Req.io_Command = TIGA_SWAP_BM,        \
  1087. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1088. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1089.  
  1090. #define synchronize()                    \
  1091. ((                            \
  1092. TIGAREQNAME.tiga_Req.io_Command = TIGA_SYNCHRONIZE,    \
  1093. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1094. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1095.  
  1096. #define text_out(a,b,c)                    \
  1097. ((                            \
  1098. TIGAREQNAME.tiga_Req.io_Command = TIGA_TEXT_OUT,     \
  1099. TIGADATANAME[0] = (LONG)(a),                 \
  1100. TIGADATANAME[1] = (LONG)(b),                 \
  1101. TIGADATANAME[2] = (LONG)(c),                \
  1102. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1103. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1104.  
  1105. #define text_width(a)                    \
  1106. ((                            \
  1107. TIGAREQNAME.tiga_Req.io_Command = TIGA_TEXT_WIDTH,     \
  1108. TIGADATANAME[0] = (LONG)(a),                 \
  1109. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1110. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1111.  
  1112. #define transp_off()                    \
  1113. ((                            \
  1114. TIGAREQNAME.tiga_Req.io_Command = TIGA_TRANSP_OFF,    \
  1115. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1116. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1117.  
  1118. #define transp_on()                    \
  1119. ((                            \
  1120. TIGAREQNAME.tiga_Req.io_Command = TIGA_TRANSP_ON,    \
  1121. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1122. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1123.  
  1124. #define zoom_rect(a,b,c,d,e,f,g,h,i)            \
  1125. ((                            \
  1126. TIGAREQNAME.tiga_Req.io_Command = TIGA_ZOOM_RECT,    \
  1127. TIGADATANAME[0] = (LONG)(a),                \
  1128. TIGADATANAME[1] = (LONG)(b),                \
  1129. TIGADATANAME[2] = (LONG)(c),                \
  1130. TIGADATANAME[3] = (LONG)(d),                \
  1131. TIGADATANAME[4] = (LONG)(e),                \
  1132. TIGADATANAME[5] = (LONG)(f),                \
  1133. TIGADATANAME[6] = (LONG)(g),                \
  1134. TIGADATANAME[7] = (LONG)(h),                \
  1135. TIGADATANAME[8] = (LONG)(i),                \
  1136. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1137. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1138.  
  1139. #define see_planes(a)                    \
  1140. ((                            \
  1141. TIGAREQNAME.tiga_Req.io_Command = TIGA_SEE_PLANES,    \
  1142. TIGADATANAME[0] = (LONG)(a),                \
  1143. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1144. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1145.  
  1146.  
  1147. #define set_curs_state(a)                 \
  1148. ((                             \
  1149. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_CURS_STATE,     \
  1150. TIGADATANAME[0] = (a),                    \
  1151. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1152. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1153.  
  1154. #define set_curs_shape(a)                \
  1155. ((                             \
  1156. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_CURS_SHAPE,    \
  1157. TIGADATANAME[0] = (LONG)(a),                \
  1158. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1159. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1160.  
  1161. #define set_spec_reg(a)                    \
  1162. ((                             \
  1163. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_SPEC_REG,    \
  1164. TIGADATANAME[0] = (LONG)(a),                \
  1165. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1166. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1167.  
  1168. #define set_mode_bit(a)                    \
  1169. ((                             \
  1170. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_MODE_BIT,    \
  1171. TIGADATANAME[0] = (LONG)(a),                \
  1172. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1173. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1174.  
  1175. #define set_sync_bit(a)                    \
  1176. ((                             \
  1177. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_SYNC_BIT,    \
  1178. TIGADATANAME[0] = (LONG)(a),                \
  1179. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1180. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1181.  
  1182. #define set_swap_bit(a)                    \
  1183. ((                             \
  1184. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_SWAP_BIT,    \
  1185. TIGADATANAME[0] = (LONG)(a),                \
  1186. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1187. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1188.  
  1189. #define set_ovl_color(a,b,c,d)                \
  1190. ((                             \
  1191. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_OVL_COLOR,    \
  1192. TIGADATANAME[0] = (LONG)(a),                \
  1193. TIGADATANAME[1] = (LONG)(b),                \
  1194. TIGADATANAME[2] = (LONG)(c),                \
  1195. TIGADATANAME[3] = (LONG)(d),                \
  1196. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1197. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1198.  
  1199. #define set_curs_xy(a,b)                \
  1200. ((                             \
  1201. TIGAREQNAME.tiga_Req.io_Command = TIGA_SET_CURS_XY,    \
  1202. TIGADATANAME[0] = (LONG)(a),                \
  1203. TIGADATANAME[1] = (LONG)(b),                \
  1204. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1205. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1206.  
  1207. #define cpw(a,b)                                \
  1208. ((                             \
  1209. TIGAREQNAME.tiga_Req.io_Command = TIGA_CPW,        \
  1210. TIGADATANAME[0] = (LONG)(a),                \
  1211. TIGADATANAME[1] = (LONG)(b),                \
  1212. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1213. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1214.  
  1215. #define wait_scan(a)                            \
  1216. ((                             \
  1217. TIGAREQNAME.tiga_Req.io_Command = TIGA_WAIT_SCAN,    \
  1218. TIGADATANAME[0] = (LONG)(a),                \
  1219. DoIO((struct IORequest *)&TIGAREQNAME)            \
  1220. )?TIGAREQNAME.tiga_Return:TIGAREQNAME.tiga_Return)
  1221.  
  1222. #endif    /*  TIGA_DEV_MACROS_H */
  1223.