home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / gnu / os-include / inline / iffparse.h < prev    next >
C/C++ Source or Header  |  1993-12-09  |  19KB  |  586 lines

  1. #ifndef _INLINE_IFFPARSE_H
  2. #define _INLINE_IFFPARSE_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 IFFParseBase*  IFFParseBase;
  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 IFFParseBase
  18. #endif
  19.  
  20. static __inline struct IFFHandle *
  21. AllocIFF (BASE_PAR_DECL0)
  22. {
  23.   BASE_EXT_DECL
  24.   register struct IFFHandle * _res  __asm("d0");
  25.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  26.   __asm __volatile ("jsr a6@(-0x1e)"
  27.   : "=r" (_res)
  28.   : "r" (a6)
  29.   : "a0","a1","d0","d1", "memory");
  30.   return _res;
  31. }
  32. static __inline struct LocalContextItem *
  33. AllocLocalItem (BASE_PAR_DECL long type,long id,long ident,long dataSize)
  34. {
  35.   BASE_EXT_DECL
  36.   register struct LocalContextItem * _res  __asm("d0");
  37.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  38.   register long d0 __asm("d0") = type;
  39.   register long d1 __asm("d1") = id;
  40.   register long d2 __asm("d2") = ident;
  41.   register long d3 __asm("d3") = dataSize;
  42.   __asm __volatile ("jsr a6@(-0xba)"
  43.   : "=r" (_res)
  44.   : "r" (a6), "r" (d0), "r" (d1), "r" (d2), "r" (d3)
  45.   : "a0","a1","d0","d1","d2","d3", "memory");
  46.   return _res;
  47. }
  48. static __inline void 
  49. CloseClipboard (BASE_PAR_DECL struct ClipboardHandle *clipHandle)
  50. {
  51.   BASE_EXT_DECL
  52.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  53.   register struct ClipboardHandle *a0 __asm("a0") = clipHandle;
  54.   __asm __volatile ("jsr a6@(-0xfc)"
  55.   : /* no output */
  56.   : "r" (a6), "r" (a0)
  57.   : "a0","a1","d0","d1", "memory");
  58. }
  59. static __inline void 
  60. CloseIFF (BASE_PAR_DECL struct IFFHandle *iff)
  61. {
  62.   BASE_EXT_DECL
  63.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  64.   register struct IFFHandle *a0 __asm("a0") = iff;
  65.   __asm __volatile ("jsr a6@(-0x30)"
  66.   : /* no output */
  67.   : "r" (a6), "r" (a0)
  68.   : "a0","a1","d0","d1", "memory");
  69. }
  70. static __inline LONG 
  71. CollectionChunk (BASE_PAR_DECL struct IFFHandle *iff,long type,long id)
  72. {
  73.   BASE_EXT_DECL
  74.   register LONG  _res  __asm("d0");
  75.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  76.   register struct IFFHandle *a0 __asm("a0") = iff;
  77.   register long d0 __asm("d0") = type;
  78.   register long d1 __asm("d1") = id;
  79.   __asm __volatile ("jsr a6@(-0x8a)"
  80.   : "=r" (_res)
  81.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  82.   : "a0","a1","d0","d1", "memory");
  83.   return _res;
  84. }
  85. static __inline LONG 
  86. CollectionChunks (BASE_PAR_DECL struct IFFHandle *iff,LONG *propArray,long numPairs)
  87. {
  88.   BASE_EXT_DECL
  89.   register LONG  _res  __asm("d0");
  90.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  91.   register struct IFFHandle *a0 __asm("a0") = iff;
  92.   register LONG *a1 __asm("a1") = propArray;
  93.   register long d0 __asm("d0") = numPairs;
  94.   __asm __volatile ("jsr a6@(-0x90)"
  95.   : "=r" (_res)
  96.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  97.   : "a0","a1","d0","d1", "memory");
  98.   return _res;
  99. }
  100. static __inline struct ContextNode *
  101. CurrentChunk (BASE_PAR_DECL struct IFFHandle *iff)
  102. {
  103.   BASE_EXT_DECL
  104.   register struct ContextNode * _res  __asm("d0");
  105.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  106.   register struct IFFHandle *a0 __asm("a0") = iff;
  107.   __asm __volatile ("jsr a6@(-0xae)"
  108.   : "=r" (_res)
  109.   : "r" (a6), "r" (a0)
  110.   : "a0","a1","d0","d1", "memory");
  111.   return _res;
  112. }
  113. static __inline LONG 
  114. EntryHandler (BASE_PAR_DECL struct IFFHandle *iff,long type,long id,long position,struct Hook *handler,APTR object)
  115. {
  116.   BASE_EXT_DECL
  117.   register LONG  _res  __asm("d0");
  118.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  119.   register struct IFFHandle *a0 __asm("a0") = iff;
  120.   register long d0 __asm("d0") = type;
  121.   register long d1 __asm("d1") = id;
  122.   register long d2 __asm("d2") = position;
  123.   register struct Hook *a1 __asm("a1") = handler;
  124.   register APTR a2 __asm("a2") = object;
  125.   __asm __volatile ("jsr a6@(-0x66)"
  126.   : "=r" (_res)
  127.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2), "r" (a1), "r" (a2)
  128.   : "a0","a1","a2","d0","d1","d2", "memory");
  129.   return _res;
  130. }
  131. static __inline LONG 
  132. ExitHandler (BASE_PAR_DECL struct IFFHandle *iff,long type,long id,long position,struct Hook *handler,APTR object)
  133. {
  134.   BASE_EXT_DECL
  135.   register LONG  _res  __asm("d0");
  136.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  137.   register struct IFFHandle *a0 __asm("a0") = iff;
  138.   register long d0 __asm("d0") = type;
  139.   register long d1 __asm("d1") = id;
  140.   register long d2 __asm("d2") = position;
  141.   register struct Hook *a1 __asm("a1") = handler;
  142.   register APTR a2 __asm("a2") = object;
  143.   __asm __volatile ("jsr a6@(-0x6c)"
  144.   : "=r" (_res)
  145.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2), "r" (a1), "r" (a2)
  146.   : "a0","a1","a2","d0","d1","d2", "memory");
  147.   return _res;
  148. }
  149. static __inline struct CollectionItem *
  150. FindCollection (BASE_PAR_DECL struct IFFHandle *iff,long type,long id)
  151. {
  152.   BASE_EXT_DECL
  153.   register struct CollectionItem * _res  __asm("d0");
  154.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  155.   register struct IFFHandle *a0 __asm("a0") = iff;
  156.   register long d0 __asm("d0") = type;
  157.   register long d1 __asm("d1") = id;
  158.   __asm __volatile ("jsr a6@(-0xa2)"
  159.   : "=r" (_res)
  160.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  161.   : "a0","a1","d0","d1", "memory");
  162.   return _res;
  163. }
  164. static __inline struct LocalContextItem *
  165. FindLocalItem (BASE_PAR_DECL struct IFFHandle *iff,long type,long id,long ident)
  166. {
  167.   BASE_EXT_DECL
  168.   register struct LocalContextItem * _res  __asm("d0");
  169.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  170.   register struct IFFHandle *a0 __asm("a0") = iff;
  171.   register long d0 __asm("d0") = type;
  172.   register long d1 __asm("d1") = id;
  173.   register long d2 __asm("d2") = ident;
  174.   __asm __volatile ("jsr a6@(-0xd2)"
  175.   : "=r" (_res)
  176.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2)
  177.   : "a0","a1","d0","d1","d2", "memory");
  178.   return _res;
  179. }
  180. static __inline struct StoredProperty *
  181. FindProp (BASE_PAR_DECL struct IFFHandle *iff,long type,long id)
  182. {
  183.   BASE_EXT_DECL
  184.   register struct StoredProperty * _res  __asm("d0");
  185.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  186.   register struct IFFHandle *a0 __asm("a0") = iff;
  187.   register long d0 __asm("d0") = type;
  188.   register long d1 __asm("d1") = id;
  189.   __asm __volatile ("jsr a6@(-0x9c)"
  190.   : "=r" (_res)
  191.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  192.   : "a0","a1","d0","d1", "memory");
  193.   return _res;
  194. }
  195. static __inline struct ContextNode *
  196. FindPropContext (BASE_PAR_DECL struct IFFHandle *iff)
  197. {
  198.   BASE_EXT_DECL
  199.   register struct ContextNode * _res  __asm("d0");
  200.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  201.   register struct IFFHandle *a0 __asm("a0") = iff;
  202.   __asm __volatile ("jsr a6@(-0xa8)"
  203.   : "=r" (_res)
  204.   : "r" (a6), "r" (a0)
  205.   : "a0","a1","d0","d1", "memory");
  206.   return _res;
  207. }
  208. static __inline void 
  209. FreeIFF (BASE_PAR_DECL struct IFFHandle *iff)
  210. {
  211.   BASE_EXT_DECL
  212.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  213.   register struct IFFHandle *a0 __asm("a0") = iff;
  214.   __asm __volatile ("jsr a6@(-0x36)"
  215.   : /* no output */
  216.   : "r" (a6), "r" (a0)
  217.   : "a0","a1","d0","d1", "memory");
  218. }
  219. static __inline void 
  220. FreeLocalItem (BASE_PAR_DECL struct LocalContextItem *localItem)
  221. {
  222.   BASE_EXT_DECL
  223.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  224.   register struct LocalContextItem *a0 __asm("a0") = localItem;
  225.   __asm __volatile ("jsr a6@(-0xcc)"
  226.   : /* no output */
  227.   : "r" (a6), "r" (a0)
  228.   : "a0","a1","d0","d1", "memory");
  229. }
  230. static __inline LONG 
  231. GoodID (BASE_PAR_DECL long id)
  232. {
  233.   BASE_EXT_DECL
  234.   register LONG  _res  __asm("d0");
  235.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  236.   register long d0 __asm("d0") = id;
  237.   __asm __volatile ("jsr a6@(-0x102)"
  238.   : "=r" (_res)
  239.   : "r" (a6), "r" (d0)
  240.   : "a0","a1","d0","d1", "memory");
  241.   return _res;
  242. }
  243. static __inline LONG 
  244. GoodType (BASE_PAR_DECL long type)
  245. {
  246.   BASE_EXT_DECL
  247.   register LONG  _res  __asm("d0");
  248.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  249.   register long d0 __asm("d0") = type;
  250.   __asm __volatile ("jsr a6@(-0x108)"
  251.   : "=r" (_res)
  252.   : "r" (a6), "r" (d0)
  253.   : "a0","a1","d0","d1", "memory");
  254.   return _res;
  255. }
  256. static __inline STRPTR 
  257. IDtoStr (BASE_PAR_DECL long id,STRPTR buf)
  258. {
  259.   BASE_EXT_DECL
  260.   register STRPTR  _res  __asm("d0");
  261.   register struct IFF