/* Automatically generated header! Do not edit! */

#ifndef __INC_POS_PINLINE_EXEC_H
#define __INC_POS_PINLINE_EXEC_H

#ifndef __INC_POS_PINLINE_MACROS_H
#include <pInline/macros.h>
#endif /* !__INC_POS_PINLINE_MACROS_H */

#ifndef __EXEC_BASE_NAME
#define __EXEC_BASE_NAME gb_ExecBase
#endif /* !__EXEC_BASE_NAME */

#ifndef __EXEC_LIB_NAME
#define __EXEC_LIB_NAME gb_ExecLib
#endif /* !__EXEC_LIB_NAME */

#define pOS_AbortIO(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x39c, VOID, pOS_AbortIO, \
	struct pOS_IORequest*, par1, __INLINE_REG_A0)

#define pOS_AddClass(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x4f8, VOID, pOS_AddClass, \
	struct pOS_NClass*, par1, __INLINE_REG_A0)

#define pOS_AddDevice(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x3fc, VOID, pOS_AddDevice, \
	struct pOS_Device*, par1, __INLINE_REG_A0)

#define pOS_AddLibrary(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x210, VOID, pOS_AddLibrary, \
	struct pOS_Library*, par1, __INLINE_REG_A0)

#define pOS_AddLinkClass(par1, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x4ec, VOID, pOS_AddLinkClass, \
	const struct pOS_NClass*, par1, __INLINE_REG_A0, struct pOS_NClass*, par2, __INLINE_REG_A1)

#define pOS_AddMemHandler(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x618, VOID, pOS_AddMemHandler, \
	struct pOS_Callback*, par1, __INLINE_REG_A0)

#define pOS_AddMemList(par1, attr, pri, adr, name) \
	__INLINE_FUN_5(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x27c, VOID, pOS_AddMemList, \
	size_t, par1, __INLINE_REG_D0, ULONG, attr, __INLINE_REG_D1, SLONG, pri, __INLINE_REG_D2, APTR, adr, __INLINE_REG_A0, const CHAR*, name, __INLINE_REG_A1)

#define pOS_AddPort(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x1b0, VOID, pOS_AddPort, \
	struct pOS_MsgPort*, par1, __INLINE_REG_A0)

#define pOS_AddResource(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x42c, VOID, pOS_AddResource, \
	struct pOS_Resource*, par1, __INLINE_REG_A0)

#define pOS_AddSemaphore(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x2f4, VOID, pOS_AddSemaphore, \
	struct pOS_Semaphore*, par1, __INLINE_REG_A0)

#define pOS_AddSemaphoreQR(par1, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x654, VOID, pOS_AddSemaphoreQR, \
	struct pOS_Semaphore*, par1, __INLINE_REG_A0, struct pOS_Message*, par2, __INLINE_REG_A1)

#define pOS_AddTask(par1, initPC, finalPC) \
	__INLINE_FUN_3(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x120, APTR, pOS_AddTask, \
	struct pOS_Task*, par1, __INLINE_REG_A0, APTR, initPC, __INLINE_REG_A1, APTR, finalPC, __INLINE_REG_A2)

#define pOS_AllocAbs(byteSize, location) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x2b8, __ARID__ APTR, pOS_AllocAbs, \
	size_t, byteSize, __INLINE_REG_D0, APTR, location, __INLINE_REG_A0)

#define pOS_AllocAlignment(par1, byteSize, requirements, lg2) \
	__INLINE_FUN_4(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x684, __ARID__ APTR, pOS_AllocAlignment, \
	struct pOS_MemPool*, par1, __INLINE_REG_A0, size_t, byteSize, __INLINE_REG_D0, ULONG, requirements, __INLINE_REG_D1, ULONG, lg2, __INLINE_REG_D2)

#define pOS_AllocEntry(par1, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x294, __ARID__ struct pOS_MemList *, pOS_AllocEntry, \
	struct pOS_MemPool*, par1, __INLINE_REG_A0, struct pOS_MemList*, par2, __INLINE_REG_A1)

#define pOS_AllocMem(byteSize, requirements) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x2c4, __ARID__ APTR, pOS_AllocMem, \
	size_t, byteSize, __INLINE_REG_D0, ULONG, requirements, __INLINE_REG_D1)

