📄 win16.h
字号:
// ******************** START OF WIN16.H ********************
//
//
// This file contains the definitions and declarations
// necessary to use the Win16Port class.
#ifndef _WIN16_DOT_H
#define _WIN16_DOT_H
#include "rs232.h"
#include "_8250.h"
// New error codes defined for the Win16Port class.
enum Win16PortError {
WINDOWS_PORT_DEFAULT_PARAMETERS = RS232_NEXT_FREE_ERROR,
WINDOWS_PORT_NOT_OPEN,
WINDOWS_PORT_ALREADY_OPEN,
WINDOWS_PORT_HANDSHAKE_LINE_IN_USE,
WINDOWS_PORT_NEXT_FREE_ERROR,
WINDOWS_PORT_NEXT_FREE_WARNING = RS232_NEXT_FREE_WARNING };
// The Win16Port class declaration looks similar to most of the
// other classes. It has nearly complete support for all of the
// virtual functions in the RS232 class.
class Win16Port : public RS232
{
private :
int first_debug_output_line;
int handle;
int line_status;
char FAR * modem_status_register;
DCB saved_dcb;
DCB dcb;
void read_settings( void );
RS232Error write_settings( void );
RS232Error translate_windows_error( int error );
virtual int read_buffer( char *buffer,
unsigned int count );
virtual int write_buffer( char *buffer,
unsigned int count = -1 );
virtual int read_byte( void );
virtual int write_byte( int c );
public :
Win16Port( enum RS232PortName port_name,
long baud_rate = UNCHANGED,
char parity = UNCHANGED,
int word_length = UNCHANGED,
int stop_bits = UNCHANGED,
int dtr = SET,
int rts = SET,
int xon_xoff = DISABLE,
int rts_cts = DISABLE,
int dtr_dsr = DISABLE );
virtual ~Win16Port( void );
virtual RS232Error Set( long baud_rate = UNCHANGED,
int parity = UNCHANGED,
int word_length = UNCHANGED,
int stop_bits = UNCHANGED );
virtual int TXSpaceFree( void );
virtual int RXSpaceUsed( void );
virtual int Break( long milliseconds = 300 );
virtual int SoftwareOverrunError( int clear = UNCHANGED );
virtual int Cd( void );
virtual int Ri( void );
virtual int Cts( void );
virtual int Dsr( void );
virtual int ParityError( int clear = UNCHANGED );
virtual int BreakDetect( int clear = UNCHANGED );
virtual int FramingError( int clear = UNCHANGED );
virtual int HardwareOverrunError( int clear = UNCHANGED );
virtual int XonXoffHandshaking( int setting = UNCHANGED );
virtual int RtsCtsHandshaking( int setting = UNCHANGED );
virtual int DtrDsrHandshaking( int setting = UNCHANGED );
virtual int Dtr( int setting = UNCHANGED );
virtual int Rts( int setting = UNCHANGED );
virtual int RXSpaceFree( void );
virtual int TXSpaceUsed( void );
virtual int FlushRXBuffer( void );
virtual int FlushTXBuffer( void );
virtual char * ErrorName( int error );
virtual int FormatDebugOutput( char *buffer = 0,
int line_number = -1 );
};
#endif // #ifndef _WIN16_DOT_H
// ******************** END OF WIN16.H ********************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -