Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

111 lines
4.0 KiB

  1. ;=========================================================================
  2. ; Communications Device Driver Definitions - September, 1985
  3. ;=========================================================================
  4. .xcref
  5. WIN31 = 1
  6. ; remove unneeded things in Windows.inc
  7. NOGDICAPMASKS = 1
  8. NOVK = 1
  9. NOWH = 1
  10. NOMST = 1
  11. NORASTOPS = 1
  12. NOMETAFILE = 1
  13. NOMDI = 1
  14. NOWINMESSAGES = 1
  15. NOSYSMETRICS = 1
  16. NOCOLOR = 1
  17. include windows.inc
  18. DCBSize equ SIZE DCB
  19. DCB_Flags equ byte ptr DCB_BitMask1
  20. DCB_Flags2 equ byte ptr DCB_BitMask2
  21. LPTx equ 10000000b ;Flags an ID as being an LPT port
  22. ifdef NEC_98
  23. ID_COM1 equ 0 ;ID of Com1 Port (INS 92.08.04)
  24. ID_COM2 equ 1 ;ID of Com2 Port (INS 92.08.04)
  25. ID_COM3 equ 2 ;ID of Com3 Port (INS 92.08.04)
  26. ID_LPT1 equ (ID_COM1 OR LPTx) ;ID of LPT Port (INS 92.08.04)
  27. ID_LPT2 equ (ID_COM2 OR LPTx) ;ID of LPT Port (INS 931218)
  28. ID_LPT3 equ (ID_COM3 OR LPTx) ;ID of LPT Port (INS 931218)
  29. endif ; NEC_98
  30. ; DCB_BitMask1 (DCB_Flags) equates
  31. fBinary equ 00000001b ;Binary mode
  32. fRTSDisable equ 00000010b ;Disable RTS
  33. fParity equ 00000100b ;Perform Parity Checking
  34. fOutXCTSFlow equ 00001000b ;Output handshaking using CTS
  35. fOutXDSRFlow equ 00010000b ;Output handshaking using DSR
  36. fEnqAck equ 00100000b ;ENQ/ACK software handshaking [rkh] ...
  37. fEtxAck equ 01000000b ;ETX/ACK software handshaking
  38. fDTRDisable equ 10000000b ;Disable DTR
  39. ; DCB_BitMask2 (DCB_Flags2) equates
  40. fOutX equ 00000001b ;Output X-ON/X-OFF
  41. fInX equ 00000010b ;Input X-ON/X-OFF
  42. fPErrChar equ 00000100b ;Parity Error Replacement char active
  43. fNullStrip equ 00001000b ;Null Stripping
  44. fCharEvent equ 00010000b ;Character event
  45. fDTRFlow equ 00100000b ;Input handshaking using DTR
  46. fRTSFlow equ 01000000b ;Input handshaking using RTS
  47. ; equ 10000000b
  48. ; Values for RLSTimeout, CTSTimeout, DSRTimeout
  49. Ignore equ 0
  50. Infinite equ 0FFFFh
  51. ; COMS_BitMask1 equates
  52. fCTSHold equ 00000001b ;Tx is on CTS hold
  53. fDSRHold equ 00000010b ;Tx is on DSR hold
  54. fRLSDHold equ 00000100b ;Tx is on RLSD hold
  55. fXOFFHold equ 00001000b ;Received an X-OFF
  56. fXOFFSent equ 00010000b ;Sent an X-OFF
  57. fEOF equ 00100000b ;Received defined EOF character
  58. fTxImmed equ 01000000b ;There's a char to transmit immediate
  59. ; equ 10000000b
  60. ; Event mask definitions. Used by SetCommEventMask and GetCommEventMask
  61. ;
  62. ; RXCHAR - Set when any character is received and placed in the input
  63. ; queue.
  64. ; RXFLAG - Set when a particular character, as defined in the DCB,
  65. ; is received and placed in the input queue.
  66. ; TXEMPTY - Set when the last character in the transmit queue is
  67. ; transmitted.
  68. ; CTS - Set when the CTS signal changes state.
  69. ; DSR - Set when the DSR signal changes state.
  70. ; RLSD - Set when the RLSD signal changes state.
  71. ; BREAK - Set when a break is detected on input.
  72. ; RING - Set when Ring Indicator is detected
  73. ; ERR - Set when a line status error occurs.
  74. ;=========================================================================
  75. ;
  76. ; qdb
  77. ; Queue definition block. Passed to setqueue, defines the location and
  78. ; size of the transmit and receive circular queue's used for interrupt
  79. ; transmit and recieve processing.
  80. ;
  81. ;=========================================================================
  82. QDB struc
  83. QueueRxAddr dd ? ;Pointer to RX Queue, Offset
  84. QueueRxSize dw ? ;Size of RX Queue in bytes
  85. QueueTxAddr dd ? ;Pointer to TX Queue, Offset
  86. QueueTxSize dw ? ;Size of TX Queue in bytes
  87. QDB ends
  88. .cref