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

#ifndef __INC_POS_PINLINE_IFFPARSE_H
#define __INC_POS_PINLINE_IFFPARSE_H

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

#ifndef __IFFPARSE_BASE_NAME
#define __IFFPARSE_BASE_NAME gb_IFFParseBase
#endif /* !__IFFPARSE_BASE_NAME */

#ifndef __IFFPARSE_LIB_NAME
#define __IFFPARSE_LIB_NAME gb_IFFParseBase
#endif /* !__IFFPARSE_LIB_NAME */

#define pOS_CloseIFF(par1) \
	__INLINE_FUN_1(__IFFPARSE_BASE_NAME, __IFFPARSE_LIB_NAME, 0x114, VOID, pOS_CloseIFF, \
	__ARID__ struct pOS_IFFHandle*, par1, __INLINE_REG_A0)

#define pOS_CurrentChunk(par1) \
	__INLINE_FUN_1(__IFFPARSE_BASE_NAME, __IFFPARSE_LIB_NAME, 0x180, const struct pOS_IFFLocContext*, pOS_CurrentChunk, \
	struct pOS_IFFHandle*, par1, __INLINE_REG_A0)

#define pOS_FindProp(par1, par2, par3) \
	__INLINE_FUN_3(__IFFPARSE_BASE_NAME, __IFFPARSE_LIB_NAME, 0x144, const struct pOS_IFFStoredProp*, pOS_FindProp, \
	struct pOS_IFFHandle*, par1, __INLINE_REG_A0, ULONG, par2, __INLINE_REG_D0, ULONG, par3, __INLINE_REG_D1)

#define pOS_OpenIFFA(par1) \
	__INLINE_FUN_1(__IFFPARSE_BASE_NAME, __IFFPARSE_LIB_NAME, 0x108, __ARID__ struct pOS_IFFHandle*, pOS_OpenIFFA, \
	const struct pOS_TagItem*, par1, __INLINE_REG_A0)

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

#define pOS_ParseIFF(par1, par2) \
	__INLINE_FUN_2(__IFFPARSE_BASE_NAME, __IFFPARSE_LIB_NAME, 0x138, SLONG, pOS_ParseIFF, \
	struct pOS_IFFHandle*, par1, __INLINE_REG_A0, ULONG, par2, __INLINE_REG_D0)

#define pOS_PopChunk(par1) \
	__INLINE_FUN_1(__IFFPARSE_BASE_NAME, __IFFPARSE_LIB_NAME, 0x15c, SLONG, pOS_PopChunk, \
	struct pOS_IFFHandle*, par1, __INLINE_REG_A0)

#define pOS_PropChunkA(par1, par2) \
	__INLINE_FUN_2(__IFFPARSE_BASE_NAME, __IFFPARSE_LIB_NAME, 0x120, SLONG, pOS_PropChunkA, \
	struct pOS_IFFHandle*, par1, __INLINE_REG_A0, const struct pOS_TagItem*, par2, __INLINE_REG_A1)

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

#define pOS_PushChunk(par1, par2, par3, par4) \
	__INLINE_FUN_4(__IFFPARSE_BASE_NAME, __IFFPARSE_LIB_NAME, 0x150, SLONG, pOS_PushChunk, \
	struct pOS_IFFHandle*, par1, __INLINE_REG_A0, ULONG, par2, __INLINE_REG_D0, ULONG, par3, __INLINE_REG_D1, SLONG, par4, __INLINE_REG_D2)

#define pOS_ReadChunkBytes(par1, par2, par3) \
	__INLINE_FUN_3(__IFFPARSE_BASE_NAME, __IFFPARSE_LIB_NAME, 0x174, ULONG, pOS_ReadChunkBytes, \
	struct pOS_IFFHandle*, par1, __INLINE_REG_A0, VOID*, par2, __INLINE_REG_A1, ULONG, par3, __INLINE_REG_D0)

#define pOS_StopChunkA(par1, par2) \
	__INLINE_FUN_2(__IFFPARSE_BASE_NAME, __IFFPARSE_LIB_NAME, 0x12c, SLONG, pOS_StopChunkA, \
	struct pOS_IFFHandle*, par1, __INLINE_REG_A0, const struct pOS_TagItem*, par2, __INLINE_REG_A1)

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

#define pOS_WriteChunkBytes(par1, par2, par3) \
	__INLINE_FUN_3(__IFFPARSE_BASE_NAME, __IFFPARSE_LIB_NAME, 0x168, ULONG, pOS_WriteChunkBytes, \
	struct pOS_IFFHandle*, par1, __INLINE_REG_A0, VOID*, par2, __INLINE_REG_A1, ULONG, par3, __INLINE_REG_D0)

#endif /* !__INC_POS_PINLINE_IFFPARSE_H */
