ReactOS  0.4.15-dev-448-gd6c4411
ns16550.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define CLOCK_RATE   115200
 
#define SERIAL_REGISTER_STRIDE   1
 
#define RECEIVE_BUFFER_REGISTER   ((ULONG)((0x00)*SERIAL_REGISTER_STRIDE))
 
#define TRANSMIT_HOLDING_REGISTER   ((ULONG)((0x00)*SERIAL_REGISTER_STRIDE))
 
#define INTERRUPT_ENABLE_REGISTER   ((ULONG)((0x01)*SERIAL_REGISTER_STRIDE))
 
#define INTERRUPT_IDENT_REGISTER   ((ULONG)((0x02)*SERIAL_REGISTER_STRIDE))
 
#define FIFO_CONTROL_REGISTER   ((ULONG)((0x02)*SERIAL_REGISTER_STRIDE))
 
#define LINE_CONTROL_REGISTER   ((ULONG)((0x03)*SERIAL_REGISTER_STRIDE))
 
#define MODEM_CONTROL_REGISTER   ((ULONG)((0x04)*SERIAL_REGISTER_STRIDE))
 
#define LINE_STATUS_REGISTER   ((ULONG)((0x05)*SERIAL_REGISTER_STRIDE))
 
#define MODEM_STATUS_REGISTER   ((ULONG)((0x06)*SERIAL_REGISTER_STRIDE))
 
#define SCRATCH_REGISTER   ((ULONG)((0x07)*SERIAL_REGISTER_STRIDE))
 
#define DIVISOR_LATCH_LSB   ((ULONG)((0x00)*SERIAL_REGISTER_STRIDE))
 
#define DIVISOR_LATCH_MSB   ((ULONG)((0x01)*SERIAL_REGISTER_STRIDE))
 
#define SERIAL_REGISTER_LENGTH   ((ULONG)(7*SERIAL_REGISTER_STRIDE))
 
#define SERIAL_STATUS_LENGTH   ((ULONG)(1*SERIAL_REGISTER_STRIDE))
 
#define SERIAL_DATA_LENGTH_5   0x00
 
#define SERIAL_DATA_LENGTH_6   0x01
 
#define SERIAL_DATA_LENGTH_7   0x02
 
#define SERIAL_DATA_LENGTH_8   0x03
 
#define SERIAL_IER_RDA   0x01
 
#define SERIAL_IER_THR   0x02
 
#define SERIAL_IER_RLS   0x04
 
#define SERIAL_IER_MS   0x08
 
#define SERIAL_IIR_RLS   0x06
 
#define SERIAL_IIR_RDA   0x04
 
#define SERIAL_IIR_CTI   0x0c
 
#define SERIAL_IIR_THR   0x02
 
#define SERIAL_IIR_MS   0x00
 
#define SERIAL_IIR_FIFOS_ENABLED   0xc0
 
#define SERIAL_IIR_NO_INTERRUPT_PENDING   0x01
 
#define SERIAL_IIR_MUST_BE_ZERO   0x30
 
#define SERIAL_FCR_DISABLE   ((UCHAR)0x00)
 
#define SERIAL_FCR_ENABLE   ((UCHAR)0x01)
 
#define SERIAL_FCR_RCVR_RESET   ((UCHAR)0x02)
 
#define SERIAL_FCR_TXMT_RESET   ((UCHAR)0x04)
 
#define SERIAL_1_BYTE_HIGH_WATER   ((UCHAR)0x00)
 
#define SERIAL_4_BYTE_HIGH_WATER   ((UCHAR)0x40)
 
#define SERIAL_8_BYTE_HIGH_WATER   ((UCHAR)0x80)
 
#define SERIAL_14_BYTE_HIGH_WATER   ((UCHAR)0xc0)
 
#define SERIAL_LCR_DLAB   0x80
 
#define SERIAL_LCR_BREAK   0x40
 