#define pOS_AllocPoolMem(par1, size, memf) \
	__INLINE_FUN_3(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x24c, __ARID__ APTR, pOS_AllocPoolMem, \
	struct pOS_MemPool*, par1, __INLINE_REG_A0, size_t, size, __INLINE_REG_D0, ULONG, memf, __INLINE_REG_D1)

#define pOS_AllocPoolVec(par1, size, memf) \
	__INLINE_FUN_3(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x228, __ARID__ APTR, pOS_AllocPoolVec, \
	struct pOS_MemPool*, par1, __INLINE_REG_A0, size_t, size, __INLINE_REG_D0, ULONG, memf, __INLINE_REG_D1)

#define pOS_AllocSignal(signalNum) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0xcc, __ARID__ ULONG, pOS_AllocSignal, \
	ULONG, signalNum, __INLINE_REG_D0)

#define pOS_AllocTrap(trapNum) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0xb4, __ARID__ ULONG, pOS_AllocTrap, \
	ULONG, trapNum, __INLINE_REG_D0)

#define pOS_AllocVec(par1, attr) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x270, __ARID__ APTR, pOS_AllocVec, \
	size_t, par1, __INLINE_REG_D0, ULONG, attr, __INLINE_REG_D1)

#define pOS_Allocate(par1, byteSize) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x2dc, __ARID__ APTR, pOS_Allocate, \
	struct pOS_MemHeader*, par1, __INLINE_REG_A0, size_t, byteSize, __INLINE_REG_D0)

#define pOS_AttemptProcureSemaphore(par1, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x5ac, BOOL, pOS_AttemptProcureSemaphore, \
	struct pOS_Semaphore*, par1, __INLINE_REG_A0, struct pOS_Message*, par2, __INLINE_REG_A1)

#define pOS_AttemptSemaphore(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x324, BOOL, pOS_AttemptSemaphore, \
	struct pOS_Semaphore*, par1, __INLINE_REG_A0)

#define pOS_AttemptTimeSemaphore(par1, micros) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x600, BOOL, pOS_AttemptTimeSemaphore, \
	struct pOS_Semaphore*, par1, __INLINE_REG_A0, ULONG, micros, __INLINE_REG_D0)

#define pOS_AvailMem(requirements) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x2a0, size_t, pOS_AvailMem, \
	ULONG, requirements, __INLINE_REG_D0)

#define pOS_AvailPoolMem(par1, requirements) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x6a8, size_t, pOS_AvailPoolMem, \
	const struct pOS_MemPool*, par1, __INLINE_REG_A0, ULONG, requirements, __INLINE_REG_D0)

#define pOS_BeginIO(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x390, VOID, pOS_BeginIO, \
	__ARID__ struct pOS_IORequest*, par1, __INLINE_REG_A0)

#define pOS_CacheClearE(par1, par2, par3) \
	__INLINE_FUN_3(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x570, VOID, pOS_CacheClearE, \
	APTR, par1, __INLINE_REG_A0, size_t, par2, __INLINE_REG_D0, ULONG, par3, __INLINE_REG_D1)

#define pOS_CacheClearU() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x564, VOID, pOS_CacheClearU)

#define pOS_CacheControl(par1, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x558, ULONG, pOS_CacheControl, \
	ULONG, par1, __INLINE_REG_D0, ULONG, par2, __INLINE_REG_D1)

#define pOS_CheckIO(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x3b4, struct pOS_IORequest *, pOS_CheckIO, \
	const struct pOS_IORequest*, par1, __INLINE_REG_A0)

#define pOS_CloseClass(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x480, VOID, pOS_CloseClass, \
	struct pOS_NClass*, par1, __INLINE_REG_A0)

#define pOS_CloseDevice(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x3d8, VOID, pOS_CloseDevice, \
	struct pOS_IORequest*, par1, __INLINE_REG_A0)

#define pOS_CloseLibrary(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x1ec, VOID, pOS_CloseLibrary, \
	__ARID__ struct pOS_Library*, par1, __INLINE_REG_A0)

#define pOS_CloseResource(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x408, VOID, pOS_CloseResource, \
	__ARID__ struct pOS_Resource*, par1, __INLINE_REG_A0)

