home *** CD-ROM | disk | FTP | other *** search
- /*
- (C) 1995-96 AROS - The Amiga Replacement OS
- $Id: dosstreamhandler.c,v 1.2 1997/02/03 18:38:01 digulla Exp $
-
- Desc: DOS stream handler. Used in InitIFFasDOS.
- Lang: English.
- */
- #include "iffparse_intern.h"
-
- /********************/
- /* DosStreamHandler */
- /********************/
-
- #undef DOSBase
- #define DOSBase (IPB(hook->h_Data)->dosbase)
-
- ULONG DOSStreamHandler
- (
- struct Hook * hook,
- struct IFFHandle * iff,
- struct IFFStreamCmd * cmd
- )
- {
-
- LONG error;
-
- switch (cmd->sc_Command)
- {
- case IFFCMD_READ:
-
- error =
- (
- Read
- (
- (BPTR)iff->iff_Stream,
- cmd->sc_Buf,
- cmd->sc_NBytes
- )
- !=
- cmd->sc_NBytes
- );
-
- break;
-
- case IFFCMD_WRITE:
-
- error =
- (
- Write
- (
- (BPTR)iff->iff_Stream,
- cmd->sc_Buf,
- cmd->sc_NBytes
- )
- !=
- cmd->sc_NBytes
- );
-
- break;
-
- case IFFCMD_SEEK:
- error =
- (
- Seek
- (
- (BPTR)iff->iff_Stream,
- cmd->sc_NBytes,
- OFFSET_CURRENT
- )
-
- ==
- -1
- );
-
- break;
-
- case IFFCMD_INIT:
- case IFFCMD_CLEANUP:
- /* Don't need these for dos streams
- */
- error = NULL;
- break;
- }
-
- return (error);
-
- }
-