ntddser.h
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 450 行 · 第 1/2 页
H
450 行
#define SPACE_PARITY 0x04
/* IOCTL_SERIAL_(GET_MODEM_CONTROL, SET_MODEM_CONTROL) flags */
#define SERIAL_IOC_MCR_DTR 0x00000001
#define SERIAL_IOC_MCR_RTS 0x00000002
#define SERIAL_IOC_MCR_OUT1 0x00000004
#define SERIAL_IOC_MCR_OUT2 0x00000008
#define SERIAL_IOC_MCR_LOOP 0x00000010
typedef struct _SERIAL_COMMPROP {
USHORT PacketLength;
USHORT PacketVersion;
ULONG ServiceMask;
ULONG Reserved1;
ULONG MaxTxQueue;
ULONG MaxRxQueue;
ULONG MaxBaud;
ULONG ProvSubType;
ULONG ProvCapabilities;
ULONG SettableParams;
ULONG SettableBaud;
USHORT SettableData;
USHORT SettableStopParity;
ULONG CurrentTxQueue;
ULONG CurrentRxQueue;
ULONG ProvSpec1;
ULONG ProvSpec2;
WCHAR ProvChar[1];
} SERIAL_COMMPROP, *PSERIAL_COMMPROP;
/* SERIAL_COMMPROP.SettableParams flags */
#define SERIAL_SP_PARITY 0x0001
#define SERIAL_SP_BAUD 0x0002
#define SERIAL_SP_DATABITS 0x0004
#define SERIAL_SP_STOPBITS 0x0008
#define SERIAL_SP_HANDSHAKING 0x0010
#define SERIAL_SP_PARITY_CHECK 0x0020
#define SERIAL_SP_CARRIER_DETECT 0x0040
/* SERIAL_COMMPROP.ProvCapabilities flags */
#define SERIAL_PCF_DTRDSR 0x00000001
#define SERIAL_PCF_RTSCTS 0x00000002
#define SERIAL_PCF_CD 0x00000004
#define SERIAL_PCF_PARITY_CHECK 0x00000008
#define SERIAL_PCF_XONXOFF 0x00000010
#define SERIAL_PCF_SETXCHAR 0x00000020
#define SERIAL_PCF_TOTALTIMEOUTS 0x00000040
#define SERIAL_PCF_INTTIMEOUTS 0x00000080
#define SERIAL_PCF_SPECIALCHARS 0x00000100
#define SERIAL_PCF_16BITMODE 0x00000200
/* SERIAL_COMMPROP.SettableData flags */
#define SERIAL_DATABITS_5 0x0001
#define SERIAL_DATABITS_6 0x0002
#define SERIAL_DATABITS_7 0x0004
#define SERIAL_DATABITS_8 0x0008
#define SERIAL_DATABITS_16 0x0010
#define SERIAL_DATABITS_16X 0x0020
/* SERIAL_COMMPROP.SettableStopParity flags */
#define SERIAL_STOPBITS_10 0x0001
#define SERIAL_STOPBITS_15 0x0002
#define SERIAL_STOPBITS_20 0x0004
#define SERIAL_PARITY_NONE 0x0100
#define SERIAL_PARITY_ODD 0x0200
#define SERIAL_PARITY_EVEN 0x0400
#define SERIAL_PARITY_MARK 0x0800
#define SERIAL_PARITY_SPACE 0x1000
typedef struct _SERIALPERF_STATS {
ULONG ReceivedCount;
ULONG TransmittedCount;
ULONG FrameErrorCount;
ULONG SerialOverrunErrorCount;
ULONG BufferOverrunErrorCount;
ULONG ParityErrorCount;
} SERIALPERF_STATS, *PSERIALPERF_STATS;
typedef struct _SERIAL_TIMEOUTS {
ULONG ReadIntervalTimeout;
ULONG ReadTotalTimeoutMultiplier;
ULONG ReadTotalTimeoutConstant;
ULONG WriteTotalTimeoutMultiplier;
ULONG WriteTotalTimeoutConstant;
} SERIAL_TIMEOUTS, *PSERIAL_TIMEOUTS;
/* IOCTL_SERIAL_(GET_WAIT_MASK, SET_WAIT_MASK, WAIT_ON_MASK) flags */
#define SERIAL_EV_RXCHAR 0x0001
#define SERIAL_EV_RXFLAG 0x0002
#define SERIAL_EV_TXEMPTY 0x0004
#define SERIAL_EV_CTS 0x0008
#define SERIAL_EV_DSR 0x0010
#define SERIAL_EV_RLSD 0x0020
#define SERIAL_EV_BREAK 0x0040
#define SERIAL_EV_ERR 0x0080
#define SERIAL_EV_RING 0x0100
#define SERIAL_EV_PERR 0x0200
#define SERIAL_EV_RX80FULL 0x0400
#define SERIAL_EV_EVENT1 0x0800
#define SERIAL_EV_EVENT2 0x1000
/* IOCTL_SERIAL_LSRMST_INSERT constants */
#define SERIAL_LSRMST_LSR_DATA 0x01
#define SERIAL_LSRMST_LSR_NODATA 0x02
#define SERIAL_LSRMST_MST 0x03
#define SERIAL_LSRMST_ESCAPE 0x00
/* IOCTL_SERIAL_PURGE constants */
#define SERIAL_PURGE_TXABORT 0x00000001
#define SERIAL_PURGE_RXABORT 0x00000002
#define SERIAL_PURGE_TXCLEAR 0x00000004
#define SERIAL_PURGE_RXCLEAR 0x00000008
/* IOCTL_SERIAL_SET_FIFO_CONTROL constants */
#define SERIAL_IOC_FCR_FIFO_ENABLE 0x00000001
#define SERIAL_IOC_FCR_RCVR_RESET 0x00000002
#define SERIAL_IOC_FCR_XMIT_RESET 0x00000004
#define SERIAL_IOC_FCR_DMA_MODE 0x00000008
#define SERIAL_IOC_FCR_RES1 0x00000010
#define SERIAL_IOC_FCR_RES2 0x00000020
#define SERIAL_IOC_FCR_RCVR_TRIGGER_LSB 0x00000040
#define SERIAL_IOC_FCR_RCVR_TRIGGER_MSB 0x00000080
typedef struct _SERIAL_QUEUE_SIZE {
ULONG InSize;
ULONG OutSize;
} SERIAL_QUEUE_SIZE, *PSERIAL_QUEUE_SIZE;
typedef struct _SERIAL_XOFF_COUNTER {
ULONG Timeout;
LONG Counter;
UCHAR XoffChar;
} SERIAL_XOFF_COUNTER, *PSERIAL_XOFF_COUNTER;
typedef struct _SERIAL_BASIC_SETTINGS {
SERIAL_TIMEOUTS Timeouts;
SERIAL_HANDFLOW HandFlow;
ULONG RxFifo;
ULONG TxFifo;
} SERIAL_BASIC_SETTINGS, *PSERIAL_BASIC_SETTINGS;
typedef struct _SERENUM_PORT_DESC {
ULONG Size;
PVOID PortHandle;
PHYSICAL_ADDRESS PortAddress;
USHORT Reserved[1];
} SERENUM_PORT_DESC, *PSERENUM_PORT_DESC;
typedef UCHAR STDCALL
(*PSERENUM_READPORT)(
PVOID SerPortAddress);
typedef VOID STDCALL
(*PSERENUM_WRITEPORT)(
PVOID SerPortAddress,
UCHAR Value);
typedef enum _SERENUM_PORTION {
SerenumFirstHalf,
SerenumSecondHalf,
SerenumWhole
} SERENUM_PORTION;
typedef struct _SERENUM_PORT_PARAMETERS {
ULONG Size;
PSERENUM_READPORT ReadAccessor;
PSERENUM_WRITEPORT WriteAccessor;
PVOID SerPortAddress;
PVOID HardwareHandle;
SERENUM_PORTION Portion;
USHORT NumberAxis;
USHORT Reserved[3];
} SERENUM_PORT_PARAMETERS, *PSERENUM_PORT_PARAMETERS;
#define SERIAL_ERROR_BREAK 0x00000001
#define SERIAL_ERROR_FRAMING 0x00000002
#define SERIAL_ERROR_OVERRUN 0x00000004
#define SERIAL_ERROR_QUEUEOVERRUN 0x00000008
#define SERIAL_ERROR_PARITY 0x00000010
#define SERIAL_SP_UNSPECIFIED 0x00000000
#define SERIAL_SP_RS232 0x00000001
#define SERIAL_SP_PARALLEL 0x00000002
#define SERIAL_SP_RS422 0x00000003
#define SERIAL_SP_RS423 0x00000004
#define SERIAL_SP_RS449 0x00000005
#define SERIAL_SP_MODEM 0X00000006
#define SERIAL_SP_FAX 0x00000021
#define SERIAL_SP_SCANNER 0x00000022
#define SERIAL_SP_BRIDGE 0x00000100
#define SERIAL_SP_LAT 0x00000101
#define SERIAL_SP_TELNET 0x00000102
#define SERIAL_SP_X25 0x00000103
#define SERIAL_SP_SERIALCOMM 0x00000001
#define SERIAL_TX_WAITING_FOR_CTS 0x00000001
#define SERIAL_TX_WAITING_FOR_DSR 0x00000002
#define SERIAL_TX_WAITING_FOR_DCD 0x00000004
#define SERIAL_TX_WAITING_FOR_XON 0x00000008
#define SERIAL_TX_WAITING_XOFF_SENT 0x00000010
#define SERIAL_TX_WAITING_ON_BREAK 0x00000020
#define SERIAL_RX_WAITING_FOR_DSR 0x00000040
#define SERIAL_DTR_STATE 0x00000001
#define SERIAL_RTS_STATE 0x00000002
#define SERIAL_CTS_STATE 0x00000010
#define SERIAL_DSR_STATE 0x00000020
#define SERIAL_RI_STATE 0x00000040
#define SERIAL_DCD_STATE 0x00000080
typedef struct _SERIALCONFIG {
ULONG Size;
USHORT Version;
ULONG SubType;
ULONG ProvOffset;
ULONG ProviderSize;
WCHAR ProviderData[1];
} SERIALCONFIG,*PSERIALCONFIG;
#ifdef __cplusplus
}
#endif
#endif /* __NTDDSER_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?