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

#ifndef __INC_POS_PINLINE_AUDIO_H
#define __INC_POS_PINLINE_AUDIO_H

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

#ifndef __AUDIO_BASE_NAME
#define __AUDIO_BASE_NAME gb_AudioBase
#endif /* !__AUDIO_BASE_NAME */

#ifndef __AUDIO_LIB_NAME
#define __AUDIO_LIB_NAME gb_AudioBase
#endif /* !__AUDIO_LIB_NAME */

#define pOS_AllocAudioMapA(channel, par2) \
	__INLINE_FUN_2(__AUDIO_BASE_NAME, __AUDIO_LIB_NAME, 0x12c, __ARID__ struct pOS_AudioMap*, pOS_AllocAudioMapA, \
	ULONG, channel, __INLINE_REG_D0, const struct pOS_TagItem*, par2, __INLINE_REG_A0)

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

#define pOS_AllocChannelA(par1) \
	__INLINE_FUN_1(__AUDIO_BASE_NAME, __AUDIO_LIB_NAME, 0x108, __ARID__ ULONG, pOS_AllocChannelA, \
	const struct pOS_TagItem*, par1, __INLINE_REG_A0)

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

#define pOS_FreeAudioMap(par1) \
	__INLINE_FUN_1(__AUDIO_BASE_NAME, __AUDIO_LIB_NAME, 0x138, VOID, pOS_FreeAudioMap, \
	__ARID__ struct pOS_AudioMap*, par1, __INLINE_REG_A0)

#define pOS_FreeChannel(channel) \
	__INLINE_FUN_1(__AUDIO_BASE_NAME, __AUDIO_LIB_NAME, 0x114, VOID, pOS_FreeChannel, \
	__ARID__ ULONG, channel, __INLINE_REG_D0)

#define pOS_PlayChannelA(par1, par2) \
	__INLINE_FUN_2(__AUDIO_BASE_NAME, __AUDIO_LIB_NAME, 0x120, ULONG, pOS_PlayChannelA, \
	const struct pOS_AudioMap*, par1, __INLINE_REG_A0, const struct pOS_TagItem*, par2, __INLINE_REG_A1)

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

#endif /* !__INC_POS_PINLINE_AUDIO_H */
