home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / inc&ad2.0 / includes / devices / parallel.i < prev    next >
Text File  |  1992-09-01  |  3KB  |  116 lines

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