1 #ifndef _INLINE_XPKMASTER_H 2 #define _INLINE_XPKMASTER_H 3 4 #ifndef __PPCINLINE_MACROS_H 5 #include <ppcinline/macros.h> 6 #endif 7 8 #ifndef XPKMASTER_BASE_NAME 9 #define XPKMASTER_BASE_NAME XpkBase 10 #endif 11 12 #define XpkExamine(fib, tags) \ 13 LP2(0x24, LONG, XpkExamine, struct XpkFib *, fib, a0, struct TagItem *, tags, a1, \ 14 , XPKMASTER_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0) 15 16 #ifndef NO_PPCINLINE_STDARG 17 #define XpkExamineTags(fib, tags...) \ 18 ({ULONG _tags[] = { tags }; XpkExamine((fib), (struct TagItem *)_tags);}) 19 #endif 20 21 #define XpkPack(tags) \ 22 LP1(0x2A, LONG, XpkPack, struct TagItem *, tags, a0, \ 23 , XPKMASTER_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0) 24 25 #ifndef NO_PPCINLINE_STDARG 26 #define XpkPackTags(tags...) \ 27 ({ULONG _tags[] = { tags }; XpkPack((struct TagItem *)_tags);}) 28 #endif 29 30 #define XpkUnpack(tags) \ 31 LP1(0x30, LONG, XpkUnpack, struct TagItem *, tags, a0, \ 32 , XPKMASTER_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0) 33 34 #ifndef NO_PPCINLINE_STDARG 35 #define XpkUnpackTags(tags...) \ 36 ({ULONG _tags[] = { tags }; XpkUnpack((struct TagItem *)_tags);}) 37 #endif 38 39 #define XpkOpen(xbuf, tags) \ 40 LP2(0x36, LONG, XpkOpen, struct XpkFib **, xbuf, a0, struct TagItem *, tags, a1, \ 41 , XPKMASTER_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0) 42 43 #ifndef NO_PPCINLINE_STDARG 44 #define XpkOpenTags(xbuf, tags...) \ 45 ({ULONG _tags[] = { tags }; XpkOpen((xbuf), (struct TagItem *)_tags);}) 46 #endif 47 48 #define XpkRead(xbuf, buf, len) \ 49 LP3(0x3C, LONG, XpkRead, struct XpkFib *, xbuf, a0, STRPTR, buf, a1, ULONG, len, d0, \ 50 , XPKMASTER_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0) 51 52 #define XpkWrite(xbuf, buf, len) \ 53 LP3(0x42, LONG, XpkWrite, struct XpkFib *, xbuf, a0, STRPTR, buf, a1, LONG, len, d0, \ 54 , XPKMASTER_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0) 55 56 #define XpkSeek(xbuf, len, mode) \ 57 LP3(0x48, LONG, XpkSeek, struct XpkFib *, xbuf, a0, LONG, len, d0, ULONG, mode, d1, \ 58 , XPKMASTER_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0) 59 60 #define XpkClose(xbuf) \ 61 LP1(0x4E, LONG, XpkClose, struct XpkFib *, xbuf, a0, \ 62 , XPKMASTER_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0) 63 64 #define XpkQuery(tags) \ 65 LP1(0x54, LONG, XpkQuery, struct TagItem *, tags, a0, \ 66 , XPKMASTER_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0) 67 68 #ifndef NO_PPCINLINE_STDARG 69 #define XpkQueryTags(tags...) \ 70 ({ULONG _tags[] = { tags }; XpkQuery((struct TagItem *)_tags);}) 71 #endif 72 73 #define XpkAllocObject(type, tags) \ 74 LP2(0x5A, APTR, XpkAllocObject, ULONG, type, d0, struct TagItem *, tags, a0, \ 75 , XPKMASTER_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0) 76 77 #ifndef NO_PPCINLINE_STDARG 78 #define XpkAllocObjectTags(type, tags...) \ 79 ({ULONG _tags[] = { tags }; XpkAllocObject((type), (struct TagItem *)_tags);}) 80 #endif 81 82 #define XpkFreeObject(type, object) \ 83 LP2NR(0x60, XpkFreeObject, ULONG, type, d0, APTR, object, a0, \ 84 , XPKMASTER_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0) 85 86 #define XpkPrintFault(code, header) \ 87 LP2(0x66, BOOL, XpkPrintFault, LONG, code, d0, STRPTR, header, a0, \ 88 , XPKMASTER_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0) 89 90 #define XpkFault(code, header, buffer, size) \ 91 LP4(0x6C, ULONG, XpkFault, LONG, code, d0, STRPTR, header, a0, STRPTR, buffer, a1, ULONG, size, d1, \ 92 , XPKMASTER_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0) 93 94 #define XpkPassRequest(tags) \ 95 LP1(0x72, LONG, XpkPassRequest, struct TagItem *, tags, a0, \ 96 , XPKMASTER_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0) 97 98 #ifndef NO_PPCINLINE_STDARG 99 #define XpkPassRequestTags(tags...) \ 100 ({ULONG _tags[] = { tags }; XpkPassRequest((struct TagItem *)_tags);}) 101 #endif 102 103 #endif /* _INLINE_XPKMASTER_H */