#define pOS_ColdReboot() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x57c, VOID, pOS_ColdReboot)

#define pOS_ConstructMsgPort(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x144, struct pOS_MsgPort *, pOS_ConstructMsgPort, \
	struct pOS_MsgPort*, par1, __INLINE_REG_A0)

#define pOS_ConstructSigPort(par1, sigBit) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x594, struct pOS_MsgPort *, pOS_ConstructSigPort, \
	struct pOS_MsgPort*, par1, __INLINE_REG_A0, ULONG, sigBit, __INLINE_REG_D0)

#define pOS_CopyMem(par1, par2, par3) \
	__INLINE_FUN_3(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x540, VOID, pOS_CopyMem, \
	const VOID*, par1, __INLINE_REG_A0, VOID*, par2, __INLINE_REG_A1, size_t, par3, __INLINE_REG_D0)

#define pOS_CreateClass(className, supClName, supCl, dispFunc, objSize, supClVer) \
	__INLINE_FUN_6(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x5f4, __ARID__ struct pOS_NClass *, pOS_CreateClass, \
	const CHAR*, className, __INLINE_REG_A0, const CHAR*, supClName, __INLINE_REG_A1, const struct pOS_NClass*, supCl, __INLINE_REG_A2, APTR, dispFunc, __INLINE_REG_A3, size_t, objSize, __INLINE_REG_D0, ULONG, supClVer, __INLINE_REG_D1)

#define pOS_CreateIORequest(par1, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x384, __ARID__ struct pOS_IORequest *, pOS_CreateIORequest, \
	struct pOS_MsgPort*, par1, __INLINE_REG_A0, size_t, par2, __INLINE_REG_D0)

#define pOS_CreateObject(par1, par2, par3, par4) \
	__INLINE_FUN_4(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x4d4, APTR, pOS_CreateObject, \
	struct pOS_NClass*, par1, __INLINE_REG_A0, const CHAR*, par2, __INLINE_REG_A1, ULONG, par3, __INLINE_REG_D0, struct pOS_Method*, par4, __INLINE_REG_A4)

#define pOS_CreatePort(par1, pri) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x15c, __ARID__ struct pOS_MsgPort *, pOS_CreatePort, \
	const CHAR*, par1, __INLINE_REG_A0, SLONG, pri, __INLINE_REG_D0)

#define pOS_CreateTask(name, pri, func, stackSize, taskSize, userData0, par7) \
	__INLINE_FUN_7(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x12c, struct pOS_Task*, pOS_CreateTask, \
	const CHAR*, name, __INLINE_REG_A0, SLONG, pri, __INLINE_REG_D0, APTR, func, __INLINE_REG_A1, size_t, stackSize, __INLINE_REG_D1, size_t, taskSize, __INLINE_REG_D2, ULONG, userData0, __INLINE_REG_D3, struct pOS_TaskControl*, par7, __INLINE_REG_A2)

#define pOS_Deallocate(par1, memoryBlock, byteSize) \
	__INLINE_FUN_3(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x2d0, VOID, pOS_Deallocate, \
	struct pOS_MemHeader*, par1, __INLINE_REG_A0, __ARID__ APTR, memoryBlock, __INLINE_REG_A1, size_t, byteSize, __INLINE_REG_D0)

#define pOS_DebugClassAbs(obj, mcl, clName, cl, print) \
	__INLINE_FUN_5(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x5d0, BOOL, pOS_DebugClassAbs, \
	const VOID*, obj, __INLINE_REG_A0, const struct pOS_Class*, mcl, __INLINE_REG_A1, const CHAR*, clName, __INLINE_REG_A2, const struct pOS_NClass*, cl, __INLINE_REG_A3, BOOL, print, __INLINE_REG_D0)

#define pOS_DebugClassI(obj, clName, cl, print) \
	__INLINE_FUN_4(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x5dc, BOOL, pOS_DebugClassI, \
	const VOID*, obj, __INLINE_REG_A0, const CHAR*, clName, __INLINE_REG_A1, const struct pOS_NClass*, cl, __INLINE_REG_A2, BOOL, print, __INLINE_REG_D0)

#define pOS_DeleteClass(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x5e8, VOID, pOS_DeleteClass, \
	__ARID__ _R_A0 struct pOS_NClass*, par1, __INLINE_REG_A0)

