| 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 |