#define SERIAL_5_DATA   ((UCHAR)0x00)
 
#define SERIAL_6_DATA   ((UCHAR)0x01)
 
#define SERIAL_7_DATA   ((UCHAR)0x02)
 
#define SERIAL_8_DATA   ((UCHAR)0x03)
 
#define SERIAL_DATA_MASK   ((UCHAR)0x03)
 
#define SERIAL_1_STOP   ((UCHAR)0x00)
 
#define SERIAL_1_5_STOP   ((UCHAR)0x04)
 
#define SERIAL_2_STOP   ((UCHAR)0x04)
 
#define SERIAL_STOP_MASK   ((UCHAR)0x04)
 
#define SERIAL_NONE_PARITY   ((UCHAR)0x00)
 
#define SERIAL_ODD_PARITY   ((UCHAR)0x08)
 
#define SERIAL_EVEN_PARITY   ((UCHAR)0x18)
 
#define SERIAL_MARK_PARITY   ((UCHAR)0x28)
 
#define SERIAL_SPACE_PARITY   ((UCHAR)0x38)
 
#define SERIAL_PARITY_MASK   ((UCHAR)0x38)
 
#define SERIAL_MCR_DTR   0x01
 
#define SERIAL_MCR_RTS   0x02
 
#define SERIAL_MCR_OUT1   0x04
 
#define SERIAL_MCR_OUT2   0x08
 
#define SERIAL_MCR_LOOP   0x10
 
#define SERIAL_MCR_TL16C550CAFE   0x20
 
#define SERIAL_LSR_DR   0x01
 
#define SERIAL_LSR_OE   0x02
 
#define SERIAL_LSR_PE   0x04
 
#define SERIAL_LSR_FE   0x08
 
#define SERIAL_LSR_BI   0x10
 
#define SERIAL_LSR_THRE   0x20
 
#define SERIAL_LSR_TEMT   0x40
 
#define SERIAL_LSR_FIFOERR   0x80
 
#define SERIAL_MSR_DCTS   0x01
 
#define SERIAL_MSR_DDSR   0x02
 
#define SERIAL_MSR_TERI   0x04
 
#define SERIAL_MSR_DDCD   0x08
 
#define SERIAL_MSR_CTS   0x10
 
#define SERIAL_MSR_DSR   0x20
 
#define SERIAL_MSR_RI   0x40
 
#define SERIAL_MSR_DCD   0x80
 

Macro Definition Documentation

◆ CLOCK_RATE

#define CLOCK_RATE   115200

Definition at line 21 of file ns16550.h.

◆ DIVISOR_LATCH_LSB

#define DIVISOR_LATCH_LSB   ((ULONG)((0x00)*SERIAL_REGISTER_STRIDE))

Definition at line 42 of file ns16550.h.

◆ DIVISOR_LATCH_MSB

#define DIVISOR_LATCH_MSB   ((ULONG)((0x01)*SERIAL_REGISTER_STRIDE))

Definition at line 43 of file ns16550.h.

◆ FIFO_CONTROL_REGISTER

#define FIFO_CONTROL_REGISTER   ((ULONG)((0x02)*SERIAL_REGISTER_STRIDE))

Definition at line 35 of file ns16550.h.

◆ INTERRUPT_ENABLE_REGISTER

#define INTERRUPT_ENABLE_REGISTER   ((ULONG)((0x01)*SERIAL_REGISTER_STRIDE))

Definition at line 33 of file ns16550.h.

◆ INTERRUPT_IDENT_REGISTER

#define INTERRUPT_IDENT_REGISTER   ((ULONG)((0x02)*SERIAL_REGISTER_STRIDE))

Definition at line 34 of file ns16550.h.

◆ LINE_CONTROL_REGISTER

#define LINE_CONTROL_REGISTER   ((ULONG)((0x03)*SERIAL_REGISTER_STRIDE))

Definition at line 36 of file ns16550.h.