#define pOS_DeleteIORequest(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x378, VOID, pOS_DeleteIORequest, \
	__ARID__ struct pOS_IORequest*, par1, __INLINE_REG_A0)

#define pOS_DeleteObject(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x4c8, VOID, pOS_DeleteObject, \
	APTR, par1, __INLINE_REG_A0)

#define pOS_DeletePort(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x150, VOID, pOS_DeletePort, \
	__ARID__ struct pOS_MsgPort*, par1, __INLINE_REG_A0)

#define pOS_DeleteTask(par1, sigTask, signalSet) \
	__INLINE_FUN_3(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x63c, VOID, pOS_DeleteTask, \
	__ARID__ struct pOS_Task*, par1, __INLINE_REG_A0, struct pOS_Task*, sigTask, __INLINE_REG_A1, ULONG, signalSet, __INLINE_REG_D0)

#define pOS_DestructMsgPort(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x138, VOID, pOS_DestructMsgPort, \
	struct pOS_MsgPort*, par1, __INLINE_REG_A0)

#define pOS_DisplayAlert(alertNum) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x354, VOID, pOS_DisplayAlert, \
	ULONG, alertNum, __INLINE_REG_D0)

#define pOS_DoAbsMethodA(par1, par2, par3) \
	__INLINE_FUN_3(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x498, ULONG, pOS_DoAbsMethodA, \
	const struct pOS_Class*, par1, __INLINE_REG_A0, APTR, par2, __INLINE_REG_A1, struct pOS_Method*, par3, __INLINE_REG_A4)

#define pOS_DoIMethodA(par1, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x4bc, ULONG, pOS_DoIMethodA, \
	APTR, par1, __INLINE_REG_A0, struct pOS_Method*, par2, __INLINE_REG_A4)

#define pOS_DoIO(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x3cc, SBYTE, pOS_DoIO, \
	struct pOS_IORequest*, par1, __INLINE_REG_A0)

#define pOS_DoMMethodA(par1, idx, par3, par4) \
	__INLINE_FUN_4(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x4b0, ULONG, pOS_DoMMethodA, \
	const struct pOS_Class*, par1, __INLINE_REG_A0, ULONG, idx, __INLINE_REG_D0, APTR, par3, __INLINE_REG_A1, struct pOS_Method*, par4, __INLINE_REG_A4)

#define pOS_DoVirMethodA(par1, par2, par3) \
	__INLINE_FUN_3(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x4a4, ULONG, pOS_DoVirMethodA, \
	const struct pOS_Class*, par1, __INLINE_REG_A0, APTR, par2, __INLINE_REG_A1, struct pOS_Method*, par3, __INLINE_REG_A4)

#define pOS_ExecCheckA(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x66c, BOOL, pOS_ExecCheckA, \
	const struct pOS_TagItem*, par1, __INLINE_REG_A0)

#ifndef __NO_INLINE_STDARG
#define pOS_ExecCheck(tags...) \
	({ULONG _tags[] = { tags }; pOS_ExecCheckA((const struct pOS_TagItem*)_tags);})
#endif /* !__NO_INLINE_STDARG */

#define pOS_FindPort(name) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x168, struct pOS_MsgPort *, pOS_FindPort, \
	const CHAR *, name, __INLINE_REG_A0)

#define pOS_FindResident(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x36c, struct pOS_Resident *, pOS_FindResident, \
	const CHAR*, par1, __INLINE_REG_A0)

#define pOS_FindSemaphore(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x300, struct pOS_Semaphore *, pOS_FindSemaphore, \
	const CHAR*, par1, __INLINE_REG_A0)

#define pOS_FindTask(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x108, struct pOS_Task *, pOS_FindTask, \
	const CHAR*, par1, __INLINE_REG_A0)

#define pOS_ForbidIRQ() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x534, VOID, pOS_ForbidIRQ)

#define pOS_ForbidSchedul() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x90, VOID, pOS_ForbidSchedul)

#define pOS_FreeEntry(par1, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x288, VOID, pOS_FreeEntry, \
	struct pOS_MemPool*, par1, __INLINE_REG_A0, __ARID__ struct pOS_MemList*, par2, __INLINE_REG_A1)

