NEWS APPS DOCS ABOUT | ||||
Autodocs Include classes clib datatypes devices diskfont dos exec ables.i alerts.i / .h avl.h devices.i / .h errors.i / .h exec.i / .h exec_lib.i execbase.i / .h initializers.i / .h interrupts.i / .h io.i / .h libraries.i / .h lists.i / .h macros.i memory.i / .h nodes.i / .h ports.i / .h resident.i / .h semaphores.i / .h strings.i tasks.i / .h types.i / .h gadgets graphics hardware images intuition libraries pragma pragmas prefs proto reaction resources rexx utility workbench GuruMeditation | IFND EXEC_IO_I EXEC_IO_I SET 1 ** ** $VER: io.i 39.0 (15.10.1991) ** Includes Release 45.1 ** ** Message structures used for device communication ** ** (C) Copyright 1985-2001 Amiga, Inc. ** All Rights Reserved ** IFND EXEC_PORTS_I INCLUDE "exec/ports.i" ENDC ; EXEC_PORTS_I IFND EXEC_LIBRARIES_I INCLUDE "exec/libraries.i" ENDC ; EXEC_LIBRARIES_I ;---------------------------------------------------------------- ; ; IO Request Structures ; ;---------------------------------------------------------------- ;------ Required portion of IO request: STRUCTURE IO,MN_SIZE APTR IO_DEVICE ; device node pointer APTR IO_UNIT ; unit (driver private) UWORD IO_COMMAND ; device command UBYTE IO_FLAGS ; special flags BYTE IO_ERROR ; error or warning code LABEL IO_SIZE ;------ Standard IO request extension: ULONG IO_ACTUAL ; actual # of bytes transfered ULONG IO_LENGTH ; requested # of bytes transfered APTR IO_DATA ; pointer to data area ULONG IO_OFFSET ; offset for seeking devices LABEL IOSTD_SIZE ;------ IO_FLAGS bit definitions: BITDEF IO,QUICK,0 ; complete IO quickly ;---------------------------------------------------------------- ; ; Standard Device Library Functions ; ;---------------------------------------------------------------- LIBINIT LIBDEF DEV_BEGINIO ; process IO request LIBDEF DEV_ABORTIO ; abort IO request ;---------------------------------------------------------------- ; ; IO Function Macros ; ;---------------------------------------------------------------- BEGINIO MACRO LINKLIB DEV_BEGINIO,IO_DEVICE(A1) ENDM ABORTIO MACRO LINKLIB DEV_ABORTIO,IO_DEVICE(A1) ENDM ;---------------------------------------------------------------- ; ; Standard Device Command Definitions ; ;---------------------------------------------------------------- ;------ Command definition macro: DEVINIT MACRO ; [baseOffset] IFC '\1','' CMD_COUNT SET CMD_NONSTD ENDC IFNC '\1','' CMD_COUNT SET \1 ENDC ENDM DEVCMD MACRO ; cmdname \1 EQU CMD_COUNT CMD_COUNT SET CMD_COUNT+1 ENDM ;------ Standard device commands: DEVINIT 0 DEVCMD CMD_INVALID ; invalid command DEVCMD CMD_RESET ; reset as if just inited DEVCMD CMD_READ ; standard read DEVCMD CMD_WRITE ; standard write DEVCMD CMD_UPDATE ; write out all buffers DEVCMD CMD_CLEAR ; clear all buffers DEVCMD CMD_STOP ; hold current and queued DEVCMD CMD_START ; restart after stop DEVCMD CMD_FLUSH ; abort entire queue ;------ First non-standard device command value: DEVCMD CMD_NONSTD ENDC ; EXEC_IO_I Comments |
$VER: d0.se 1.14 Copyright © 2011-2025 Tobias Geijersson support at d0 dot se |