◆ LINE_STATUS_REGISTER

#define LINE_STATUS_REGISTER   ((ULONG)((0x05)*SERIAL_REGISTER_STRIDE))

Definition at line 38 of file ns16550.h.

◆ MODEM_CONTROL_REGISTER

#define MODEM_CONTROL_REGISTER   ((ULONG)((0x04)*SERIAL_REGISTER_STRIDE))

Definition at line 37 of file ns16550.h.

◆ MODEM_STATUS_REGISTER

#define MODEM_STATUS_REGISTER   ((ULONG)((0x06)*SERIAL_REGISTER_STRIDE))

Definition at line 39 of file ns16550.h.

◆ RECEIVE_BUFFER_REGISTER

#define RECEIVE_BUFFER_REGISTER   ((ULONG)((0x00)*SERIAL_REGISTER_STRIDE))

Definition at line 31 of file ns16550.h.

◆ SCRATCH_REGISTER

#define SCRATCH_REGISTER   ((ULONG)((0x07)*SERIAL_REGISTER_STRIDE))

Definition at line 40 of file ns16550.h.

◆ SERIAL_14_BYTE_HIGH_WATER

#define SERIAL_14_BYTE_HIGH_WATER   ((UCHAR)0xc0)

Definition at line 89 of file ns16550.h.

◆ SERIAL_1_5_STOP

#define SERIAL_1_5_STOP   ((UCHAR)0x04)

Definition at line 107 of file ns16550.h.

◆ SERIAL_1_BYTE_HIGH_WATER

#define SERIAL_1_BYTE_HIGH_WATER   ((UCHAR)0x00)

Definition at line 86 of file ns16550.h.

◆ SERIAL_1_STOP

#define SERIAL_1_STOP   ((UCHAR)0x00)

Definition at line 106 of file ns16550.h.

◆ SERIAL_2_STOP

#define SERIAL_2_STOP   ((UCHAR)0x04)

Definition at line 108 of file ns16550.h.

◆ SERIAL_4_BYTE_HIGH_WATER

#define SERIAL_4_BYTE_HIGH_WATER   ((UCHAR)0x40)

Definition at line 87 of file ns16550.h.

◆ SERIAL_5_DATA

#define SERIAL_5_DATA   ((UCHAR)0x00)

Definition at line 100 of file ns16550.h.

◆ SERIAL_6_DATA

#define SERIAL_6_DATA   ((UCHAR)0x01)

Definition at line 101 of file ns16550.h.

◆ SERIAL_7_DATA

#define SERIAL_7_DATA   ((UCHAR)0x02)

Definition at line 102 of file ns16550.h.

◆ SERIAL_8_BYTE_HIGH_WATER

#define SERIAL_8_BYTE_HIGH_WATER   ((UCHAR)0x80)

Definition at line 88 of file ns16550.h.

◆ SERIAL_8_DATA

#define SERIAL_8_DATA   ((UCHAR)0x03)

Definition at line 103 of file ns16550.h.

◆ SERIAL_DATA_LENGTH_5

#define SERIAL_DATA_LENGTH_5   0x00

Definition at line 53 of file ns16550.h.

◆ SERIAL_DATA_LENGTH_6

#define SERIAL_DATA_LENGTH_6   0x01

Definition at line 54 of file ns16550.h.

◆ SERIAL_DATA_LENGTH_7

#define SERIAL_DATA_LENGTH_7   0x02

Definition at line 55 of file ns16550.h.

◆ SERIAL_DATA_LENGTH_8

#define SERIAL_DATA_LENGTH_8   0x03

Definition at line 56 of file ns16550.h.

◆ SERIAL_DATA_MASK

#define SERIAL_DATA_MASK   ((UCHAR)0x03)

Definition at line 104 of file ns16550.h.

◆ SERIAL_EVEN_PARITY

#define SERIAL_EVEN_PARITY   ((UCHAR)0x18)

