#ifndef __INC_POSA_CLIB_ALIB_PROTOS_C
#define __INC_POSA_CLIB_ALIB_PROTOS_C
/*******************************************************************
 Includes Release 24
 (C) Copyright 1995-1997 proDAD
     All Rights Reserved

 $AUT Holger Burkarth
 $DAT >>alib_protos.c<<   31 Jan 1997    15:58:05 - (C) ProDAD
*******************************************************************/
#pragma -

/* mcpp:cppc -c ci:_Projekte/pOSxA/clib/alib_protos.c -pc */


#define NOMYDEBUG

#ifndef  EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef  DEVICES_TIMER_H
#include <devices/timer.h>
#endif
#ifndef  DEVICES_KEYMAP_H
/*#include <devices/keymap.h> */
#endif
#ifndef  LIBRARIES_COMMODITIES_H
/*#include <libraries/commodities.h> */
#endif
#ifndef  UTILITY_HOOKS_H
#include <utility/hooks.h>
#endif
#ifndef  INTUITION_CLASSES_H
#include <intuition/classes.h>
#endif
#ifndef  INTUITION_CLASSUSR_H
#include <intuition/classusr.h>
#endif
#ifndef  GRAPHICS_GRAPHINT_H
/*#include <graphics/graphint.h> */
#endif


#include <pProto/pExec2.h>
#include <pProto/pLibExt.h>
#include <pProto/pList.h>

#ifdef __cplusplus
extern "C" {
#endif

void BeginIO( struct IORequest *ioReq )
  { pOS_BeginIO((APTR)ioReq); }

struct IORequest *CreateExtIO( struct MsgPort *port, long ioSize )
  { return((APTR)pOS_CreateIORequest((APTR)port,ioSize));}

struct MsgPort *CreatePort( STRPTR name, long pri )
  { return((APTR)pOS_CreatePort((CHAR*)name,pri));}

struct IOStdReq *CreateStdIO( struct MsgPort *port )
  { return((APTR)pOS_CreateIORequest((APTR)port,sizeof(struct pOS_IORequest)));}

struct Task *CreateTask(STRPTR name,SLONG pri,APTR initPC,ULONG stackSize)
  { return((APTR)pOS_CreateTask((CHAR*)name,pri,initPC,stackSize,sizeof(struct pOS_Task),0,NULL));}

void DeleteExtIO( struct IORequest *ioReq )
  { pOS_DeleteIORequest((APTR)ioReq);}

void DeletePort( struct MsgPort *port)
  { pOS_DeletePort((APTR)port);}

void DeleteStdIO( struct IOStdReq *ioReq )
  { pOS_DeleteIORequest((APTR)ioReq);}

void DeleteTask( struct Task *task )
  { pOS_DeleteTask((APTR)task,NULL,0); }

void NewList( struct List *list )
  { pOS_ListInit((APTR)list);}


LONG TimeDelay(long unit,unsigned long secs,unsigned long microsecs )
  {
    pOS_TimeDelay(secs,microsecs);
    return(0);
  }


ULONG DoMethodA( Object *obj, Msg message )
  {
    return( pOS_DoIMethodA((APTR)obj,(struct pOS_Method*)message) );
  }

ULONG DoMethod( Object *obj, unsigned long MethodID, ... )
  {
    return( pOS_DoIMethodA((APTR)obj,(struct pOS_Method*)&MethodID) );
  }

ULONG DoSuperMethodA( struct IClass *cl, Object *obj, Msg message )
  {
    return( pOS_DoAbsMethodA((struct pOS_Class*)cl,(APTR)obj,
                             (struct pOS_Method*)message) );
  }

ULONG DoSuperMethod( struct IClass *cl, Object *obj,ULONG MethodID,... )
  {
    return( pOS_DoAbsMethodA((struct pOS_Class*)cl,(APTR)obj,
                             (struct pOS_Method*)&MethodID) );
  }


ULONG CoerceMethodA( struct IClass *cl, Object *obj, Msg message )
  {
    return( pOS_DoVirMethodA((struct pOS_Class*)cl,(APTR)obj,
                             (struct pOS_Method*)message) );
  }

ULONG CoerceMethod( struct IClass *cl, Object *obj,ULONG MethodID,... )
  {
    return( pOS_DoVirMethodA((struct pOS_Class*)cl,(APTR)obj,
                             (struct pOS_Method*)&MethodID) );
  }













#ifdef __IGNORE_NOT_SUPPORTED__

ULONG SetSuperAttrs( struct IClass *cl, Object *obj, ULONG Tag1,... );

APTR LibAllocPooled( APTR poolHeader, ULONG memSize )
{return(0);}
APTR LibCreatePool(ULONG memFlags,ULONG puddleSize,ULONG threshSize )
{return(0);}
void LibDeletePool( APTR poolHeader )
{}
void LibFreePooled( APTR poolHeader, APTR memory, ULONG memSize )
{}
ULONG FastRand( ULONG seed )
{return(0);}
UWORD RangeRand( ULONG maxValue )
{return(0);}
void AddTOF( struct Isrvstr *i, long (*p)(), long a )
{}
void RemTOF( struct Isrvstr *i )
{}
void waitbeam( long b )
{}
FLOAT afp( BYTE *string )
{return(0);}
void arnd( long place, long exp, BYTE *string )
{}
FLOAT dbf( unsigned long exp, unsigned long mant )
{return(0);}
LONG fpa( FLOAT fnum, BYTE *string )
{return(0);}
void fpbcd( FLOAT fnum, BYTE *string )
{}
LONG DoTimer( struct timeval *, long unit, long command )
{return(0);}
void ArgArrayDone( void )
{}
UBYTE **ArgArrayInit( long argc, UBYTE **argv )
{return(0);}
LONG ArgInt( UBYTE **tt, STRPTR entry, long defaultval )
{return(0);}
STRPTR ArgString( UBYTE **tt, STRPTR entry, STRPTR defaulstring )
{return(0);}
struct InputEvent *InvertString( STRPTR str, struct KeyMap *km )
{return(0);}
void FreeIEvents( struct InputEvent *events )
{}
BOOL CheckRexxMsg( struct Message *rexxmsg )
{return(0);}
LONG GetRexxVar( struct Message *rexxmsg, UBYTE *name, UBYTE **result )
{return(0);}
LONG SetRexxVar( struct Message *rexxmsg, UBYTE *name, UBYTE *value,long length )
{return(0);}
ULONG CallHookA( struct Hook *hookPtr, Object *obj, APTR message )
{return(0);}
ULONG CallHook( struct Hook *hookPtr, Object *obj, ... )
{return(0);}
STRPTR ACrypt( STRPTR buffer, STRPTR password, STRPTR username )
{return(0);}

#endif  /** __IGNORE_NOT_SUPPORTED__ **/













#ifdef __cplusplus
}
#endif


#endif   /* CLIB_ALIB_PROTOS_H */