#define pOS_FreeMem(memoryBlock, byteSize) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x2ac, VOID, pOS_FreeMem, \
	__ARID__ APTR, memoryBlock, __INLINE_REG_A0, size_t, byteSize, __INLINE_REG_D0)

#define pOS_FreePoolAll(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x234, VOID, pOS_FreePoolAll, \
	struct pOS_MemPool*, par1, __INLINE_REG_A0)

#define pOS_FreePoolMem(par1, par2, size) \
	__INLINE_FUN_3(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x240, VOID, pOS_FreePoolMem, \
	struct pOS_MemPool*, par1, __INLINE_REG_A0, __ARID__ APTR, par2, __INLINE_REG_A1, size_t, size, __INLINE_REG_D0)

#define pOS_FreePoolVec(par1, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x21c, VOID, pOS_FreePoolVec, \
	struct pOS_MemPool*, par1, __INLINE_REG_A0, __ARID__ APTR, par2, __INLINE_REG_A1)

#define pOS_FreeSignal(signalNum) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0xc0, VOID, pOS_FreeSignal, \
	__ARID__ ULONG, signalNum, __INLINE_REG_D0)

#define pOS_FreeTrap(trapNum) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0xa8, VOID, pOS_FreeTrap, \
	__ARID__ ULONG, trapNum, __INLINE_REG_D0)

#define pOS_FreeVec(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x264, VOID, pOS_FreeVec, \
	__ARID__ APTR, par1, __INLINE_REG_A0)

#define pOS_GetIMemberAdr(memberIdx, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x438, APTR, pOS_GetIMemberAdr, \
	ULONG, memberIdx, __INLINE_REG_D0, APTR, par2, __INLINE_REG_A0)

#define pOS_GetMemberAdr(par1, idx, par3) \
	__INLINE_FUN_3(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x474, APTR, pOS_GetMemberAdr, \
	const struct pOS_Class*, par1, __INLINE_REG_A0, ULONG, idx, __INLINE_REG_D0, APTR, par3, __INLINE_REG_A1)

#define pOS_GetMsg(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x18c, __ARID__ struct pOS_Message *, pOS_GetMsg, \
	struct pOS_MsgPort*, par1, __INLINE_REG_A0)

#define pOS_GetNClass(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x444, struct pOS_NClass*, pOS_GetNClass, \
	const struct pOS_Class*, par1, __INLINE_REG_A0)

#define pOS_GetObjectRootAdr(par1, object) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x630, APTR, pOS_GetObjectRootAdr, \
	const struct pOS_Class*, par1, __INLINE_REG_A0, APTR, object, __INLINE_REG_A1)

#define pOS_GetUpObjectAdr(par1, par2, num) \
	__INLINE_FUN_3(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x450, APTR, pOS_GetUpObjectAdr, \
	const struct pOS_Class*, par1, __INLINE_REG_A0, APTR, par2, __INLINE_REG_A1, ULONG, num, __INLINE_REG_D0)

#define pOS_InitMemPool(par1, segmSize, semgMEMF) \
	__INLINE_FUN_3(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x258, VOID, pOS_InitMemPool, \
	struct pOS_MemPool*, par1, __INLINE_REG_A0, size_t, segmSize, __INLINE_REG_D0, ULONG, semgMEMF, __INLINE_REG_D1)

#define pOS_InitResident(par1, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x360, APTR, pOS_InitResident, \
	const struct pOS_Resident*, par1, __INLINE_REG_A0, struct pOS_SegmentLst*, par2, __INLINE_REG_A1)

#define pOS_InitSemaphore(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x348, VOID, pOS_InitSemaphore, \
	struct pOS_Semaphore*, par1, __INLINE_REG_A0)

#define pOS_IsObtainSemaphore(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x678, BOOL, pOS_IsObtainSemaphore, \
	struct pOS_Semaphore*, par1, __INLINE_REG_A0)

#define pOS_IsPoolMem(par1, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x690, BOOL, pOS_IsPoolMem, \
	const struct pOS_MemPool*, par1, __INLINE_REG_A0, const VOID*, par2, __INLINE_REG_A1)

#define pOS_KPutChar(ch) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x6c0, VOID, pOS_KPutChar, \
	ULONG, ch, __INLINE_REG_D0)

