home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / gnu / os-include / devices / parallel.i < prev    next >
Text File  |  1993-10-15  |  3KB  |  114 lines

  1.     IFND     DEVICES_PARALLEL_I
  2. DEVICES_PARALLEL_I SET 1
  3. **
  4. **    $VER: parallel.i 34.9 (25.5.89)
  5. **    Includes Release 40.15
  6. **
  7. **    external declarations for the parallel device
  8. **
  9. **    (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  10. **        All Rights Reserved
  11. **
  12.     IFND     EXEC_IO_I
  13.     include "exec/io.i"
  14.     ENDC    !EXEC_IO_I
  15.  
  16. *--------------------------------------------------------------------
  17. *
  18. * Driver error definitions
  19. *
  20. *--------------------------------------------------------------------
  21.  
  22. ParErr_DevBusy        EQU    1
  23. ParErr_BufTooBig        EQU    2
  24. ParErr_InvParam        EQU    3
  25. ParErr_LineErr        EQU    4
  26. ParErr_NotOpen        EQU    5
  27. ParErr_PortReset    EQU    6
  28. ParErr_InitErr        EQU    7
  29.  
  30. *--------------------------------------------------------------------
  31. *
  32. * Useful constants
  33. *
  34. *--------------------------------------------------------------------
  35. *
  36. PDCMD_QUERY       EQU       CMD_NONSTD
  37. PDCMD_SETPARAMS    EQU       CMD_NONSTD+1
  38. Par_DEVFINISH       EQU       10         ; number of device comands
  39. *
  40. *--------------------------------------------------------------------
  41. *
  42. * Driver Specific Commands
  43. *
  44. *--------------------------------------------------------------------
  45.  
  46. PARALLELNAME:    MACRO
  47.         dc.b    'parallel.device',0
  48.         ds.w    0
  49.         ENDM
  50.  
  51.     BITDEF    PAR,SHARED,5      ; PARFLAGS non-exclusive access
  52.     BITDEF    PAR,SLOWMODE,4      ;    "     slow mode selected bit
  53.     BITDEF    PAR,FASTMODE,3    ;    "     fast mode selected bit
  54.     BITDEF    PAR,RAD_BOOGIE,3  ;    "     for backward compatibility
  55.     BITDEF    PAR,ACKMODE,2     ;    "     ACK handshaking selected bit
  56.     BITDEF    PAR,EOFMODE,1      ;    "     EOF mode enabled bit
  57.         BITDEF  IOPAR,QUEUED,6    ; IO_FLAGS rqst-queued bit
  58.         BITDEF    IOPAR,ABORT,5     ;    "     rqst-aborted bit
  59.     BITDEF    IOPAR,ACTIVE,4      ;    "     rqst-qued-or-current bit
  60.         BITDEF    IOPT,RWDIR,3      ; IO_STATUS read=0,write=1
  61.         BITDEF    IOPT,PARSEL,2     ;    "     printer selected on the A1000
  62.                   ; printer selected & serial "Ring Indicator" on
  63.                   ; the A500/A2000.  Be careful when making cables.
  64.     BITDEF    IOPT,PAPEROUT,1   ;    "     paper out
  65.         BITDEF    IOPT,PARBUSY,0    ;    "     printer in busy toggle
  66. ;Note: Previous versions of this include file had bits 0 and 2 swapped
  67. *
  68. ************************************************************************
  69.  
  70.  STRUCTURE PTERMARRAY,0
  71.     ULONG     PTERMARRAY_0
  72.     ULONG     PTERMARRAY_1
  73.     LABEL     PTERMARRAY_SIZE
  74.  
  75. *****************************************************************
  76. *  CAUTION !!!    IF YOU ACCESS the parallel.device, you MUST (!!!!) use an
  77. *  IOEXTPAR-sized structure or you may overlay innocent memory, okay ?!
  78. *****************************************************************
  79.  
  80.  STRUCTURE IOEXTPAR,IOSTD_SIZE
  81.  
  82. *     STRUCT   MsgNode
  83. *   0    APTR     Succ
  84. *   4    APTR     Pred
  85. *   8    UBYTE     Type
  86. *   9    UBYTE     Pri
  87. *   A    APTR     Name
  88. *   E    APTR     ReplyPort
  89. *  12    UWORD     MNLength
  90. *     STRUCT   IOExt
  91. *  14    APTR     IO_DEVICE
  92. *  18    APTR     IO_UNIT
  93. *  1C    UWORD     IO_COMMAND
  94. *  1E    UBYTE     IO_FLAGS
  95. *  1F    UBYTE     IO_ERROR
  96. *     STRUCT   IOStdExt
  97. *  20    ULONG     IO_ACTUAL
  98. *  24    ULONG     IO_LENGTH
  99. *  28    APTR     IO_DATA
  100. *  2C    ULONG     IO_OFFSET
  101. *
  102.  
  103. *
  104. *  30
  105.     ULONG    IO_PEXTFLAGS    ; (not used) flag extension area
  106.     UBYTE    IO_PARSTATUS    ; device status (see bit defs above)
  107.     UBYTE    IO_PARFLAGS    ; see PARFLAGS bit definitions above
  108.     STRUCT    IO_PTERMARRAY,PTERMARRAY_SIZE ; termination char array
  109.     LABEL    IOEXTPar_SIZE
  110.  
  111. ****************************************************************************
  112.  
  113.     ENDC    !DEVICES_PARALLEL_I
  114.