1 #ifndef EXEC_IO_H
    2 #define EXEC_IO_H
    3 
    4 /*
    5 	exec io definitions (V50)
    6 
    7 	Copyright © 2002 The MorphOS Development Team, All Rights Reserved.
    8 */
    9 
   10 #ifndef EXEC_PORTS_H
   11 # include <exec/ports.h>
   12 #endif
   13 
   14 #pragma pack(2)
   15 
   16 
   17 struct IORequest
   18 {
   19 	struct Message   io_Message;
   20 	struct Device   *io_Device;
   21 	struct Unit     *io_Unit;
   22 	UWORD            io_Command;
   23 	UBYTE            io_Flags;
   24 	BYTE             io_Error;
   25 };
   26 
   27 struct IOStdReq
   28 {
   29 	struct Message   io_Message;
   30 	struct Device   *io_Device;
   31 	struct Unit     *io_Unit;
   32 	UWORD            io_Command;
   33 	UBYTE            io_Flags;
   34 	BYTE             io_Error;
   35 	ULONG            io_Actual;
   36 	ULONG            io_Length;
   37 	APTR             io_Data;
   38 	ULONG            io_Offset;
   39 };
   40 
   41 #define DEV_BEGINIO  (-30)
   42 #define DEV_ABORTIO  (-36)
   43 
   44 #define IOB_QUICK  0
   45 #define IOF_QUICK  (1<<IOB_QUICK)
   46 
   47 #define CMD_INVALID  0
   48 #define CMD_RESET    1
   49 #define CMD_READ     2
   50 #define CMD_WRITE    3
   51 #define CMD_UPDATE   4
   52 #define CMD_CLEAR    5
   53 #define CMD_STOP     6
   54 #define CMD_START    7
   55 #define CMD_FLUSH    8
   56 #define CMD_NONSTD   9
   57 
   58 
   59 #pragma pack()
   60 
   61 #endif