home *** CD-ROM | disk | FTP | other *** search
/ Creative Computers / CreativeComputers.iso / shareware / intuition / reqtools_2.1e / glue / gcc / gcc_glue.lha / reqtoolsglue.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-03-15  |  9.8 KB  |  295 lines

  1. #include <intuition/intuition.h>
  2. #include <libraries/reqtools.h>
  3. #include <clib/reqtools_protos.h>
  4.  
  5. void
  6. rtUnlockWindow (struct Window * win, APTR winlock)
  7. {
  8.   extern struct ReqToolsBase *  ReqToolsBase;
  9.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  10.   register struct Window * a0 __asm("a0") = win;
  11.   register APTR a1 __asm("a1") = winlock;
  12.   __asm __volatile ("jsr a6@(-162)"
  13.   : /* no output */
  14.   : "r" (a6), "r" (a0), "r" (a1)
  15.   : "a0", "a1",  "memory");
  16. }
  17. APTR
  18. rtLockWindow (struct Window * win)
  19. {
  20.   extern struct ReqToolsBase *  ReqToolsBase;
  21.   register APTR _res  __asm("d0");
  22.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  23.   register struct Window * a0 __asm("a0") = win;
  24.   __asm __volatile ("jsr a6@(-156)"
  25.   : "=r" (_res)
  26.   : "r" (a6), "r" (a0)
  27.   : "a0",  "memory");
  28.   return _res;
  29. }
  30. void
  31. rtCloseWindowSafely (struct Window * win)
  32. {
  33.   extern struct ReqToolsBase *  ReqToolsBase;
  34.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  35.   register struct Window * a0 __asm("a0") = win;
  36.   __asm __volatile ("jsr a6@(-150)"
  37.   : /* no output */
  38.   : "r" (a6), "r" (a0)
  39.   : "a0",  "memory");
  40. }
  41. ULONG
  42. rtScreenModeRequestA (struct rtScreenModeRequester * screenmodereq, char * title, struct TagItem * taglist)
  43. {
  44.   extern struct ReqToolsBase *  ReqToolsBase;
  45.   register ULONG _res  __asm("d0");
  46.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  47.   register struct rtScreenModeRequester * a1 __asm("a1") = screenmodereq;
  48.   register char * a3 __asm("a3") = title;
  49.   register struct TagItem * a0 __asm("a0") = taglist;
  50.   __asm __volatile ("jsr a6@(-144)"
  51.   : "=r" (_res)
  52.   : "r" (a6), "r" (a1), "r" (a3), "r" (a0)
  53.   : "a0", "a1", "a3",  "memory");
  54.   return _res;
  55. }
  56. void
  57. rtScreenToFrontSafely (struct Screen * screen)
  58. {
  59.   extern struct ReqToolsBase *  ReqToolsBase;
  60.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  61.   register struct Screen * a0 __asm("a0") = screen;
  62.   __asm __volatile ("jsr a6@(-138)"
  63.   : /* no output */
  64.   : "r" (a6), "r" (a0)
  65.   : "a0",  "memory");
  66. }
  67. void
  68. rtSpread (ULONG * posarray, ULONG * sizearray, ULONG length, ULONG min, ULONG max, ULONG num)
  69. {
  70.   extern struct ReqToolsBase *  ReqToolsBase;
  71.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  72.   register ULONG * a0 __asm("a0") = posarray;
  73.   register ULONG * a1 __asm("a1") = sizearray;
  74.   register ULONG d0 __asm("d0") = length;
  75.   register ULONG d1 __asm("d1") = min;
  76.   register ULONG d2 __asm("d2") = max;
  77.   register ULONG d3 __asm("d3") = num;
  78.   __asm __volatile ("jsr a6@(-132)"
  79.   : /* no output */
  80.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (d1), "r" (d2), "r" (d3)
  81.   : "a0", "a1", "d0", "d1", "d2", "d3",  "memory");
  82. }
  83. void
  84. rtSetReqPosition (ULONG reqpos, struct NewWindow * newwindow, struct Screen * screen, struct Window * window)
  85. {
  86.   extern struct ReqToolsBase *  ReqToolsBase;
  87.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  88.   register ULONG d0 __asm("d0") = reqpos;
  89.   register struct NewWindow * a0 __asm("a0") = newwindow;
  90.   register struct Screen * a1 __asm("a1") = screen;
  91.   register struct Window * a2 __asm("a2") = window;
  92.   __asm __volatile ("jsr a6@(-126)"
  93.   : /* no output */
  94.   : "r" (a6), "r" (d0), "r" (a0), "r" (a1), "r" (a2)
  95.   : "a0", "a1", "a2", "d0",  "memory");
  96. }
  97. ULONG
  98. rtGetVScreenSize (struct Screen * screen, ULONG * widthptr, ULONG * heightptr)
  99. {
  100.   extern struct ReqToolsBase *  ReqToolsBase;
  101.   register ULONG _res  __asm("d0");
  102.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  103.   register struct Screen * a0 __asm("a0") = screen;
  104.   register ULONG * a1 __asm("a1") = widthptr;
  105.   register ULONG * a2 __asm("a2") = heightptr;
  106.   __asm __volatile ("jsr a6@(-120)"
  107.   : "=r" (_res)
  108.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2)
  109.   : "a0", "a1", "a2",  "memory");
  110.   return _res;
  111. }
  112. void
  113. rtSetWaitPointer (struct Window * window)
  114. {
  115.   extern struct ReqToolsBase *  ReqToolsBase;
  116.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  117.   register struct Window * a0 __asm("a0") = window;
  118.   __asm __volatile ("jsr a6@(-114)"
  119.   : /* no output */
  120.   : "r" (a6), "r" (a0)
  121.   : "a0",  "memory");
  122. }
  123. ULONG
  124. rtReqHandlerA (struct rtHandlerInfo * handlerinfo, ULONG sigs, struct TagItem * taglist)
  125. {
  126.   extern struct ReqToolsBase *  ReqToolsBase;
  127.   register ULONG _res  __asm("d0");
  128.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  129.   register struct rtHandlerInfo * a1 __asm("a1") = handlerinfo;
  130.   register ULONG d0 __asm("d0") = sigs;
  131.   register struct TagItem * a0 __asm("a0") = taglist;
  132.   __asm __volatile ("jsr a6@(-108)"
  133.   : "=r" (_res)
  134.   : "r" (a6), "r" (a1), "r" (d0), "r" (a0)
  135.   : "a0", "a1", "d0",  "memory");
  136.   return _res;
  137. }
  138. LONG
  139. rtPaletteRequestA (char * title, struct rtReqInfo * reqinfo, struct TagItem * taglist)
  140. {
  141.   extern struct ReqToolsBase *  ReqToolsBase;
  142.   register LONG _res  __asm("d0");
  143.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  144.   register char * a2 __asm("a2") = title;
  145.   register struct rtReqInfo * a3 __asm("a3") = reqinfo;
  146.   register struct TagItem * a0 __asm("a0") = taglist;
  147.   __asm __volatile ("jsr a6@(-102)"
  148.   : "=r" (_res)
  149.   : "r" (a6), "r" (a2), "r" (a3), "r" (a0)
  150.   : "a0", "a2", "a3",  "memory");
  151.   return _res;
  152. }
  153. ULONG
  154. rtFontRequestA (struct rtFontRequester * fontreq, char * title, struct TagItem * taglist)
  155. {
  156.   extern struct ReqToolsBase *  ReqToolsBase;
  157.   register ULONG _res  __asm("d0");
  158.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  159.   register struct rtFontRequester * a1 __asm("a1") = fontreq;
  160.   register char * a3 __asm("a3") = title;
  161.   register struct TagItem * a0 __asm("a0") = taglist;
  162.   __asm __volatile ("jsr a6@(-96)"
  163.   : "=r" (_res)
  164.   : "r" (a6), "r" (a1), "r" (a3), "r" (a0)
  165.   : "a0", "a1", "a3",  "memory");
  166.   return _res;
  167. }
  168. ULONG
  169. rtGetLongA (ULONG * longptr, char * title, struct rtReqInfo * reqinfo, struct TagItem * taglist)
  170. {
  171.   extern struct ReqToolsBase *  ReqToolsBase;
  172.   register ULONG _res  __asm("d0");
  173.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  174.   register ULONG * a1 __asm("a1") = longptr;
  175.   register char * a2 __asm("a2") = title;
  176.   register struct rtReqInfo * a3 __asm("a3") = reqinfo;
  177.   register struct TagItem * a0 __asm("a0") = taglist;
  178.   __asm __volatile ("jsr a6@(-78)"
  179.   : "=r" (_res)
  180.   : "r" (a6), "r" (a1), "r" (a2), "r" (a3), "r" (a0)
  181.   : "a0", "a1", "a2", "a3",  "memory");
  182.   return _res;
  183. }
  184. ULONG
  185. rtGetStringA (UBYTE * buffer, ULONG maxchars, char * title, struct rtReqInfo * reqinfo, struct TagItem * taglist)
  186. {
  187.   extern struct ReqToolsBase *  ReqToolsBase;
  188.   register ULONG _res  __asm("d0");
  189.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  190.   register UBYTE * a1 __asm("a1") = buffer;
  191.   register ULONG d0 __asm("d0") = maxchars;
  192.   register char * a2 __asm("a2") = title;
  193.   register struct rtReqInfo * a3 __asm("a3") = reqinfo;
  194.   register struct TagItem * a0 __asm("a0") = taglist;
  195.   __asm __volatile ("jsr a6@(-72)"
  196.   : "=r" (_res)
  197.   : "r" (a6), "r" (a1), "r" (d0), "r" (a2), "r" (a3), "r" (a0)
  198.   : "a0", "a1", "a2", "a3", "d0",  "memory");
  199.   return _res;
  200. }
  201. ULONG
  202. rtEZRequestA (char * bodyfmt, char * gadfmt, struct rtReqInfo * reqinfo, APTR argarray, struct TagItem * taglist)
  203. {
  204.   extern struct ReqToolsBase *  ReqToolsBase;
  205.   register ULONG _res  __asm("d0");
  206.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  207.   register char * a1 __asm("a1") = bodyfmt;
  208.   register char * a2 __asm("a2") = gadfmt;
  209.   register struct rtReqInfo * a3 __asm("a3") = reqinfo;
  210.   register APTR a4 __asm("a4") = argarray;
  211.   register struct TagItem * a0 __asm("a0") = taglist;
  212.   __asm __volatile ("jsr a6@(-66)"
  213.   : "=r" (_res)
  214.   : "r" (a6), "r" (a1), "r" (a2), "r" (a3), "r" (a4), "r" (a0)
  215.   : "a0", "a1", "a2", "a3", "a4",  "memory");
  216.   return _res;
  217. }
  218. void
  219. rtFreeFileList (struct rtFileList * filelist)
  220. {
  221.   extern struct ReqToolsBase *  ReqToolsBase;
  222.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  223.   register struct rtFileList * a0 __asm("a0") = filelist;
  224.   __asm __volatile ("jsr a6@(-60)"
  225.   : /* no output */
  226.   : "r" (a6), "r" (a0)
  227.   : "a0",  "memory");
  228. }
  229. APTR
  230. rtFileRequestA (struct rtFileRequester * filereq, char * file, char * title, struct TagItem * taglist)
  231. {
  232.   extern struct ReqToolsBase *  ReqToolsBase;
  233.   register APTR _res  __asm("d0");
  234.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  235.   register struct rtFileRequester * a1 __asm("a1") = filereq;
  236.   register char * a2 __asm("a2") = file;
  237.   register char * a3 __asm("a3") = title;
  238.   register struct TagItem * a0 __asm("a0") = taglist;
  239.   __asm __volatile ("jsr a6@(-54)"
  240.   : "=r" (_res)
  241.   : "r" (a6), "r" (a1), "r" (a2), "r" (a3), "r" (a0)
  242.   : "a0", "a1", "a2", "a3",  "memory");
  243.   return _res;
  244. }
  245. LONG
  246. rtChangeReqAttrA (APTR req, struct TagItem * taglist)
  247. {
  248.   extern struct ReqToolsBase *  ReqToolsBase;
  249.   register LONG _res  __asm("d0");
  250.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  251.   register APTR a1 __asm("a1") = req;
  252.   register struct TagItem * a0 __asm("a0") = taglist;
  253.   __asm __volatile ("jsr a6@(-48)"
  254.   : "=r" (_res)
  255.   : "r" (a6), "r" (a1), "r" (a0)
  256.   : "a0", "a1",  "memory");
  257.   return _res;
  258. }
  259. void
  260. rtFreeReqBuffer (APTR req)
  261. {
  262.   extern struct ReqToolsBase *  ReqToolsBase;
  263.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  264.   register APTR a1 __asm("a1") = req;
  265.   __asm __volatile ("jsr a6@(-42)"
  266.   : /* no output */
  267.   : "r" (a6), "r" (a1)
  268.   : "a1",  "memory");
  269. }
  270. void
  271. rtFreeRequest (APTR req)
  272. {
  273.   extern struct ReqToolsBase *  ReqToolsBase;
  274.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  275.   register APTR a1 __asm("a1") = req;
  276.   __asm __volatile ("jsr a6@(-36)"
  277.   : /* no output */
  278.   : "r" (a6), "r" (a1)
  279.   : "a1",  "memory");
  280. }
  281. APTR
  282. rtAllocRequestA (ULONG type, struct TagItem * taglist)
  283. {
  284.   extern struct ReqToolsBase *  ReqToolsBase;
  285.   register APTR _res  __asm("d0");
  286.   register struct ReqToolsBase * a6 __asm("a6") = ReqToolsBase;
  287.   register ULONG d0 __asm("d0") = type;
  288.   register struct TagItem * a0 __asm("a0") = taglist;
  289.   __asm __volatile ("jsr a6@(-30)"
  290.   : "=r" (_res)
  291.   : "r" (a6), "r" (d0), "r" (a0)
  292.   : "a0", "d0",  "memory");
  293.   return _res;
  294. }
  295.