#define pOS_LockClassList() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x72c, VOID, pOS_LockClassList)

#define pOS_LockDeviceList() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x6fc, VOID, pOS_LockDeviceList)

#define pOS_LockLibraryList() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x714, VOID, pOS_LockLibraryList)

#define pOS_LockMsgPortList() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x744, VOID, pOS_LockMsgPortList)

#define pOS_LockSemaphoreList() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x75c, VOID, pOS_LockSemaphoreList)

#define pOS_LockTaskList() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x6e4, VOID, pOS_LockTaskList)

#define pOS_MakeFunctions(par1, par2, par3, par4) \
	__INLINE_FUN_4(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x1d4, size_t, pOS_MakeFunctions, \
	struct pOS_LibraryFunction*, par1, __INLINE_REG_A0, const ULONG**, par2, __INLINE_REG_A1, ULONG*, par3, __INLINE_REG_A2, size_t, par4, __INLINE_REG_D0)

#define pOS_MakeLibrary(par1, par2, initFunc, posSize, par5) \
	__INLINE_FUN_5(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x1c8, __ARID__ struct pOS_Library *, pOS_MakeLibrary, \
	const ULONG**, par1, __INLINE_REG_A0, APTR, par2, __INLINE_REG_A1, BOOL (*)(_R_LB struct pOS_ExecBase*,_R_A0 struct pOS_Library*), initFunc, __INLINE_REG_A2, size_t, posSize, __INLINE_REG_D0, struct pOS_SegmentLst*, par5, __INLINE_REG_A3)

#define pOS_MoveDownClassPtr(par1, object, newCl, newObject) \
	__INLINE_FUN_4(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x45c, BOOL, pOS_MoveDownClassPtr, \
	const struct pOS_Class*, par1, __INLINE_REG_A0, APTR, object, __INLINE_REG_A1, struct pOS_Class**, newCl, __INLINE_REG_A2, APTR*, newObject, __INLINE_REG_A3)

#define pOS_MoveUpClassPtr(par1, object, newCl, newObject) \
	__INLINE_FUN_4(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x468, BOOL, pOS_MoveUpClassPtr, \
	const struct pOS_Class*, par1, __INLINE_REG_A0, APTR, object, __INLINE_REG_A1, struct pOS_Class**, newCl, __INLINE_REG_A2, APTR*, newObject, __INLINE_REG_A3)

#define pOS_ObtainSemaphore(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x33c, VOID, pOS_ObtainSemaphore, \
	struct pOS_Semaphore*, par1, __INLINE_REG_A0)

#define pOS_ObtainSemaphoreList(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x318, VOID, pOS_ObtainSemaphoreList, \
	struct pOS_ExList*, par1, __INLINE_REG_A0)

#define pOS_ObtainSemaphoreShared(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x5a0, VOID, pOS_ObtainSemaphoreShared, \
	struct pOS_Semaphore*, par1, __INLINE_REG_A0)

#define pOS_OpenClass(par1, ver) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x48c, struct pOS_NClass*, pOS_OpenClass, \
	const CHAR*, par1, __INLINE_REG_A0, ULONG, ver, __INLINE_REG_D0)

#define pOS_OpenDevice(par1, unit, par3, flags, version) \
	__INLINE_FUN_5(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x3e4, SBYTE, pOS_OpenDevice, \
	const CHAR*, par1, __INLINE_REG_A0, ULONG, unit, __INLINE_REG_D0, struct pOS_IORequest*, par3, __INLINE_REG_A1, ULONG, flags, __INLINE_REG_D1, ULONG, version, __INLINE_REG_D2)

#define pOS_OpenLibrary(par1, version) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x1f8, __ARID__ struct pOS_Library*, pOS_OpenLibrary, \
	const CHAR*, par1, __INLINE_REG_A0, ULONG, version, __INLINE_REG_D0)

#define pOS_OpenResource(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x414, __ARID__ struct pOS_Resource*, pOS_OpenResource, \
	const CHAR*, par1, __INLINE_REG_A0)

#define pOS_PermitIRQ() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x528, VOID, pOS_PermitIRQ)

#define pOS_PermitSchedul() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x9c, VOID, pOS_PermitSchedul)

