home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / bbs / cbm / nduk-v39.lha / V39 / include / exec / io.h < prev    next >
C/C++ Source or Header  |  1992-09-24  |  2KB  |  62 lines

  1. #ifndef    EXEC_IO_H
  2. #define    EXEC_IO_H
  3. /*
  4. **    $VER: io.h 39.0 (15.10.91)
  5. **    Includes Release 39.108
  6. **
  7. **    Message structures used for device communication
  8. **
  9. **    (C) Copyright 1985-1992 Commodore-Amiga, Inc.
  10. **        All Rights Reserved
  11. */
  12.  
  13. #ifndef EXEC_PORTS_H
  14. #include "exec/ports.h"
  15. #endif /* EXEC_PORTS_H */
  16.  
  17.  
  18. struct IORequest {
  19.     struct  Message io_Message;
  20.     struct  Device  *io_Device;     /* device node pointer  */
  21.     struct  Unit    *io_Unit;        /* unit (driver private)*/
  22.     UWORD   io_Command;        /* device command */
  23.     UBYTE   io_Flags;
  24.     BYTE    io_Error;            /* error or warning num */
  25. };
  26.  
  27. struct IOStdReq {
  28.     struct  Message io_Message;
  29.     struct  Device  *io_Device;     /* device node pointer  */
  30.     struct  Unit    *io_Unit;        /* unit (driver private)*/
  31.     UWORD   io_Command;        /* device command */
  32.     UBYTE   io_Flags;
  33.     BYTE    io_Error;            /* error or warning num */
  34.     ULONG   io_Actual;            /* actual number of bytes transferred */
  35.     ULONG   io_Length;            /* requested number bytes transferred*/
  36.     APTR    io_Data;            /* points to data area */
  37.     ULONG   io_Offset;            /* offset for block structured devices */
  38. };
  39.  
  40. /* library vector offsets for device reserved vectors */
  41. #define DEV_BEGINIO    (-30)
  42. #define DEV_ABORTIO    (-36)
  43.  
  44. /* io_Flags defined bits */
  45. #define IOB_QUICK    0
  46. #define IOF_QUICK    (1<<0)
  47.  
  48.  
  49. #define CMD_INVALID    0
  50. #define CMD_RESET    1
  51. #define CMD_READ    2
  52. #define CMD_WRITE    3
  53. #define CMD_UPDATE    4
  54. #define CMD_CLEAR    5
  55. #define CMD_STOP    6
  56. #define CMD_START    7
  57. #define CMD_FLUSH    8
  58.  
  59. #define CMD_NONSTD    9
  60.  
  61. #endif    /* EXEC_IO_H */
  62.