TTYINFO.H
5.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
/*-----------------------------------------------------------------------------
This is a part of the Microsoft Source Code Samples.
Copyright (C) 1995 Microsoft Corporation.
All rights reserved.
This source code is only intended as a supplement to
Microsoft Development Tools and/or WinHelp documentation.
See these sources for detailed information regarding the
Microsoft samples programs.
MODULE: TTYINFO.h
PURPOSE: Contains global definitions for the TTYINFO structure
-----------------------------------------------------------------------------*/
//
// constant definitions
//
//
// hard coded maximum number of ports
//
#define MAXPORTS 32
//
// terminal size
//
#define MAXROWS 50
#define MAXCOLS 80
//
// cursor states
//
#define CS_HIDE 0x00
#define CS_SHOW 0x01
//
// ascii definitions
//
#define ASCII_BEL 0x07
#define ASCII_BS 0x08
#define ASCII_LF 0x0A
#define ASCII_CR 0x0D
#define ASCII_XON 0x11
#define ASCII_XOFF 0x13
//
// data structures
//
struct TTYInfoStruct
{
HANDLE hCommPort, hReaderStatus, hWriter ;
DWORD dwEventFlags;
CHAR Screen[MAXCOLS * MAXROWS];
CHAR chFlag, chXON, chXOFF;
WORD wXONLimit, wXOFFLimit;
DWORD fRtsControl;
DWORD fDtrControl;
BOOL fConnected, fTransferring, fRepeating,
fLocalEcho, fNewLine,
fDisplayErrors, fAutowrap,
fCTSOutFlow, fDSROutFlow, fDSRInFlow,
fXonXoffOutFlow, fXonXoffInFlow,
fTXafterXoffSent,
fNoReading, fNoWriting, fNoEvents, fNoStatus,
fDisplayTimeouts;
BYTE bPort, bByteSize, bParity, bStopBits ;
DWORD dwBaudRate ;
WORD wCursorState ;
HFONT hTTYFont ;
LOGFONT lfTTYFont ;
DWORD rgbFGColor ;
DWORD rgbBGColor ;
COMMTIMEOUTS timeoutsorig;
COMMTIMEOUTS timeoutsnew;
int xSize, ySize, xScroll, yScroll, xOffset, yOffset,
nColumn, nRow, xChar, yChar , nCharPos;
char szFileName[MAX_PATH];
BYTE unOpenedPortAry[255];
BOOL DownloadReday;
DWORD tickcountFinish; //Íê³ÉÏÂÔØµÄʱ¼ä
} TTYInfo;
//
// macros ( for easier readability )
//
//#define COMDEV(TTYInfo) (TTYInfo.hCommPort)
//#define CURSORSTATE(TTYInfo) (TTYInfo.wCursorState)
//#define PORT(TTYInfo) (TTYInfo.bPort)
//#define TTYInfo.Screen (TTYInfo.Screen)
//#define CONNECTED(TTYInfo) (TTYInfo.fConnected)
//#define TTYInfo.fTransferring (TTYInfo.fTransferring)
//#define TTYInfo.fRepeating (TTYInfo.fRepeating)
//#define TTYInfo.fLocalEcho (TTYInfo.fLocalEcho)
//#define TTYInfo.fNewLine (TTYInfo.fNewLine)
//#define TTYInfo.fAutowrap TTYInfo.fAutowrap
//#define TTYInfo.bByteSize TTYInfo.bByteSize
//#define TTYInfo.bParity TTYInfo.bParity
//#define TTYInfo.bStopBits TTYInfo.bStopBits
//#define TTYInfo.dwBaudRate TTYInfo.dwBaudRate
//#define TTYInfo.hTTYFont TTYInfo.hTTYFont
//#define TTYInfo.lfTTYFont TTYInfo.lfTTYFont
//#define TTYInfo.rgbFGColor TTYInfo.rgbFGColor
//#define TTYInfo.rgbBGColor TTYInfo.rgbBGColor
//#define TTYInfo.xSize TTYInfo.xSize
//#define TTYInfo.ySize TTYInfo.ySize
//#define TTYInfo.xScroll TTYInfo.xScroll
//#define TTYInfo.yScroll TTYInfo.yScroll
//#define TTYInfo.xOffset TTYInfo.xOffset
//#define TTYInfo.yOffset TTYInfo.yOffset
//#define TTYInfo.nColumn TTYInfo.nColumn
//#define TTYInfo.nRow TTYInfo.nRow
//#define TTYInfo.xChar TTYInfo.xChar
//#define TTYInfo.yChar TTYInfo.yChar
//#define TTYInfo.fDisplayErrors TTYInfo.fDisplayErrors
//#define TTYInfo.timeoutsorig TTYInfo.timeoutsorig
//#define TTYInfo.timeoutsnew TTYInfo.timeoutsnew
//#define TTYInfo.hWriter TTYInfo.hWriter
//#define TTYInfo.hReaderStatus TTYInfo.hReaderStatus
//#define TTYInfo.dwEventFlags TTYInfo.dwEventFlags
//#define TTYInfo.chFlag TTYInfo.chFlag
//#define SCREENCHAR( x, col, row ) TTYInfo.Screen[row * MAXCOLS + col]
//#define TTYInfo.fDtrControl TTYInfo.fDtrControl
//#define TTYInfo.fRtsControl TTYInfo.fRtsControl
//#define TTYInfo.chXON TTYInfo.chXON
//#define TTYInfo.chXOFF TTYInfo.chXOFF
//#define TTYInfo.wXONLimit TTYInfo.wXONLimit
//#define TTYInfo.wXOFFLimit TTYInfo.wXOFFLimit
//#define TTYInfo.fCTSOutFlow TTYInfo.fCTSOutFlow
//#define TTYInfo.fDSROutFlow TTYInfo.fDSROutFlow
//#define TTYInfo.fDSRInFlow TTYInfo.fDSRInFlow
//#define TTYInfo.fXonXoffOutFlow TTYInfo.fXonXoffOutFlow
//#define TTYInfo.fXonXoffInFlow TTYInfo.fXonXoffInFlow
//#define TTYInfo.fTXafterXoffSent TTYInfo.fTXafterXoffSent
//
//#define TTYInfo.fNoReading TTYInfo.fNoReading
//#define TTYInfo.fNoWriting TTYInfo.fNoWriting
//#define TTYInfo.fNoEvents TTYInfo.fNoEvents
//#define TTYInfo.fNoStatus TTYInfo.fNoStatus
//#define TTYInfo.fDisplayTimeouts TTYInfo.fDisplayTimeouts)
//---------------------------------------------------------------------------
// End of File: ttyinfo.h
//---------------------------------------------------------------------------