#define pOS_ProcureSemaphore(par1, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x5c4, VOID, pOS_ProcureSemaphore, \
	struct pOS_Semaphore*, par1, __INLINE_REG_A0, struct pOS_Message*, par2, __INLINE_REG_A1)

#define pOS_PutMsg(par1, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x198, VOID, pOS_PutMsg, \
	struct pOS_MsgPort*, par1, __INLINE_REG_A0, __ARID__ struct pOS_Message*, par2, __INLINE_REG_A1)

#define pOS_RawDoFmt(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x51c, VOID, pOS_RawDoFmt, \
	struct pOS_RawDoFmtData*, par1, __INLINE_REG_A0)

#define pOS_ReadAsciiFmt(par1, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x510, const CHAR*, pOS_ReadAsciiFmt, \
	struct pOS_AsciiFmtData*, par1, __INLINE_REG_A0, const CHAR*, par2, __INLINE_REG_A1)

#define pOS_ReleaseSemaphore(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x330, VOID, pOS_ReleaseSemaphore, \
	struct pOS_Semaphore*, par1, __INLINE_REG_A0)

#define pOS_ReleaseSemaphoreList(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x30c, VOID, pOS_ReleaseSemaphoreList, \
	struct pOS_ExList*, par1, __INLINE_REG_A0)

#define pOS_RemDevice(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x3f0, VOID, pOS_RemDevice, \
	struct pOS_Device*, par1, __INLINE_REG_A0)

#define pOS_RemLibrary(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x204, VOID, pOS_RemLibrary, \
	struct pOS_Library*, par1, __INLINE_REG_A0)

#define pOS_RemMemHandler(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x60c, VOID, pOS_RemMemHandler, \
	struct pOS_Callback*, par1, __INLINE_REG_A0)

#define pOS_RemPort(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x1a4, VOID, pOS_RemPort, \
	struct pOS_MsgPort*, par1, __INLINE_REG_A0)

#define pOS_RemResource(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x420, VOID, pOS_RemResource, \
	struct pOS_Resource*, par1, __INLINE_REG_A0)

#define pOS_RemSemaphore(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x2e8, VOID, pOS_RemSemaphore, \
	struct pOS_Semaphore*, par1, __INLINE_REG_A0)

#define pOS_RemSemaphoreQR(par1, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x648, VOID, pOS_RemSemaphoreQR, \
	struct pOS_Semaphore*, par1, __INLINE_REG_A0, struct pOS_Message*, par2, __INLINE_REG_A1)

#define pOS_RemTask(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x114, VOID, pOS_RemTask, \
	__ARID__ struct pOS_Task*, par1, __INLINE_REG_A0)

#define pOS_ReplyMsg(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x180, VOID, pOS_ReplyMsg, \
	__ARID__ struct pOS_Message*, par1, __INLINE_REG_A0)

#define pOS_SendIO(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x3c0, VOID, pOS_SendIO, \
	__ARID__ struct pOS_IORequest*, par1, __INLINE_REG_A0)

#define pOS_SendSignal(par1, signalSet) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0xd8, VOID, pOS_SendSignal, \
	struct pOS_Task*, par1, __INLINE_REG_A0, ULONG, signalSet, __INLINE_REG_D0)

#define pOS_SetLibFunction(par1, funcIndex, newFunc, oldFunc) \
	__INLINE_FUN_4(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x1bc, struct pOS_LibraryFunction*, pOS_SetLibFunction, \
	struct pOS_Library*, par1, __INLINE_REG_A0, SLONG, funcIndex, __INLINE_REG_D0, const struct pOS_LibraryFunction*, newFunc, __INLINE_REG_A1, struct pOS_LibraryFunction*, oldFunc, __INLINE_REG_A2)

#define pOS_SetSignal(newSignals, signalSet) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0xf0, ULONG, pOS_SetSignal, \
	ULONG, newSignals, __INLINE_REG_D0, ULONG, signalSet, __INLINE_REG_D1)

#define pOS_SetTaskPriority(par1, priority) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0xfc, SBYTE, pOS_SetTaskPriority, \
	struct pOS_Task*, par1, __INLINE_REG_A0, SLONG, priority, __INLINE_REG_D0)

