/*****************************************************************************

    mhimdev.library - MHI driver for mpeg.device
    Copyright (C) 2001  Michael Henke

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

*****************************************************************************/


#include <exec/libraries.h>
#include <dos/dos.h>


/* #define DEBUG - enable auto-expunge and debug output to serial port */
/*#define DEBUG*/


#define VERSION     1
#define REVISION    1
#define DATETXT     "03.06.2001"
#define VERSTXT     "1.1"

#define LIBNAME     "mhimdev.library"
#define IDSTRING    LIBNAME " " VERSTXT " (" DATETXT ")"


struct mhimdevBaseP
{
    struct Library      libNode;
    BPTR                segList;
};


extern const UBYTE idstring[];


#ifdef DEBUG
extern void KPutStr(STRPTR);
extern LONG KPutChar(LONG);
#pragma **note: DEBUG mode is enabled
/* force SAS/C to print a warning */
#endif


extern APTR __asm   i_MHIAllocDecoder(register __a0 struct Task *task, register __d0 ULONG mhisignal);
extern void __asm   i_MHIFreeDecoder(register __a3 APTR handle);
extern BOOL __asm   i_MHIQueueBuffer(register __a3 APTR handle, register __a0 APTR buffer, register __d0 ULONG size);
extern APTR __asm   i_MHIGetEmpty(register __a3 APTR handle);
extern UBYTE __asm  i_MHIGetStatus(register __a3 APTR handle);
extern void __asm   i_MHIPlay(register __a3 APTR handle);
extern void __asm   i_MHIStop(register __a3 APTR handle);
extern void __asm   i_MHIPause(register __a3 APTR handle);
extern ULONG __asm  i_MHIQuery(register __d1 ULONG query);
extern void __asm   i_MHISetParam(register __a3 APTR handle, register __d0 UWORD param, register __d1 ULONG value);

