home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / bbs / cbm / os-include.lha / os-include / inline / intuition.h < prev    next >
C/C++ Source or Header  |  1993-12-09  |  57KB  |  1,701 lines

  1. #ifndef _INLINE_INTUITION_H
  2. #define _INLINE_INTUITION_H
  3.  
  4. #include <sys/cdefs.h>
  5. #include <inline/stubs.h>
  6.  
  7. __BEGIN_DECLS
  8.  
  9. #ifndef BASE_EXT_DECL
  10. #define BASE_EXT_DECL extern struct IntuitionBase*  IntuitionBase;
  11. #endif
  12. #ifndef BASE_PAR_DECL
  13. #define BASE_PAR_DECL
  14. #define BASE_PAR_DECL0 void
  15. #endif
  16. #ifndef BASE_NAME
  17. #define BASE_NAME IntuitionBase
  18. #endif
  19.  
  20. static __inline BOOL 
  21. ActivateGadget (BASE_PAR_DECL struct Gadget *gadgets,struct Window *window,struct Requester *requester)
  22. {
  23.   BASE_EXT_DECL
  24.   register BOOL  _res  __asm("d0");
  25.   register struct IntuitionBase* a6 __asm("a6") = BASE_NAME;
  26.   register struct Gadget *a0 __asm("a0") = gadgets;
  27.   register struct Window *a1 __asm("a1") = window;
  28.   register struct Requester *a2 __asm("a2") = requester;
  29.   __asm __volatile ("jsr a6@(-0x1ce)"
  30.   : "=r" (_res)
  31.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2)
  32.   : "a0","a1","a2","d0","d1", "memory");
  33.   return _res;
  34. }
  35. static __inline void 
  36. ActivateWindow (BASE_PAR_DECL struct Window *window)
  37. {
  38.   BASE_EXT_DECL
  39.   register struct IntuitionBase* a6 __asm("a6") = BASE_NAME;
  40.   register struct Window *a0 __asm("a0") = window;
  41.   __asm __volatile ("jsr a6@(-0x1c2)"
  42.   : /* no output */
  43.   : "r" (a6), "r" (a0)
  44.   : "a0","a1","d0","d1", "memory");
  45. }
  46. static __inline void 
  47. AddClass (BASE_PAR_DECL struct IClass *classPtr)
  48. {
  49.   BASE_EXT_DECL
  50.   register struct IntuitionBase* a6 __asm("a6") = BASE_NAME;
  51.   register struct IClass *a0 __asm("a0") = classPtr;
  52.   __asm __volatile ("jsr a6@(-0x2ac)"
  53.   : /* no output */
  54.   : "r" (a6), "r" (a0)
  55.   : "a0","a1","d0","d1", "memory");
  56. }
  57. static __inline UWORD 
  58. AddGList (BASE_PAR_DECL struct Window *window,struct Gadget *gadget,unsigned long position,long numGad,struct Requester *requester)
  59. {
  60.   BASE_EXT_DECL
  61.   register UWORD  _res  __asm("d0");
  62.   register struct IntuitionBase* a6 __asm("a6") = BASE_NAME;
  63.   register struct Window *a0 __asm("a0") = window;
  64.   register struct Gadget *a1 __asm("a1") = gadget;
  65.   register unsigned long d0 __asm("d0") = position;
  66.   register long d1 __asm("d1") = numGad;
  67.   register struct Requester *a2 __asm("a2") = requester;
  68.   __asm __volatile ("jsr a6@(-0x1b6)"
  69.   : "=r" (_res)
  70.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (d1), "r" (a2)
  71.   : "a0","a1","a2","d0","d1", "memory");
  72.   return _res;
  73. }
  74. static __inline UWORD 
  75. AddGadget (BASE_PAR_DECL struct Window *window,struct Gadget *gadget,unsigned long position)
  76. {
  77.   BASE_EXT_DECL
  78.   register UWORD  _res  __asm("d0");
  79.   register struct IntuitionBase* a6 __asm("a6") = BASE_NAME;
  80.   register struct Window *a0 __asm("a0") = window;
  81.   register struct Gadget *a1 __asm("a1") = gadget;
  82.   register unsigned long d0 __asm("d0") = position;
  83.   __asm __volatile ("jsr a6@(-0x2a)"
  84.   : "=r" (_res)
  85.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  86.   : "a0","a1","d0","d1", "memory");
  87.   return _res;
  88. }
  89. static __inline APTR 
  90. AllocRemember (BASE_PAR_DECL struct Remember **rememberKey,unsigned long size,unsigned long flags)
  91. {
  92.   BASE_EXT_DECL
  93.   register APTR  _res  __asm("d0");
  94.   register struct IntuitionBase* a6 __asm("a6") = BASE_NAME;
  95.   register struct Remember **a0 __asm("a0") = rememberKey;
  96.   register unsigned long d0 __asm("d0") = size;
  97.   register unsigned long d1 __asm("d1") = flags;
  98.   __asm __volatile ("jsr a6@(-0x18c)"
  99.   : "=r" (_res)
  100.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  101.   : "a0","a1","d0","d1", "memory");
  102.   return _res;
  103. }
  104. static __inline struct ScreenBuffer *
  105. AllocScreenBuffer (BASE_PAR_DECL struct Screen *sc,struct BitMap *bm,unsigned long flags)
  106. {
  107.   BASE_EXT_DECL
  108.   register struct ScreenBuffer * _res  __asm("d0");
  109.   register struct IntuitionBase* a6 __asm("a6") = BASE_NAME;
  110.   register struct Screen *a0 __asm("a0") = sc;
  111.   register struct BitMap *a1 __asm("a1") = bm;
  112.   register unsigned long d0 __asm("d0") = flags;
  113.   __asm __volatile ("jsr a6@(-0x300)"
  114.   : "=r" (_res)
  115.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  116.   : "a0","a1","d0","d1", "memory");
  117.   return _res;
  118. }
  119. static __inline void 
  120. AlohaWorkbench (BASE_PAR_DECL long wbport)
  121. {
  122.   BASE_EXT_DECL
  123.   register struct IntuitionBase* a6 __asm("a6") = BASE_NAME;
  124.   register long a0 __asm("a0") = wbport;
  125.   __asm __volatile ("jsr a6@(-0x192)"
  126.   : /* no output */
  127.   : "r" (a6), "r" (a0)
  128.   : "a0","a1","d0","d1", "memory");
  129. }
  130. static __inline BOOL 
  131. AutoRequest (BASE_PAR_DECL struct Window *window,struct IntuiText *body,struct IntuiText *posText,struct IntuiText *negText,unsigned long pFlag,unsigned long nFlag,unsigned long width,unsigned long height)
  132. {
  133.   BASE_EXT_DECL
  134.   register BOOL  _res  __asm("d0");
  135.   register struct IntuitionBase* a6 __asm("a6") = BASE_NAME;
  136.   register struct Window *a0 __asm("a0") = window;
  137.   register struct IntuiText *a1 __asm("a1") = body;
  138.   register struct IntuiText *a2 __asm("a2") = posText;
  139.   register struct IntuiText *a3 __asm("a3") = negText;
  140.   register unsigned long d0 __asm("d0") = pFlag;
  141.   register unsigned long d1 __asm("d1") = nFlag;
  142.   register unsigned long d2 __asm("d2") = width;
  143.   register unsigned long d3 __asm("d3") = height;
  144.   __asm __volatile ("jsr a6@(-0x15c)"
  145.   : "=r" (_res)
  146.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (a3), "r" (d0), "r" (d1), "r" (d2), "r" (d3)
  147.   : "a0","a1","a2","a3","d0","d1","d2","d3", "memory");
  148.   return _res;
  149. }
  150. static __inline void 
  151. BeginRefresh (BASE_PAR_DECL struct Window *window)
  152. {
  153.   BASE_EXT_DECL
  154.   register struct IntuitionBase* a6 __asm("a6") = BASE_NAME;
  155.   register struct Window *a0 __asm("a0") = window;
  156.   __asm __volatile ("jsr a6@(-0x162)"
  157.   : /* no output */
  158.   : "r" (a6), "r" (a0)
  159.   : "a0","a1","d0","d1", "memory");
  160. }
  161. static __inline struct Window *
  162. BuildEasyRequestArgs (BASE_PAR_DECL struct Window *window,struct EasyStruct *easyStruct,unsigned long idcmp,APTR args)
  163. {
  164.   BASE_EXT_DECL
  165.   register struct Window * _res  __asm("d0");
  166.   register struct IntuitionBase* a6 __asm("a6") = BASE_NAME;
  167.   register struct Window *a0 __asm("a0") = window;
  168.   register struct EasyStruct *a1 __asm("a1") = easyStruct;
  169.   register unsigned long d0 __asm("d0") = idcmp;
  170.   register APTR a3 __asm("a3") = args;
  171.   __asm __volatile ("jsr a6@(-0x252)"
  172.   : "=r" (_res)
  173.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (a3)
  174.   : "a0","a1","a3","d0","d1", "memory");
  175.   return _res;
  176. }
  177. static __inline struct Window *
  178. BuildSysRequest (BASE_PAR_DECL struct Window *window,struct IntuiText *body,struct IntuiText *posText,struct IntuiText *negText,unsigned long flags,unsigned long width,unsigned long height)
  179. {
  180.   BASE_EXT_DECL
  181.   register struct Window * _res  __asm("d0");
  182.   register struct IntuitionBase* a6 __asm("a6") = BASE_NAME;
  183.   register struct Window *a0 __asm("a0") = window;
  184.   register struct IntuiText *a1 __asm("a1") = body;
  185.   register struct IntuiText *a2 __asm("a2") = posText;
  186.   register struct IntuiText *a3 __asm("a3") = negText;
  187.   register unsigned long d0 __asm("d0") = flags;
  188.   register unsigned long d1 __asm("d1") = width;
  189.   register unsigned long d2 __asm("d2") = height;
  190.   __asm __volatile ("jsr a6@(-0x168)"
  191.   : "=r" (_res)
  192.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (a3), "r" (d0), "r" (d1), "r" (d2)
  193.   : "a0","a1","a2","a3","d0","d1","d2", "memory");
  194.   return _res;
  195. }
  196. static __inline ULONG 
  197. ChangeScreenBuffer (BASE_PAR_DECL struct Screen *sc,struct ScreenBuffer *sb)
  198. {
  199.   BASE_EXT_DECL
  200.   register ULONG  _res  __asm("d0");
  201.   register struct IntuitionBase* a6 __asm("a6") = BASE_NAME;
  202.   register struct Screen *a0 __asm("a0") = sc;
  203.   register struct ScreenBuffer *a1 __asm("a1") = sb;
  204.   __asm __volatile ("jsr a6@(-0x30c)"
  205.   : "=r" (_res)
  206.   : "r" (a6), "r" (a0), "r" (a1)
  207.   : "a0","a1","d0","d1", "memory");
  208.   return _res;
  209. }
  210. static __inline void 
  211. ChangeWindowBox (BASE_PAR_DECL struct Window *window,long left,long top,long width,long height)
  212. {
  213.   BASE_EXT_DECL
  214.   register struct IntuitionBase* a6 __asm("a6") = BASE_NAME;
  215.   register struct Window *a0 __asm("a0") = window;
  216.   register long d0 __asm("d0") = left;
  217.   register long d1 __asm("d1") = top;
  218.   register long d2 __asm("d2") = width;
  219.   register long d3 __asm("d3") = height;
  220.   __asm __volatile ("jsr a6@(-0x1e6)"
  221.   : /* no output */
  222.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2), "r" (d3)
  223.   : "a0","a1","d0","d1","d2","d3", "memory");
  224. }
  225. static __inline BOOL 
  226. ClearDMRequest (BASE_PAR_DECL struct Window *window)
  227. {
  228.   BASE_EXT_DECL
  229.   register BOOL  _res  __asm("d0"