6502/vbcc/targets/ppc-morphos/include/inline/asl_protos.h
2022-05-12 21:36:39 +09:30

111 lines
2.9 KiB
C

#ifndef _VBCCINLINE_ASL_H
#define _VBCCINLINE_ASL_H
#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef EMUL_EMULREGS_H
#include <emul/emulregs.h>
#endif
struct FileRequester * __AllocFileRequest(void *) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tli\t3,-30\n"
"\tbctrl";
#define AllocFileRequest() __AllocFileRequest(AslBase)
VOID __FreeFileRequest(void *, struct FileRequester * fileReq) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,32(2)\n"
"\tli\t3,-36\n"
"\tbctrl";
#define FreeFileRequest(fileReq) __FreeFileRequest(AslBase, (fileReq))
BOOL __RequestFile(void *, struct FileRequester * fileReq) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,32(2)\n"
"\tli\t3,-42\n"
"\tbctrl";
#define RequestFile(fileReq) __RequestFile(AslBase, (fileReq))
APTR __AllocAslRequest(void *, ULONG reqType, struct TagItem * tagList) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\tstw\t5,32(2)\n"
"\tli\t3,-48\n"
"\tbctrl";
#define AllocAslRequest(reqType, tagList) __AllocAslRequest(AslBase, (reqType), (tagList))
#if !defined(NO_INLINE_STDARG) && (__STDC__ == 1L) && (__STDC_VERSION__ >= 199901L)
APTR __linearvarargs __AllocAslRequestTags(void *, ULONG reqType, ...) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\taddi\t12,1,8\n"
"\tstw\t12,32(2)\n"
"\tli\t3,-48\n"
"\tbctrl";
#define AllocAslRequestTags(reqType, ...) __AllocAslRequestTags(AslBase, (reqType), __VA_ARGS__)
#endif
VOID __FreeAslRequest(void *, APTR requester) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,32(2)\n"
"\tli\t3,-54\n"
"\tbctrl";
#define FreeAslRequest(requester) __FreeAslRequest(AslBase, (requester))
BOOL __AslRequest(void *, APTR requester, struct TagItem * tagList) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,32(2)\n"
"\tstw\t5,36(2)\n"
"\tli\t3,-60\n"
"\tbctrl";
#define AslRequest(requester, tagList) __AslRequest(AslBase, (requester), (tagList))
#if !defined(NO_INLINE_STDARG) && (__STDC__ == 1L) && (__STDC_VERSION__ >= 199901L)
BOOL __linearvarargs __AslRequestTags(void *, APTR requester, ...) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,32(2)\n"
"\taddi\t12,1,8\n"
"\tstw\t12,36(2)\n"
"\tli\t3,-60\n"
"\tbctrl";
#define AslRequestTags(requester, ...) __AslRequestTags(AslBase, (requester), __VA_ARGS__)
#endif
VOID __AbortAslRequest(void *, APTR requester) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,32(2)\n"
"\tli\t3,-78\n"
"\tbctrl";
#define AbortAslRequest(requester) __AbortAslRequest(AslBase, (requester))
VOID __ActivateAslRequest(void *, APTR requester) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,32(2)\n"
"\tli\t3,-84\n"
"\tbctrl";
#define ActivateAslRequest(requester) __ActivateAslRequest(AslBase, (requester))
#endif /* _VBCCINLINE_ASL_H */