Definition at line 113 of file ns16550.h.

◆ SERIAL_FCR_DISABLE

#define SERIAL_FCR_DISABLE   ((UCHAR)0x00)

Definition at line 81 of file ns16550.h.

◆ SERIAL_FCR_ENABLE

#define SERIAL_FCR_ENABLE   ((UCHAR)0x01)

Definition at line 82 of file ns16550.h.

◆ SERIAL_FCR_RCVR_RESET

#define SERIAL_FCR_RCVR_RESET   ((UCHAR)0x02)

Definition at line 83 of file ns16550.h.

◆ SERIAL_FCR_TXMT_RESET

#define SERIAL_FCR_TXMT_RESET   ((UCHAR)0x04)

Definition at line 84 of file ns16550.h.

◆ SERIAL_IER_MS

#define SERIAL_IER_MS   0x08

Definition at line 64 of file ns16550.h.

◆ SERIAL_IER_RDA

#define SERIAL_IER_RDA   0x01

Definition at line 61 of file ns16550.h.

◆ SERIAL_IER_RLS

#define SERIAL_IER_RLS   0x04

Definition at line 63 of file ns16550.h.

◆ SERIAL_IER_THR

#define SERIAL_IER_THR   0x02

Definition at line 62 of file ns16550.h.

◆ SERIAL_IIR_CTI

#define SERIAL_IIR_CTI   0x0c

Definition at line 71 of file ns16550.h.

◆ SERIAL_IIR_FIFOS_ENABLED

#define SERIAL_IIR_FIFOS_ENABLED   0xc0

Definition at line 74 of file ns16550.h.

◆ SERIAL_IIR_MS

#define SERIAL_IIR_MS   0x00

Definition at line 73 of file ns16550.h.

◆ SERIAL_IIR_MUST_BE_ZERO

#define SERIAL_IIR_MUST_BE_ZERO   0x30

Definition at line 76 of file ns16550.h.

◆ SERIAL_IIR_NO_INTERRUPT_PENDING

#define SERIAL_IIR_NO_INTERRUPT_PENDING   0x01

Definition at line 75 of file ns16550.h.

◆ SERIAL_IIR_RDA

#define SERIAL_IIR_RDA   0x04

Definition at line 70 of file ns16550.h.

◆ SERIAL_IIR_RLS

#define SERIAL_IIR_RLS   0x06

Definition at line 69 of file ns16550.h.

◆ SERIAL_IIR_THR

#define SERIAL_IIR_THR   0x02

Definition at line 72 of file ns16550.h.

◆ SERIAL_LCR_BREAK

#define SERIAL_LCR_BREAK   0x40

Definition at line 95 of file ns16550.h.

◆ SERIAL_LCR_DLAB

#define SERIAL_LCR_DLAB   0x80

Definition at line 94 of file ns16550.h.

◆ SERIAL_LSR_BI

#define SERIAL_LSR_BI   0x10

Definition at line 135 of file ns16550.h.

◆ SERIAL_LSR_DR

#define SERIAL_LSR_DR   0x01

Definition at line 131 of file ns16550.h.

◆ SERIAL_LSR_FE

#define SERIAL_LSR_FE   0x08

Definition at line 134 of file ns16550.h.

◆ SERIAL_LSR_FIFOERR

#define SERIAL_LSR_FIFOERR   0x80

Definition at line 138 of file ns16550.h.

◆ SERIAL_LSR_OE

#define SERIAL_LSR_OE   0x02

Definition at line 132 of file ns16550.h.

◆ SERIAL_LSR_PE

#define SERIAL_LSR_PE   0x04

Definition at line 133 of file ns16550.h.

◆ SERIAL_LSR_TEMT

#define SERIAL_LSR_TEMT   0x40

Definition at line 137 of file ns16550.h.

◆ SERIAL_LSR_THRE

#define SERIAL_LSR_THRE   0x20

