#ifndef CLIB_ATEOBUS_PROTOS_H
#define CLIB_ATEOBUS_PROTOS_H

/*
** $VER: ateobus_protos.h 4.0 (02.12.99)
**
** C prototypes. for use with ateobus.library 4.0
**
** (C) Copyright 1998-99 Atéo Concepts SARL
**     All Rights Reserved
*/

#ifndef EXEC_LIBRARIES_H
#include <exec/libraries.h>
#endif

#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif

#ifndef LIBRARIES_ATEOBUS_H
#include <libraries/ateobus.h>
#endif

APTR AC_GetSpaceBase( ULONG flags );
ULONG AC_AddIntServer( ULONG intNum, struct Interrupt *PtrStrInt );
ULONG AC_RemIntServer( ULONG intNum, struct Interrupt *PtrSvrInt );
ULONG AC_QueryValue( ULONG Number);
ULONG AC_StoreValue( ULONG Value, ULONG Number );
ULONG AC_GetVersion( VOID );
UBYTE AC_IrqLine2Level( UBYTE IrqLine);
UBYTE AC_IrqLevel2Line( UBYTE IrqLevel );
UBYTE AC_DisableIrq( BYTE Irq, ULONG Flags );
UBYTE AC_EnableIrq( BYTE Irq, ULONG Flags );
struct AC_ConfigDev * __asm __saveds AC_AllocConfigDev( VOID );
VOID __asm __saveds AC_FreeConfigDev( REGISTER __a0 struct AC_ConfigDev *CD );
struct AC_Key  __asm __saveds *AC_AllocKey( VOID );
VOID __asm __saveds AC_FreeKey( REGISTER __a0 struct AC_Key *Key );
VOID __asm __saveds AC_AddConfigDev( REGISTER __a0 struct AC_ConfigDev *CD );
VOID __asm __saveds AC_RemConfigDev( REGISTER __a0 struct AC_ConfigDev *CD);
struct AC_ConfigDev * __asm __saveds AC_FindConfigDev( REGISTER __a0 struct AC_ConfigDev *OldCD, REGISTER __d0 WORD Manufacturer, REGISTER __d1 BYTE Product, REGISTER __d2 BYTE unit );
UBYTE __asm __saveds AC_AttachKey( REGISTER __a0 struct AC_Key *Key, REGISTER __d0 UWORD Manufacturer, REGISTER __d1 UBYTE Product );
VOID __asm __saveds AC_ReleaseKey( REGISTER __a0 struct AC_Key *Key);

#endif /* CLIB_ATEOBUS_PROTOS_H */
