home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1998 #6
/
amigamamagazinepolishissue1998.iso
/
coders
/
biblioteki
/
c_library
/
asyncio
/
source
/
async.h
next >
Wrap
C/C++ Source or Header
|
1977-12-31
|
2KB
|
92 lines
#include <exec/types.h>
#include <exec/memory.h>
#include <dos/dos.h>
#include <dos/dosextens.h>
#include <clib/asyncio_protos.h>
#include <clib/exec_protos.h>
#include <clib/dos_protos.h>
#include <pragmas/exec_sysbase_pragmas.h>
#include <pragmas/dos_pragmas.h>
#include <string.h>
/*****************************************************************************/
#ifdef ASIO_SHARED_LIB
#ifdef _DCC
#define LibCall __geta4
#define _REG(x) __ ## x
#define _ASM
#define _ARGS __regargs
#else
#ifdef __GNUC__
#define LibCall
#define _REG(x)
#define _ASM
#else /* __SASC */
#define LibCall __saveds
#define _REG(x) register __ ## x
#define _ASM __asm
#endif /* __GNUC__ */
#endif /* _DCC */
#else /* ASIO_SHARED_LIB */
#define LibCall
#endif /* ASIO_SHARED_LIB */
/*****************************************************************************/
#ifndef ASIO_NOEXTERNALS
extern struct DosLibrary *DOSBase;
extern struct ExecBase *SysBase;
#endif
#ifdef ASIO_SHARED_LIB
extern struct ExecBase *SysBase;
extern struct Library *UtilityBase;
extern struct DosLibrary *DOSBase;
#endif
/*****************************************************************************/
/* this macro lets us long-align structures on the stack */
#define D_S(type,name) char a_##name[sizeof(type)+3]; \
type *name = (type *)((LONG)(a_##name+3) & ~3);
/*****************************************************************************/
#ifdef ASIO_NOEXTERNALS
AsyncFile *
AS_OpenAsyncFH( BPTR handle, OpenModes mode, LONG bufferSize, BOOL closeIt, struct ExecBase *SysBase, struct DosLibrary *DOSBase );
#else
AsyncFile *
AS_OpenAsyncFH( BPTR handle, OpenModes mode, LONG bufferSize, BOOL closeIt );
#endif
VOID AS_SendPacket( AsyncFile *file, APTR arg2 );
LONG AS_WaitPacket( AsyncFile *file );
VOID AS_RequeuePacket( AsyncFile *file );
VOID AS_RecordSyncFailure( AsyncFile *file );