home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / fd2inline-1.0-bin.lha / include / inline / intuition.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-10-12  |  21.6 KB  |  554 lines

  1. #ifndef _INLINE_INTUITION_H
  2. #define _INLINE_INTUITION_H
  3.  
  4. #ifndef __INLINE_MACROS_H
  5. #include <inline/macros.h>
  6. #endif
  7.  
  8. #ifndef INTUITION_BASE_NAME
  9. #define INTUITION_BASE_NAME IntuitionBase
  10. #endif
  11.  
  12. #define ActivateGadget(gadgets, window, requester) \
  13.     LP3(0x1ce, BOOL, ActivateGadget, struct Gadget *, gadgets, a0, struct Window *, window, a1, struct Requester *, requester, a2, \
  14.     , INTUITION_BASE_NAME)
  15.  
  16. #define ActivateWindow(window) \
  17.     LP1NR(0x1c2, ActivateWindow, struct Window *, window, a0, \
  18.     , INTUITION_BASE_NAME)
  19.  
  20. #define AddClass(classPtr) \
  21.     LP1NR(0x2ac, AddClass, struct IClass *, classPtr, a0, \
  22.     , INTUITION_BASE_NAME)
  23.  
  24. #define AddGList(window, gadget, position, numGad, requester) \
  25.     LP5(0x1b6, UWORD, AddGList, struct Window *, window, a0, struct Gadget *, gadget, a1, unsigned long, position, d0, long, numGad, d1, struct Requester *, requester, a2, \
  26.     , INTUITION_BASE_NAME)
  27.  
  28. #define AddGadget(window, gadget, position) \
  29.     LP3(0x2a, UWORD, AddGadget, struct Window *, window, a0, struct Gadget *, gadget, a1, unsigned long, position, d0, \
  30.     , INTUITION_BASE_NAME)
  31.  
  32. #define AllocRemember(rememberKey, size, flags) \
  33.     LP3(0x18c, APTR, AllocRemember, struct Remember **, rememberKey, a0, unsigned long, size, d0, unsigned long, flags, d1, \
  34.     , INTUITION_BASE_NAME)
  35.  
  36. #define AllocScreenBuffer(sc, bm, flags) \
  37.     LP3(0x300, struct ScreenBuffer *, AllocScreenBuffer, struct Screen *, sc, a0, struct BitMap *, bm, a1, unsigned long, flags, d0, \
  38.     , INTUITION_BASE_NAME)
  39.  
  40. #define AlohaWorkbench(wbport) \
  41.     LP1NR(0x192, AlohaWorkbench, long, wbport, a0, \
  42.     , INTUITION_BASE_NAME)
  43.  
  44. #define AutoRequest(window, body, posText, negText, pFlag, nFlag, width, height) \
  45.     LP8(0x15c, BOOL, AutoRequest, struct Window *, window, a0, struct IntuiText *, body, a1, struct IntuiText *, posText, a2, struct IntuiText *, negText, a3, unsigned long, pFlag, d0, unsigned long, nFlag, d1, unsigned long, width, d2, unsigned long, height, d3, \
  46.     , INTUITION_BASE_NAME)
  47.  
  48. #define BeginRefresh(window) \
  49.     LP1NR(0x162, BeginRefresh, struct Window *, window, a0, \
  50.     , INTUITION_BASE_NAME)
  51.  
  52. #define BuildEasyRequestArgs(window, easyStruct, idcmp, args) \
  53.     LP4(0x252, struct Window *, BuildEasyRequestArgs, struct Window *, window, a0, struct EasyStruct *, easyStruct, a1, unsigned long, idcmp, d0, APTR, args, a3, \
  54.     , INTUITION_BASE_NAME)
  55.  
  56. #ifndef NO_INLINE_STDARG
  57. #define BuildEasyRequest(a0, a1, a2, tags...) \
  58.     ({ULONG _tags[] = { tags }; BuildEasyRequestArgs((a0), (a1), (a2), (APTR)_tags);})
  59. #endif /* !NO_INLINE_STDARG */
  60.  
  61. #define BuildSysRequest(window, body, posText, negText, flags, width, height) \
  62.     LP7(0x168, struct Window *, BuildSysRequest, struct Window *, window, a0, struct IntuiText *, body, a1, struct IntuiText *, posText, a2, struct IntuiText *, negText, a3, unsigned long, flags, d0, unsigned long, width, d1, unsigned long, height, d2, \
  63.     , INTUITION_BASE_NAME)
  64.  
  65. #define ChangeScreenBuffer(sc, sb) \
  66.     LP2(0x30c, ULONG, ChangeScreenBuffer, struct Screen *, sc, a0, struct ScreenBuffer *, sb, a1, \
  67.     , INTUITION_BASE_NAME)
  68.  
  69. #define ChangeWindowBox(window, left, top, width, height) \
  70.     LP5NR(0x1e6, ChangeWindowBox, struct Window *, window, a0, long, left, d0, long, top, d1, long, width, d2, long, height, d3, \
  71.     , INTUITION_BASE_NAME)
  72.  
  73. #define ClearDMRequest(window) \
  74.     LP1(0x30, BOOL, ClearDMRequest, struct Window *, window, a0, \
  75.     , INTUITION_BASE_NAME)
  76.  
  77. #define ClearMenuStrip(window) \
  78.     LP1NR(0x36, ClearMenuStrip, struct Window *, window, a0, \
  79.     , INTUITION_BASE_NAME)
  80.  
  81. #define ClearPointer(window) \
  82.     LP1NR(0x3c, ClearPointer, struct Window *, window, a0, \
  83.     , INTUITION_BASE_NAME)
  84.  
  85. #define CloseScreen(screen) \
  86.     LP1(0x42, BOOL, CloseScreen, struct Screen *, screen, a0, \
  87.     , INTUITION_BASE_NAME)
  88.  
  89. #define CloseWindow(window) \
  90.     LP1NR(0x48, CloseWindow, struct Window *, window, a0, \
  91.     , INTUITION_BASE_NAME)
  92.  
  93. #define CloseWorkBench() \
  94.     LP0(0x4e, LONG, CloseWorkBench, \
  95.     , INTUITION_BASE_NAME)
  96.  
  97. #define CurrentTime(seconds, micros) \
  98.     LP2NR(0x54, CurrentTime, ULONG *, seconds, a0, ULONG *, micros, a1, \
  99.     , INTUITION_BASE_NAME)
  100.  
  101. #define DisplayAlert(alertNumber, string, height) \
  102.     LP3(0x5a, BOOL, DisplayAlert, unsigned long, alertNumber, d0, UBYTE *, string, a0, unsigned long, height, d1, \
  103.     , INTUITION_BASE_NAME)
  104.  
  105. #define DisplayBeep(screen) \
  106.     LP1NR(0x60, DisplayBeep, struct Screen *, screen, a0, \
  107.     , INTUITION_BASE_NAME)
  108.  
  109. #define DisposeObject(object) \
  110.     LP1NR(0x282, DisposeObject, APTR, object, a0, \
  111.     , INTUITION_BASE_NAME)
  112.  
  113. #define DoGadgetMethodA(gad, win, req, message) \
  114.     LP4(0x32a, ULONG, DoGadgetMethodA, struct Gadget *, gad, a0, struct Window *, win, a1, struct Requester *, req, a2, Msg, message, a3, \
  115.     , INTUITION_BASE_NAME)
  116.  
  117. #ifndef NO_INLINE_STDARG
  118. #define DoGadgetMethod(a0, a1, a2, tags...) \
  119.     ({ULONG _tags[] = { tags }; DoGadgetMethodA((a0), (a1), (a2), (Msg)_tags);})
  120. #endif /* !NO_INLINE_STDARG */
  121.  
  122. #define DoubleClick(sSeconds, sMicros, cSeconds, cMicros) \
  123.     LP4(0x66, BOOL, DoubleClick, unsigned long, sSeconds, d0, unsigned long, sMicros, d1, unsigned long, cSeconds, d2, unsigned long, cMicros, d3, \
  124.     , INTUITION_BASE_NAME)
  125.  
  126. #define DrawBorder(rp, border, leftOffset, topOffset) \
  127.     LP4NR(0x6c, DrawBorder, struct RastPort *, rp, a0, struct Border *, border, a1, long, leftOffset, d0, long, topOffset, d1, \
  128.     , INTUITION_BASE_NAME)
  129.  
  130. #define DrawImage(rp, image, leftOffset, topOffset) \
  131.     LP4NR(0x72, DrawImage, struct RastPort *, rp, a0, struct Image *, image, a1, long, leftOffset, d0, long, topOffset, d1, \
  132.     , INTUITION_BASE_NAME)
  133.  
  134. #define DrawImageState(rp, image, leftOffset, topOffset, state, drawInfo) \
  135.     LP6NR(0x26a, DrawImageState, struct RastPort *, rp, a0, struct Image *, image, a1, long, leftOffset, d0, long, topOffset, d1, unsigned long, state, d2, struct DrawInfo *, drawInfo, a2, \
  136.     , INTUITION_BASE_NAME)
  137.  
  138. #define EasyRequestArgs(window, easyStruct, idcmpPtr, args) \
  139.     LP4(0x24c, LONG, EasyRequestArgs, struct Window *, window, a0, struct EasyStruct *, easyStruct, a1, ULONG *, idcmpPtr, a2, APTR, args, a3, \
  140.     , INTUITION_BASE_NAME)
  141.  
  142. #ifndef NO_INLINE_STDARG
  143. #define EasyRequest(a0, a1, a2, tags...) \
  144.     ({ULONG _tags[] = { tags }; EasyRequestArgs((a0), (a1), (a2), (APTR)_tags);})
  145. #endif /* !NO_INLINE_STDARG */
  146.  
  147. #define EndRefresh(window, complete) \
  148.     LP2NR(0x16e, EndRefresh, struct Window *, window, a0, long, complete, d0, \
  149.     , INTUITION_BASE_NAME)
  150.  
  151. #define EndRequest(requester, window) \
  152.     LP2NR(0x78, EndRequest, struct Requester *, requester, a0, struct Window *, window, a1, \
  153.     , INTUITION_BASE_NAME)
  154.  
  155. #define EraseImage(rp, image, leftOffset, topOffset) \
  156.     LP4NR(0x276, EraseImage, struct RastPort *, rp, a0, struct Image *, image, a1, long, leftOffset, d0, long, topOffset, d1, \
  157.     , INTUITION_BASE_NAME)
  158.  
  159. #define FreeClass(classPtr) \
  160.     LP1(0x2ca, BOOL, FreeClass, struct IClass *, classPtr, a0, \
  161.     , INTUITION_BASE_NAME)
  162.  
  163. #define FreeRemember(rememberKey, reallyForget) \
  164.     LP2NR(0x198, FreeRemember, struct Remember **, rememberKey, a0, long, reallyForget, d0, \
  165.     , INTUITION_BASE_NAME)
  166.  
  167. #define FreeScreenBuffer(sc, sb) \
  168.     LP2NR(0x306, FreeScreenBuffer, struct Screen *, sc, a0, struct ScreenBuffer *, sb, a1, \
  169.     , INTUITION_BASE_NAME)
  170.  
  171. #define FreeScreenDrawInfo(screen, drawInfo) \
  172.     LP2NR(0x2b8, FreeScreenDrawInfo, struct Screen *, screen, a0, struct DrawInfo *, drawInfo, a1, \
  173.     , INTUITION_BASE_NAME)
  174.  
  175. #define FreeSysRequest(window) \
  176.     LP1NR(0x174, FreeSysRequest, struct Window *, window, a0, \
  177.     , INTUITION_BASE_NAME)
  178.  
  179. #define GadgetMouse(gadget, gInfo, mousePoint) \
  180.     LP3NR(0x23a, GadgetMouse, struct Gadget *, gadget, a0, struct GadgetInfo *, gInfo, a1, WORD *, mousePoint, a2, \
  181.     , INTUITION_BASE_NAME)
  182.  
  183. #define GetAttr(attrID, object, storagePtr) \
  184.     LP3(0x28e, ULONG, GetAttr, unsigned long, attrID, d0, APTR, object, a0, ULONG *, storagePtr, a1, \
  185.     , INTUITION_BASE_NAME)
  186.  
  187. #define GetDefPrefs(preferences, size) \
  188.     LP2(0x7e, struct Preferences *, GetDefPrefs, struct Preferences *, preferences, a0, long, size, d0, \
  189.     , INTUITION_BASE_NAME)
  190.  
  191. #define GetDefaultPubScreen(nameBuffer) \
  192.     LP1NR(0x246, GetDefaultPubScreen, UBYTE *, nameBuffer, a0, \
  193.     , INTUITION_BASE_NAME)
  194.  
  195. #define GetPrefs(preferences, size) \
  196.     LP2(0x84, struct Preferences *, GetPrefs, struct Preferences *, preferences, a0, long, size, d0, \
  197.     , INTUITION_BASE_NAME)
  198.  
  199. #define GetScreenData(buffer, size, type, screen) \
  200.     LP4(0x1aa, LONG, GetScreenData, APTR, buffer, a0, unsigned long, size, d0, unsigned long, type, d1, struct Screen *, screen, a1, \
  201.     , INTUITION_BASE_NAME)
  202.  
  203. #define GetScreenDrawInfo(screen) \
  204.     LP1(0x2b2, struct DrawInfo *, GetScreenDrawInfo, struct Screen *, screen, a0, \
  205.     , INTUITION_BASE_NAME)
  206.  
  207. #define HelpControl(win, flags) \
  208.     LP2NR(0x33c, HelpControl, struct Window *, win, a0, unsigned long, flags, d0, \
  209.     , INTUITION_BASE_NAME)
  210.  
  211. #define InitRequester(requester) \
  212.     LP1NR(0x8a, InitRequester, struct Requester *, requester, a0, \
  213.     , INTUITION_BASE_NAME)
  214.  
  215. #define IntuiTextLength(iText) \
  216.     LP1(0x14a, LONG, IntuiTextLength, struct IntuiText *, iText, a0, \
  217.     , INTUITION_BASE_NAME)
  218.  
  219. #define Intuition(iEvent) \
  220.     LP1NR(0x24, Intuition, struct InputEvent *, iEvent, a0, \
  221.     , INTUITION_BASE_NAME)
  222.  
  223. #define ItemAddress(menuStrip, menuNumber) \
  224.     LP2(0x90, struct MenuItem *, ItemAddress, struct Menu *, menuStrip, a0, unsigned long, menuNumber, d0, \
  225.     , INTUITION_BASE_NAME)
  226.  
  227. #define LendMenus(fromwindow, towindow) \
  228.     LP2NR(0x324, LendMenus, struct Window *, fromwindow, a0, struct Window *, towindow, a1, \
  229.     , INTUITION_BASE_NAME)
  230.  
  231. #define LockIBase(dontknow) \
  232.     LP1(0x19e, ULONG, LockIBase, unsigned long, dontknow, d0, \
  233.     , INTUITION_BASE_NAME)
  234.  
  235. #define LockPubScreen(name) \
  236.     LP1(0x1fe, struct Screen *, LockPubScreen, UBYTE *, name, a0, \
  237.     , INTUITION_BASE_NAME)
  238.  
  239. #define LockPubScreenList() \
  240.     LP0(0x20a, struct List *, LockPubScreenList, \
  241.     , INTUITION_BASE_NAME)
  242.  
  243. #define MakeClass(classID, superClassID, superClassPtr, instanceSize, flags) \
  244.     LP5(0x2a6, struct IClass *, MakeClass, UBYTE *, classID, a0, UBYTE *, superClassID, a1, struct IClass *, superClassPtr, a2, unsigned long, instanceSize, d0, unsigned long, flags, d1, \
  245.     , INTUITION_BASE_NAME)
  246.  
  247. #define MakeScreen(screen) \
  248.     LP1(0x17a, LONG, MakeScreen, struct Screen *, screen, a0, \
  249.     , INTUITION_BASE_NAME)
  250.  
  251. #define ModifyIDCMP(window, flags) \
  252.     LP2(0x96, BOOL, ModifyIDCMP, struct Window *, window, a0, unsigned long, flags, d0, \
  253.     , INTUITION_BASE_NAME)
  254.  
  255. #define ModifyProp(gadget, window, requester, flags, horizPot, vertPot, horizBody, vertBody) \
  256.     LP8NR(0x9c, ModifyProp, struct Gadget *, gadget, a0, struct Window *, window, a1, struct Requester *, requester, a2, unsigned long, flags, d0, unsigned long, horizPot, d1, unsigned long, vertPot, d2, unsigned long, horizBody, d3, unsigned long, vertBody, d4, \
  257.     , INTUITION_BASE_NAME)
  258.  
  259. #define MoveScreen(screen, dx, dy) \
  260.     LP3NR(0xa2, MoveScreen, struct Screen *, screen, a0, long, dx, d0, long, dy, d1, \
  261.     , INTUITION_BASE_NAME)
  262.  
  263. #define MoveWindow(window, dx, dy) \
  264.     LP3NR(0xa8, MoveWindow, struct Window *, window, a0, long, dx, d0, long, dy, d1, \
  265.     , INTUITION_BASE_NAME)
  266.  
  267. #define MoveWindowInFrontOf(window, behindWindow) \
  268.     LP2NR(0x1e0, MoveWindowInFrontOf, struct Window *, window, a0, struct Window *, behindWindow, a1, \
  269.     , INTUITION_BASE_NAME)
  270.  
  271. #define NewModifyProp(gadget, window, requester, flags, horizPot, vertPot, horizBody, vertBody, numGad) \
  272.     LP9NR(0x1d4, NewModifyProp, struct Gadget *, gadget, a0, struct Window *, window, a1, struct Requester *, requester, a2, unsigned long, flags, d0, unsigned long, horizPot, d1, unsigned long, vertPot, d2, unsigned long, horizBody, d3, unsigned long, vertBody, d4, long, numGad, d5, \
  273.     , INTUITION_BASE_NAME)
  274.  
  275. #define NewObjectA(classPtr, classID, tagList) \
  276.     LP3(0x27c, APTR, NewObjectA, struct IClass *, classPtr, a0, UBYTE *, classID, a1, struct TagItem *, tagList, a2, \
  277.     , INTUITION_BASE_NAME)
  278.  
  279. #ifndef NO_INLINE_STDARG
  280. #define NewObject(a0, a1, tags...) \
  281.     ({ULONG _tags[] = { tags }; NewObjectA((a0), (a1), (struct TagItem *)_tags);})
  282. #endif /* !NO_INLINE_STDARG */
  283.  
  284. #define NextObject(objectPtrPtr) \
  285.     LP1(0x29a, APTR, NextObject, APTR, objectPtrPtr, a0, \
  286.     , INTUITION_BASE_NAME)
  287.  
  288. #define NextPubScreen(screen, namebuf) \
  289.     LP2(0x216, UBYTE *, NextPubScreen, struct Screen *, screen, a0, UBYTE *, namebuf, a1, \
  290.     , INTUITION_BASE_NAME)
  291.  
  292. #define ObtainGIRPort(gInfo) \
  293.     LP1(0x22e, struct RastPort *, ObtainGIRPort, struct GadgetInfo *, gInfo, a0, \
  294.     , INTUITION_BASE_NAME)
  295.  
  296. #define OffGadget(gadget, window, requester) \
  297.     LP3NR(0xae, OffGadget, struct Gadget *, gadget, a0, struct Window *, window, a1, struct Requester *, requester, a2, \
  298.     , INTUITION_BASE_NAME)
  299.  
  300. #define OffMenu(window, menuNumber) \
  301.     LP2NR(0xb4, OffMenu, struct Window *, window, a0, unsigned long, menuNumber, d0, \
  302.     , INTUITION_BASE_NAME)
  303.  
  304. #define OnGadget(gadget, window, requester) \
  305.     LP3NR(0xba, OnGadget, struct Gadget *, gadget, a0, struct Window *, window, a1, struct Requester *, requester, a2, \
  306.     , INTUITION_BASE_NAME)
  307.  
  308. #define OnMenu(window, menuNumber) \
  309.     LP2NR(0xc0, OnMenu, struct Window *, window, a0, unsigned long, menuNumber, d0, \
  310.     , INTUITION_BASE_NAME)
  311.  
  312. #define OpenIntuition() \
  313.     LP0NR(0x1e, OpenIntuition, \
  314.     , INTUITION_BASE_NAME)
  315.  
  316. #define OpenScreen(newScreen) \
  317.     LP1(0xc6, struct Screen *, OpenScreen, struct NewScreen *, newScreen, a0, \
  318.     , INTUITION_BASE_NAME)
  319.  
  320. #define OpenScreenTagList(newScreen, tagList) \
  321.     LP2(0x264, struct Screen *, OpenScreenTagList, struct NewScreen *, newScreen, a0, struct TagItem *, tagList, a1, \
  322.     , INTUITION_BASE_NAME)
  323.  
  324. #ifndef NO_INLINE_STDARG
  325. #define OpenScreenTags(a0, tags...) \
  326.     ({ULONG _tags[] = { tags }; OpenScreenTagList((a0), (struct TagItem *)_tags);})
  327. #endif /* !NO_INLINE_STDARG */
  328.  
  329. #define OpenWindow(newWindow) \
  330.     LP1(0xcc, struct Window *, OpenWindow, struct NewWindow *, newWindow, a0, \
  331.     , INTUITION_BASE_NAME)
  332.  
  333. #define OpenWindowTagList(newWindow, tagList) \
  334.     LP2(0x25e, struct Window *, OpenWindowTagList, struct NewWindow *, newWindow, a0, struct TagItem *, tagList, a1, \
  335.     , INTUITION_BASE_NAME)
  336.  
  337. #ifndef NO_INLINE_STDARG
  338. #define OpenWindowTags(a0, tags...) \
  339.     ({ULONG _tags[] = { tags }; OpenWindowTagList((a0), (struct TagItem *)_tags);})
  340. #endif /* !NO_INLINE_STDARG */
  341.  
  342. #define OpenWorkBench() \
  343.     LP0(0xd2, ULONG, OpenWorkBench, \
  344.     , INTUITION_BASE_NAME)
  345.  
  346. #define PointInImage(point, image) \
  347.     LP2(0x270, BOOL, PointInImage, unsigned long, point, d0, struct Image *, image, a0, \
  348.     , INTUITION_BASE_NAME)
  349.  
  350. #define PrintIText(rp, iText, left, top) \
  351.     LP4NR(0xd8, PrintIText, struct RastPort *, rp, a0, struct IntuiText *, iText, a1, long, left, d0, long, top, d1, \
  352.     , INTUITION_BASE_NAME)
  353.  
  354. #define PubScreenStatus(screen, statusFlags) \
  355.     LP2(0x228, UWORD, PubScreenStatus, struct Screen *, screen, a0, unsigned long, statusFlags, d0, \
  356.     , INTUITION_BASE_NAME)
  357.  
  358. #define QueryOverscan(displayID, rect, oScanType) \
  359.     LP3(0x1da, LONG, QueryOverscan, unsigned long, displayID, a0, struct Rectangle *, rect, a1, long, oScanType, d0, \
  360.     , INTUITION_BASE_NAME)
  361.  
  362. #define RefreshGList(gadgets, window, requester, numGad) \
  363.     LP4NR(0x1b0, RefreshGList, struct Gadget *, gadgets, a0, struct Window *, window, a1, struct Requester *, requester, a2, long, numGad, d0, \
  364.     , INTUITION_BASE_NAME)
  365.  
  366. #define RefreshGadgets(gadgets, window, requester) \
  367.     LP3NR(0xde, RefreshGadgets, struct Gadget *, gadgets, a0, struct Window *, window, a1, struct Requester *, requester, a2, \
  368.     , INTUITION_BASE_NAME)
  369.  
  370. #define RefreshWindowFrame(window) \
  371.     LP1NR(0x1c8, RefreshWindowFrame, struct Window *, window, a0, \
  372.     , INTUITION_BASE_NAME)
  373.  
  374. #define ReleaseGIRPort(rp) \
  375.     LP1NR(0x234, ReleaseGIRPort, struct RastPort *, rp, a0, \
  376.     , INTUITION_BASE_NAME)
  377.  
  378. #define RemakeDisplay() \
  379.     LP0(0x180, LONG, RemakeDisplay, \
  380.     , INTUITION_BASE_NAME)
  381.  
  382. #define RemoveClass(classPtr) \
  383.     LP1NR(0x2c4, RemoveClass, struct IClass *, classPtr, a0, \
  384.     , INTUITION_BASE_NAME)
  385.  
  386. #define RemoveGList(remPtr, gadget, numGad) \
  387.     LP3(0x1bc, UWORD, RemoveGList, struct Window *, remPtr, a0, struct Gadget *, gadget, a1, long, numGad, d0, \
  388.     , INTUITION_BASE_NAME)
  389.  
  390. #define RemoveGadget(window, gadget) \
  391.     LP2(0xe4, UWORD, RemoveGadget, struct Window *, window, a0, struct Gadget *, gadget, a1, \
  392.     , INTUITION_BASE_NAME)
  393.  
  394. #define ReportMouse(flag, window) \
  395.     LP2NR(0xea, ReportMouse, long, flag, d0, struct Window *, window, a0, \
  396.     , INTUITION_BASE_NAME)
  397.  
  398. #define Request(requester, window) \
  399.     LP2(0xf0, BOOL, Request, struct Requester *, requester, a0, struct Window *, window, a1, \
  400.     , INTUITION_BASE_NAME)
  401.  
  402. #define ResetMenuStrip(window, menu) \
  403.     LP2(0x2be, BOOL, ResetMenuStrip, struct Window *, window, a0, struct Menu *, menu, a1, \
  404.     , INTUITION_BASE_NAME)
  405.  
  406. #define RethinkDisplay() \
  407.     LP0(0x186, LONG, RethinkDisplay, \
  408.     , INTUITION_BASE_NAME)
  409.  
  410. #define ScreenDepth(screen, flags, reserved) \
  411.     LP3NR(0x312, ScreenDepth, struct Screen *, screen, a0, unsigned long, flags, d0, APTR, reserved, a1, \
  412.     , INTUITION_BASE_NAME)
  413.  
  414. #define ScreenPosition(screen, flags, x1, y1, x2, y2) \
  415.     LP6NR(0x318, ScreenPosition, struct Screen *, screen, a0, unsigned long, flags, d0, long, x1, d1, long, y1, d2, long, x2, d3, long, y2, d4, \
  416.     , INTUITION_BASE_NAME)
  417.  
  418. #define ScreenToBack(screen) \
  419.     LP1NR(0xf6, ScreenToBack, struct Screen *, screen, a0, \
  420.     , INTUITION_BASE_NAME)
  421.  
  422. #define ScreenToFront(screen) \
  423.     LP1NR(0xfc, ScreenToFront, struct Screen *, screen, a0, \
  424.     , INTUITION_BASE_NAME)
  425.  
  426. #define ScrollWindowRaster(win, dx, dy, xMin, yMin, xMax, yMax) \
  427.     LP7NR(0x31e, ScrollWindowRaster, struct Window *, win, a1, long, dx, d0, long, dy, d1, long, xMin, d2, long, yMin, d3, long, xMax, d4, long, yMax, d5, \
  428.     , INTUITION_BASE_NAME)
  429.  
  430. #define SetAttrsA(object, tagList) \
  431.     LP2(0x288, ULONG, SetAttrsA, APTR, object, a0, struct TagItem *, tagList, a1, \
  432.     , INTUITION_BASE_NAME)
  433.  
  434. #ifndef NO_INLINE_STDARG
  435. #define SetAttrs(a0, tags...) \
  436.     ({ULONG _tags[] = { tags }; SetAttrsA((a0), (struct TagItem *)_tags);})
  437. #endif /* !NO_INLINE_STDARG */
  438.  
  439. #define SetDMRequest(window, requester) \
  440.     LP2(0x102, BOOL, SetDMRequest, struct Window *, window, a0, struct Requester *, requester, a1, \
  441.     , INTUITION_BASE_NAME)
  442.  
  443. #define SetDefaultPubScreen(name) \
  444.     LP1NR(0x21c, SetDefaultPubScreen, UBYTE *, name, a0, \
  445.     , INTUITION_BASE_NAME)
  446.  
  447. #define SetEditHook(hook) \
  448.     LP1(0x1ec, struct Hook *, SetEditHook, struct Hook *, hook, a0, \
  449.     , INTUITION_BASE_NAME)
  450.  
  451. #define SetGadgetAttrsA(gadget, window, requester, tagList) \
  452.     LP4(0x294, ULONG, SetGadgetAttrsA, struct Gadget *, gadget, a0, struct Window *, window, a1, struct Requester *, requester, a2, struct TagItem *, tagList, a3, \
  453.     , INTUITION_BASE_NAME)
  454.  
  455. #ifndef NO_INLINE_STDARG
  456. #define SetGadgetAttrs(a0, a1, a2, tags...) \
  457.     ({ULONG _tags[] = { tags }; SetGadgetAttrsA((a0), (a1), (a2), (struct TagItem *)_tags);})
  458. #endif /* !NO_INLINE_STDARG */
  459.  
  460. #define SetMenuStrip(window, menu) \
  461.     LP2(0x108, BOOL, SetMenuStrip, struct Window *, window, a0, struct Menu *, menu, a1, \
  462.     , INTUITION_BASE_NAME)
  463.  
  464. #define SetMouseQueue(window, queueLength) \
  465.     LP2(0x1f2, LONG, SetMouseQueue, struct Window *, window, a0, unsigned long, queueLength, d0, \
  466.     , INTUITION_BASE_NAME)
  467.  
  468. #define SetPointer(window, pointer, height, width, xOffset, yOffset) \
  469.     LP6NR(0x10e, SetPointer, struct Window *, window, a0, UWORD *, pointer, a1, long, height, d0, long, width, d1, long, xOffset, d2, long, yOffset, d3, \
  470.     , INTUITION_BASE_NAME)
  471.  
  472. #define SetPrefs(preferences, size, inform) \
  473.     LP3(0x144, struct Preferences *, SetPrefs, struct Preferences *, preferences, a0, long, size, d0, long, inform, d1, \
  474.     , INTUITION_BASE_NAME)
  475.  
  476. #define SetPubScreenModes(modes) \
  477.     LP1(0x222, UWORD, SetPubScreenModes, unsigned long, modes, d0, \
  478.     , INTUITION_BASE_NAME)
  479.  
  480. #define SetWindowPointerA(win, taglist) \
  481.     LP2NR(0x330, SetWindowPointerA, struct Window *, win, a0, struct TagItem *, taglist, a1, \
  482.     , INTUITION_BASE_NAME)
  483.  
  484. #ifndef NO_INLINE_STDARG
  485. #define SetWindowPointer(a0, tags...) \
  486.     ({ULONG _tags[] = { tags }; SetWindowPointerA((a0), (struct TagItem *)_tags);})
  487. #endif /* !NO_INLINE_STDARG */
  488.  
  489. #define SetWindowTitles(window, windowTitle, screenTitle) \
  490.     LP3NR(0x114, SetWindowTitles, struct Window *, window, a0, UBYTE *, windowTitle, a1, UBYTE *, screenTitle, a2, \
  491.     , INTUITION_BASE_NAME)
  492.  
  493. #define ShowTitle(screen, showIt) \
  494.     LP2NR(0x11a, ShowTitle, struct Screen *, screen, a0, long, showIt, d0, \
  495.     , INTUITION_BASE_NAME)
  496.  
  497. #define SizeWindow(window, dx, dy) \
  498.     LP3NR(0x120, SizeWindow, struct Window *, window, a0, long, dx, d0, long, dy, d1, \
  499.     , INTUITION_BASE_NAME)
  500.  
  501. #define SysReqHandler(window, idcmpPtr, waitInput) \
  502.     LP3(0x258, LONG, SysReqHandler, struct Window *, window, a0, ULONG *, idcmpPtr, a1, long, waitInput, d0, \
  503.     , INTUITION_BASE_NAME)
  504.  
  505. #define TimedDisplayAlert(alertNumber, string, height, time) \
  506.     LP4(0x336, BOOL, TimedDisplayAlert, unsigned long, alertNumber, d0, UBYTE *, string, a0, unsigned long, height, d1, unsigned long, time, a1, \
  507.     , INTUITION_BASE_NAME)
  508.  
  509. #define UnlockIBase(ibLock) \
  510.     LP1NR(0x1a4, UnlockIBase, unsigned long, ibLock, a0, \
  511.     , INTUITION_BASE_NAME)
  512.  
  513. #define UnlockPubScreen(name, screen) \
  514.     LP2NR(0x204, UnlockPubScreen, UBYTE *, name, a0, struct Screen *, screen, a1, \
  515.     , INTUITION_BASE_NAME)
  516.  
  517. #define UnlockPubScreenList() \
  518.     LP0NR(0x210, UnlockPubScreenList, \
  519.     , INTUITION_BASE_NAME)
  520.  
  521. #define ViewAddress() \
  522.     LP0(0x126, struct View *, ViewAddress, \
  523.     , INTUITION_BASE_NAME)
  524.  
  525. #define ViewPortAddress(window) \
  526.     LP1(0x12c, struct ViewPort *, ViewPortAddress, struct Window *, window, a0, \
  527.     , INTUITION_BASE_NAME)
  528.  
  529. #define WBenchToBack() \
  530.     LP0(0x150, BOOL, WBenchToBack, \
  531.     , INTUITION_BASE_NAME)
  532.  
  533. #define WBenchToFront() \
  534.     LP0(0x156, BOOL, WBenchToFront, \
  535.     , INTUITION_BASE_NAME)
  536.  
  537. #define WindowLimits(window, widthMin, heightMin, widthMax, heightMax) \
  538.     LP5(0x13e, BOOL, WindowLimits, struct Window *, window, a0, long, widthMin, d0, long, heightMin, d1, unsigned long, widthMax, d2, unsigned long, heightMax, d3, \
  539.     , INTUITION_BASE_NAME)
  540.  
  541. #define WindowToBack(window) \
  542.     LP1NR(0x132, WindowToBack, struct Window *, window, a0, \
  543.     , INTUITION_BASE_NAME)
  544.  
  545. #define WindowToFront(window) \
  546.     LP1NR(0x138, WindowToFront, struct Window *, window, a0, \
  547.     , INTUITION_BASE_NAME)
  548.  
  549. #define ZipWindow(window) \
  550.     LP1NR(0x1f8, ZipWindow, struct Window *, window, a0, \
  551.     , INTUITION_BASE_NAME)
  552.  
  553. #endif /* _INLINE_INTUITION_H */
  554.