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