/*
 * $Id: protos.h 4.7 1998/02/12 11:24:13 olsen Exp olsen $
 *
 * :ts=4
 *
 * Copyright © 1997-1998 Village Tronic Computer
 */

/* user.c */
VOID ASM _AHIsub_Disable(REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(a6) struct P4AHIBase *P4AHIBase);
VOID ASM _AHIsub_Enable(REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(a6) struct P4AHIBase *P4AHIBase);

ULONG ASM LIB_AHIsub_AllocAudioA(REG(a1) struct TagItem *tagList, REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(a6) struct P4AHIBase *P4AHIBase);
VOID ASM LIB_AHIsub_FreeAudio(REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(a6) struct P4AHIBase *P4AHIBase);
ULONG ASM LIB_AHIsub_Start(REG(d0) ULONG Flags, REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(a6) struct P4AHIBase *P4AHIBase);
VOID ASM LIB_AHIsub_Update(REG(d0) ULONG Flags, REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(a6) struct P4AHIBase *P4AHIBase);
VOID ASM LIB_AHIsub_Stop(REG(d0) ULONG Flags, REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(a6) struct P4AHIBase *P4AHIBase);
ULONG ASM LIB_AHIsub_SetVol(REG(d0) UWORD Channel, REG(d1) Fixed Volume, REG(d2) sposition Pan, REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(d3) ULONG Flags, REG(a6) struct P4AHIBase *P4AHIBase);
ULONG ASM LIB_AHIsub_SetFreq(REG(d0) UWORD Channel, REG(d1) ULONG Freq, REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(d2) ULONG Flags, REG(a6) struct P4AHIBase *P4AHIBase);
ULONG ASM LIB_AHIsub_SetSound(REG(d0) UWORD Channel, REG(d1) UWORD Sound, REG(d2) ULONG Offset, REG(d3) LONG Length, REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(d4) ULONG Flags, REG(a6) struct P4AHIBase *P4AHIBase);
ULONG ASM LIB_AHIsub_SetEffect(REG(a0) APTR Effect, REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(a6) struct P4AHIBase *P4AHIBase);
ULONG ASM LIB_AHIsub_LoadSound(REG(d0) UWORD Sound, REG(d1) ULONG Type, REG(a0) APTR Info, REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(a6) struct P4AHIBase *P4AHIBase);
ULONG ASM LIB_AHIsub_UnloadSound(REG(d0) UWORD Sound, REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(a6) struct P4AHIBase *P4AHIBase);
LONG ASM LIB_AHIsub_GetAttr(REG(d0) ULONG Attribute, REG(d1) LONG Argument, REG(d2) LONG Default, REG(a1) struct TagItem *tagList, REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(a6) struct P4AHIBase *P4AHIBase);
LONG ASM LIB_AHIsub_HardwareControl(REG(d0) ULONG Attribute, REG(d1) LONG Argument, REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(a6) struct P4AHIBase *P4AHIBase);

/* task.c */
LONG ASM ZeroHookFunc(REG(a0) struct Hook *hook,REG(a2) struct DSPQueryPacket *pkt);
LONG ASM ReloadHookFunc(REG(a0) struct Hook *hook,REG(a2) struct DSPQueryPacket *pkt);
VOID AudioTaskEntry(VOID);

/* ables.a */
VOID ASM LIB_AHIsub_Disable(REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(a6) struct P4AHIBase *P4AHIBase);
VOID ASM LIB_AHIsub_Enable(REG(a2) struct AHIAudioCtrlDrv *AudioCtrl, REG(a6) struct P4AHIBase *P4AHIBase);