Definition at line 136 of file ns16550.h.

◆ SERIAL_MARK_PARITY

#define SERIAL_MARK_PARITY   ((UCHAR)0x28)

Definition at line 114 of file ns16550.h.

◆ SERIAL_MCR_DTR

#define SERIAL_MCR_DTR   0x01

Definition at line 121 of file ns16550.h.

◆ SERIAL_MCR_LOOP

#define SERIAL_MCR_LOOP   0x10

Definition at line 125 of file ns16550.h.

◆ SERIAL_MCR_OUT1

#define SERIAL_MCR_OUT1   0x04

Definition at line 123 of file ns16550.h.

◆ SERIAL_MCR_OUT2

#define SERIAL_MCR_OUT2   0x08

Definition at line 124 of file ns16550.h.

◆ SERIAL_MCR_RTS

#define SERIAL_MCR_RTS   0x02

Definition at line 122 of file ns16550.h.

◆ SERIAL_MCR_TL16C550CAFE

#define SERIAL_MCR_TL16C550CAFE   0x20

Definition at line 126 of file ns16550.h.

◆ SERIAL_MSR_CTS

#define SERIAL_MSR_CTS   0x10

Definition at line 147 of file ns16550.h.

◆ SERIAL_MSR_DCD

#define SERIAL_MSR_DCD   0x80

Definition at line 150 of file ns16550.h.

◆ SERIAL_MSR_DCTS

#define SERIAL_MSR_DCTS   0x01

Definition at line 143 of file ns16550.h.

◆ SERIAL_MSR_DDCD

#define SERIAL_MSR_DDCD   0x08

Definition at line 146 of file ns16550.h.

◆ SERIAL_MSR_DDSR

#define SERIAL_MSR_DDSR   0x02

Definition at line 144 of file ns16550.h.

◆ SERIAL_MSR_DSR

#define SERIAL_MSR_DSR   0x20

Definition at line 148 of file ns16550.h.

◆ SERIAL_MSR_RI

#define SERIAL_MSR_RI   0x40

Definition at line 149 of file ns16550.h.

◆ SERIAL_MSR_TERI

#define SERIAL_MSR_TERI   0x04

Definition at line 145 of file ns16550.h.

◆ SERIAL_NONE_PARITY

#define SERIAL_NONE_PARITY   ((UCHAR)0x00)

Definition at line 111 of file ns16550.h.

◆ SERIAL_ODD_PARITY

#define SERIAL_ODD_PARITY   ((UCHAR)0x08)

Definition at line 112 of file ns16550.h.

◆ SERIAL_PARITY_MASK

#define SERIAL_PARITY_MASK   ((UCHAR)0x38)

Definition at line 116 of file ns16550.h.

◆ SERIAL_REGISTER_LENGTH

#define SERIAL_REGISTER_LENGTH   ((ULONG)(7*SERIAL_REGISTER_STRIDE))

Definition at line 44 of file ns16550.h.

◆ SERIAL_REGISTER_STRIDE

#define SERIAL_REGISTER_STRIDE   1

Definition at line 25 of file ns16550.h.

◆ SERIAL_SPACE_PARITY

#define SERIAL_SPACE_PARITY   ((UCHAR)0x38)

Definition at line 115 of file ns16550.h.

◆ SERIAL_STATUS_LENGTH

#define SERIAL_STATUS_LENGTH   ((ULONG)(1*SERIAL_REGISTER_STRIDE))

Definition at line 47 of file ns16550.h.

◆ SERIAL_STOP_MASK

#define SERIAL_STOP_MASK   ((UCHAR)0x04)

Definition at line 109 of file ns16550.h.

◆ TRANSMIT_HOLDING_REGISTER

#define TRANSMIT_HOLDING_REGISTER   ((ULONG)((0x00)*SERIAL_REGISTER_STRIDE))

Definition at line 32 of file ns16550.h.