home *** CD-ROM | disk | FTP | other *** search
- #ifndef _INLINE_REQTOOLS_H
- #define _INLINE_REQTOOLS_H
-
- #include <sys/cdefs.h>
- #include <inline/stubs.h>
-
- #include <intuition/intuition.h>
- #include <libraries/reqtools.h>
- #include <clib/reqtools_protos.h>
-
- __BEGIN_DECLS
-
- #ifndef BASE_EXT_DECL
- #define BASE_EXT_DECL extern struct ReqToolsBase * ReqToolsBase;
- #endif
- #ifndef BASE_PAR_DECL
- #define BASE_PAR_DECL
- #define BASE_PAR_DECL0 void
- #endif
- #ifndef BASE_NAME
- #define BASE_NAME ReqToolsBase
- #endif
-
- static __inline void
- rtUnlockWindow (BASE_PAR_DECL struct Window * win, APTR winlock)
- {
- BASE_EXT_DECL
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register struct Window * a0 __asm("a0") = win;
- register APTR a1 __asm("a1") = winlock;
- __asm __volatile ("jsr a6@(-162)"
- : /* no output */
- : "r" (a6), "r" (a0), "r" (a1)
- : "a0", "a1", "memory");
- }
- static __inline APTR
- rtLockWindow (BASE_PAR_DECL struct Window * win)
- {
- BASE_EXT_DECL
- register APTR _res __asm("d0");
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register struct Window * a0 __asm("a0") = win;
- __asm __volatile ("jsr a6@(-156)"
- : "=r" (_res)
- : "r" (a6), "r" (a0)
- : "a0", "memory");
- return _res;
- }
- static __inline void
- rtCloseWindowSafely (BASE_PAR_DECL struct Window * win)
- {
- BASE_EXT_DECL
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register struct Window * a0 __asm("a0") = win;
- __asm __volatile ("jsr a6@(-150)"
- : /* no output */
- : "r" (a6), "r" (a0)
- : "a0", "memory");
- }
- static __inline ULONG
- rtScreenModeRequestA (BASE_PAR_DECL struct rtScreenModeRequester * screenmodereq, char * title, struct TagItem * taglist)
- {
- BASE_EXT_DECL
- register ULONG _res __asm("d0");
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register struct rtScreenModeRequester * a1 __asm("a1") = screenmodereq;
- register char * a3 __asm("a3") = title;
- register struct TagItem * a0 __asm("a0") = taglist;
- __asm __volatile ("jsr a6@(-144)"
- : "=r" (_res)
- : "r" (a6), "r" (a1), "r" (a3), "r" (a0)
- : "a0", "a1", "a3", "memory");
- return _res;
- }
- static __inline void
- rtScreenToFrontSafely (BASE_PAR_DECL struct Screen * screen)
- {
- BASE_EXT_DECL
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register struct Screen * a0 __asm("a0") = screen;
- __asm __volatile ("jsr a6@(-138)"
- : /* no output */
- : "r" (a6), "r" (a0)
- : "a0", "memory");
- }
- static __inline void
- rtSpread (BASE_PAR_DECL ULONG * posarray, ULONG * sizearray, ULONG length, ULONG min, ULONG max, ULONG num)
- {
- BASE_EXT_DECL
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register ULONG * a0 __asm("a0") = posarray;
- register ULONG * a1 __asm("a1") = sizearray;
- register ULONG d0 __asm("d0") = length;
- register ULONG d1 __asm("d1") = min;
- register ULONG d2 __asm("d2") = max;
- register ULONG d3 __asm("d3") = num;
- __asm __volatile ("jsr a6@(-132)"
- : /* no output */
- : "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (d1), "r" (d2), "r" (d3)
- : "a0", "a1", "d0", "d1", "d2", "d3", "memory");
- }
- static __inline void
- rtSetReqPosition (BASE_PAR_DECL ULONG reqpos, struct NewWindow * newwindow, struct Screen * screen, struct Window * window)
- {
- BASE_EXT_DECL
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register ULONG d0 __asm("d0") = reqpos;
- register struct NewWindow * a0 __asm("a0") = newwindow;
- register struct Screen * a1 __asm("a1") = screen;
- register struct Window * a2 __asm("a2") = window;
- __asm __volatile ("jsr a6@(-126)"
- : /* no output */
- : "r" (a6), "r" (d0), "r" (a0), "r" (a1), "r" (a2)
- : "a0", "a1", "a2", "d0", "memory");
- }
- static __inline ULONG
- rtGetVScreenSize (BASE_PAR_DECL struct Screen * screen, ULONG * widthptr, ULONG * heightptr)
- {
- BASE_EXT_DECL
- register ULONG _res __asm("d0");
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register struct Screen * a0 __asm("a0") = screen;
- register ULONG * a1 __asm("a1") = widthptr;
- register ULONG * a2 __asm("a2") = heightptr;
- __asm __volatile ("jsr a6@(-120)"
- : "=r" (_res)
- : "r" (a6), "r" (a0), "r" (a1), "r" (a2)
- : "a0", "a1", "a2", "memory");
- return _res;
- }
- static __inline void
- rtSetWaitPointer (BASE_PAR_DECL struct Window * window)
- {
- BASE_EXT_DECL
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register struct Window * a0 __asm("a0") = window;
- __asm __volatile ("jsr a6@(-114)"
- : /* no output */
- : "r" (a6), "r" (a0)
- : "a0", "memory");
- }
- static __inline ULONG
- rtReqHandlerA (BASE_PAR_DECL struct rtHandlerInfo * handlerinfo, ULONG sigs, struct TagItem * taglist)
- {
- BASE_EXT_DECL
- register ULONG _res __asm("d0");
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register struct rtHandlerInfo * a1 __asm("a1") = handlerinfo;
- register ULONG d0 __asm("d0") = sigs;
- register struct TagItem * a0 __asm("a0") = taglist;
- __asm __volatile ("jsr a6@(-108)"
- : "=r" (_res)
- : "r" (a6), "r" (a1), "r" (d0), "r" (a0)
- : "a0", "a1", "d0", "memory");
- return _res;
- }
- static __inline LONG
- rtPaletteRequestA (BASE_PAR_DECL char * title, struct rtReqInfo * reqinfo, struct TagItem * taglist)
- {
- BASE_EXT_DECL
- register LONG _res __asm("d0");
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register char * a2 __asm("a2") = title;
- register struct rtReqInfo * a3 __asm("a3") = reqinfo;
- register struct TagItem * a0 __asm("a0") = taglist;
- __asm __volatile ("jsr a6@(-102)"
- : "=r" (_res)
- : "r" (a6), "r" (a2), "r" (a3), "r" (a0)
- : "a0", "a2", "a3", "memory");
- return _res;
- }
- static __inline ULONG
- rtFontRequestA (BASE_PAR_DECL struct rtFontRequester * fontreq, char * title, struct TagItem * taglist)
- {
- BASE_EXT_DECL
- register ULONG _res __asm("d0");
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register struct rtFontRequester * a1 __asm("a1") = fontreq;
- register char * a3 __asm("a3") = title;
- register struct TagItem * a0 __asm("a0") = taglist;
- __asm __volatile ("jsr a6@(-96)"
- : "=r" (_res)
- : "r" (a6), "r" (a1), "r" (a3), "r" (a0)
- : "a0", "a1", "a3", "memory");
- return _res;
- }
- static __inline ULONG
- rtGetLongA (BASE_PAR_DECL ULONG * longptr, char * title, struct rtReqInfo * reqinfo, struct TagItem * taglist)
- {
- BASE_EXT_DECL
- register ULONG _res __asm("d0");
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register ULONG * a1 __asm("a1") = longptr;
- register char * a2 __asm("a2") = title;
- register struct rtReqInfo * a3 __asm("a3") = reqinfo;
- register struct TagItem * a0 __asm("a0") = taglist;
- __asm __volatile ("jsr a6@(-78)"
- : "=r" (_res)
- : "r" (a6), "r" (a1), "r" (a2), "r" (a3), "r" (a0)
- : "a0", "a1", "a2", "a3", "memory");
- return _res;
- }
- static __inline ULONG
- rtGetStringA (BASE_PAR_DECL UBYTE * buffer, ULONG maxchars, char * title, struct rtReqInfo * reqinfo, struct TagItem * taglist)
- {
- BASE_EXT_DECL
- register ULONG _res __asm("d0");
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register UBYTE * a1 __asm("a1") = buffer;
- register ULONG d0 __asm("d0") = maxchars;
- register char * a2 __asm("a2") = title;
- register struct rtReqInfo * a3 __asm("a3") = reqinfo;
- register struct TagItem * a0 __asm("a0") = taglist;
- __asm __volatile ("jsr a6@(-72)"
- : "=r" (_res)
- : "r" (a6), "r" (a1), "r" (d0), "r" (a2), "r" (a3), "r" (a0)
- : "a0", "a1", "a2", "a3", "d0", "memory");
- return _res;
- }
- static __inline ULONG
- rtEZRequestA (BASE_PAR_DECL char * bodyfmt, char * gadfmt, struct rtReqInfo * reqinfo, APTR argarray, struct TagItem * taglist)
- {
- BASE_EXT_DECL
- register ULONG _res __asm("d0");
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register char * a1 __asm("a1") = bodyfmt;
- register char * a2 __asm("a2") = gadfmt;
- register struct rtReqInfo * a3 __asm("a3") = reqinfo;
- register APTR a4 __asm("a4") = argarray;
- register struct TagItem * a0 __asm("a0") = taglist;
- __asm __volatile ("jsr a6@(-66)"
- : "=r" (_res)
- : "r" (a6), "r" (a1), "r" (a2), "r" (a3), "r" (a4), "r" (a0)
- : "a0", "a1", "a2", "a3", "a4", "memory");
- return _res;
- }
- static __inline void
- rtFreeFileList (BASE_PAR_DECL struct rtFileList * filelist)
- {
- BASE_EXT_DECL
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register struct rtFileList * a0 __asm("a0") = filelist;
- __asm __volatile ("jsr a6@(-60)"
- : /* no output */
- : "r" (a6), "r" (a0)
- : "a0", "memory");
- }
- static __inline APTR
- rtFileRequestA (BASE_PAR_DECL struct rtFileRequester * filereq, char * file, char * title, struct TagItem * taglist)
- {
- BASE_EXT_DECL
- register APTR _res __asm("d0");
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register struct rtFileRequester * a1 __asm("a1") = filereq;
- register char * a2 __asm("a2") = file;
- register char * a3 __asm("a3") = title;
- register struct TagItem * a0 __asm("a0") = taglist;
- __asm __volatile ("jsr a6@(-54)"
- : "=r" (_res)
- : "r" (a6), "r" (a1), "r" (a2), "r" (a3), "r" (a0)
- : "a0", "a1", "a2", "a3", "memory");
- return _res;
- }
- static __inline LONG
- rtChangeReqAttrA (BASE_PAR_DECL APTR req, struct TagItem * taglist)
- {
- BASE_EXT_DECL
- register LONG _res __asm("d0");
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register APTR a1 __asm("a1") = req;
- register struct TagItem * a0 __asm("a0") = taglist;
- __asm __volatile ("jsr a6@(-48)"
- : "=r" (_res)
- : "r" (a6), "r" (a1), "r" (a0)
- : "a0", "a1", "memory");
- return _res;
- }
- static __inline void
- rtFreeReqBuffer (BASE_PAR_DECL APTR req)
- {
- BASE_EXT_DECL
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register APTR a1 __asm("a1") = req;
- __asm __volatile ("jsr a6@(-42)"
- : /* no output */
- : "r" (a6), "r" (a1)
- : "a1", "memory");
- }
- static __inline void
- rtFreeRequest (BASE_PAR_DECL APTR req)
- {
- BASE_EXT_DECL
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register APTR a1 __asm("a1") = req;
- __asm __volatile ("jsr a6@(-36)"
- : /* no output */
- : "r" (a6), "r" (a1)
- : "a1", "memory");
- }
- static __inline APTR
- rtAllocRequestA (BASE_PAR_DECL ULONG type, struct TagItem * taglist)
- {
- BASE_EXT_DECL
- register APTR _res __asm("d0");
- register struct ReqToolsBase * a6 __asm("a6") = BASE_NAME;
- register ULONG d0 __asm("d0") = type;
- register struct TagItem * a0 __asm("a0") = taglist;
- __asm __volatile ("jsr a6@(-30)"
- : "=r" (_res)
- : "r" (a6), "r" (d0), "r" (a0)
- : "a0", "d0", "memory");
- return _res;
- }
-
- #undef BASE_EXT_DECL
- #undef BASE_PAR_DECL
- #undef BASE_PAR_DECL0
- #undef BASE_NAME
-
- __END_DECLS
-
- #endif /* _INLINE_REQTOOLS_H */
-