#define USART_RXBUFSIZ 256
#define USART_RXHIWMARK 240
#define USART_RXLOWMARK 208
#define USART_TXBUFSIZ 64
#define USART_TXHIWMARK 56
#define USART_TXLOWMARK 40
#define USART_INITSPEED 115200
#define USART_MF_RTSCONTROL 0x0001
#define USART_MF_CTSSENSE 0x0002
#define USART_MF_DTRCONTROL 0x0004
#define USART_MF_DSRSENSE 0x0008
#define USART_MF_DCDSENSE 0x0010
#define USART_MF_SENSEMASK 0x001A
#define USART_MF_CONTROLMASK 0x0005
#define USART_MF_XONXOFF 0x0020
#define USART_MF_LOCALECHO 0x0040
#define USART_MF_COOKEDMODE 0x0080
#define USART_MF_NOBUFFER 0x0100
#define USART_MF_LINEBUFFER 0x0200
#define USART_MF_BUFFERMASK 0x0300
#define USART_MF_HALFDUPLEX 0x0400
#define USART_MF_BLOCKREAD 0x0800
#define USART_SF_RTSOFF 0x0001
#define USART_SF_CTSOFF 0x0002
#define USART_SF_DTROFF 0x0004
#define USART_SF_DSROFF 0x0008
#define USART_SF_DCDOFF 0x0010
#define USART_SF_TXDISABLED 0x0040
#define USART_SF_RXDISABLED 0x0080
See: | Type struct _RINGBUF |
struct _RINGBUF | |
{ | |
u_char* volatile rbf_head; | |
u_char* volatile rbf_tail; | |
u_char* rbf_start; | |
u_char* rbf_last; | |
size_t rbf_siz; | |
volatile size_t rbf_cnt; | |
size_t rbf_lwm; | |
size_t rbf_hwm; | |
HANDLE rbf_que; | |
} |
struct _USARTDCB | |
{ | |
u_long dcb_modeflags; | |
u_long dcb_statusflags; | |
u_long dcb_rtimeout; | |
u_long dcb_wtimeout; | |
RINGBUF dcb_tx_rbf; | |
RINGBUF dcb_rx_rbf; | |
u_char dcb_last_eol; | |
int (*dcb_init)(void); | |
int (*dcb_deinit)(void); | |
void (*dcb_tx_start)(void); | |
void (*dcb_rx_start)(void); | |
int (*dcb_set_flow_control)(u_long flags); | |
u_long (*dcb_get_flow_control)(void); | |
int (*dcb_set_speed)(u_long rate); | |
u_long (*dcb_get_speed)(void); | |
int (*dcb_set_data_bits)(u_char bits); | |
u_char (*dcb_get_data_bits)(void); | |
int (*dcb_set_parity)(u_char bits); | |
u_char (*dcb_get_parity)(void); | |
int (*dcb_set_stop_bits)(u_char bits); | |
u_char (*dcb_get_stop_bits)(void); | |
int (*dcb_set_status)(u_long flags); | |
u_long (*dcb_get_status)(void); | |
int (*dcb_set_clock_mode)(u_char mode); | |
u_char (*dcb_get_clock_mode)(void); | |
} |
See: | Type struct _USARTDCB |