#define pOS_SetTaskXPri(par1, runPri, sysPri, mode) \
	__INLINE_FUN_4(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x660, SBYTE, pOS_SetTaskXPri, \
	struct pOS_Task*, par1, __INLINE_REG_A0, SLONG, runPri, __INLINE_REG_D0, SLONG, sysPri, __INLINE_REG_D1, ULONG, mode, __INLINE_REG_D2)

#define pOS_StackSwap(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x54c, VOID, pOS_StackSwap, \
	struct pOS_StackSwapData*, par1, __INLINE_REG_A0)

#define pOS_SubClass(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x4e0, VOID, pOS_SubClass, \
	struct pOS_NClass*, par1, __INLINE_REG_A0)

#define pOS_SumLibrary(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x1e0, VOID, pOS_SumLibrary, \
	struct pOS_Library*, par1, __INLINE_REG_A0)

#define pOS_Supervisor(func) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x6cc, ULONG, pOS_Supervisor, \
	ULONG(*)(VOID), func, __INLINE_REG_A0)

#define pOS_TypeOfMem(par1, mode) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x69c, ULONG, pOS_TypeOfMem, \
	const VOID*, par1, __INLINE_REG_A0, ULONG, mode, __INLINE_REG_D0)

#define pOS_UnlockClassList() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x720, VOID, pOS_UnlockClassList)

#define pOS_UnlockDeviceList() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x6f0, VOID, pOS_UnlockDeviceList)

#define pOS_UnlockLibraryList() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x708, VOID, pOS_UnlockLibraryList)

#define pOS_UnlockMsgPortList() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x738, VOID, pOS_UnlockMsgPortList)

#define pOS_UnlockSemaphoreList() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x750, VOID, pOS_UnlockSemaphoreList)

#define pOS_UnlockTaskList() \
	__INLINE_FUN_0(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x6d8, VOID, pOS_UnlockTaskList)

#define pOS_VKPrintf(fmt, argv) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x6b4, VOID, pOS_VKPrintf, \
	const CHAR*, fmt, __INLINE_REG_A0, const ULONG*, argv, __INLINE_REG_A1)

#define pOS_VacateSemaphore(par1, par2) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x5b8, VOID, pOS_VacateSemaphore, \
	struct pOS_Semaphore*, par1, __INLINE_REG_A0, struct pOS_Message*, par2, __INLINE_REG_A1)

#define pOS_WaitIO(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x3a8, SBYTE, pOS_WaitIO, \
	struct pOS_IORequest*, par1, __INLINE_REG_A0)

#define pOS_WaitPort(par1) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x174, __ARID__ struct pOS_Message *, pOS_WaitPort, \
	struct pOS_MsgPort*, par1, __INLINE_REG_A0)

#define pOS_WaitSignal(signalSet) \
	__INLINE_FUN_1(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0xe4, ULONG, pOS_WaitSignal, \
	ULONG, signalSet, __INLINE_REG_D0)

#define pOS_WaitTimePort(par1, micros) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x768, struct pOS_Message *, pOS_WaitTimePort, \
	struct pOS_MsgPort*, par1, __INLINE_REG_A0, ULONG, micros, __INLINE_REG_D0)

#define pOS_WaitTimeSignal(signalSet, micros) \
	__INLINE_FUN_2(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x624, ULONG, pOS_WaitTimeSignal, \
	ULONG, signalSet, __INLINE_REG_D0, ULONG, micros, __INLINE_REG_D1)

#define pOS_WriteAsciiFmt(par1, par2, par3) \
	__INLINE_FUN_3(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x504, CHAR*, pOS_WriteAsciiFmt, \
	const struct pOS_AsciiFmtData*, par1, __INLINE_REG_A0, CHAR*, par2, __INLINE_REG_A1, size_t, par3, __INLINE_REG_D0)

#define pOS_WriteDebug(par1, par2, type) \
	__INLINE_FUN_3(__EXEC_BASE_NAME, __EXEC_LIB_NAME, 0x588, VOID, pOS_WriteDebug, \
	const VOID*, par1, __INLINE_REG_A0, size_t, par2, __INLINE_REG_D0, ULONG, type, __INLINE_REG_D1)

#endif /* !__INC_POS_PINLINE_EXEC_H */
