11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
*/
#ifdef TCL_CONSOLE_DEBUG
#undef NDEBUG /* Enable asserts */
#endif
#include "tclWinInt.h"
#include <assert.h>
#include <ctype.h>
/*
* A general note on the design: The console channel driver differs from
* most other drivers in the following respects:
*
* - There can be at most 3 console handles at any time since Windows does
|
<
|
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
*/
#ifdef TCL_CONSOLE_DEBUG
#undef NDEBUG /* Enable asserts */
#endif
#include "tclWinInt.h"
#include <ctype.h>
/*
* A general note on the design: The console channel driver differs from
* most other drivers in the following respects:
*
* - There can be at most 3 console handles at any time since Windows does
|
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
|
HANDLE handle; /* Console handle */
Tcl_ThreadId threadId; /* Id of owning thread */
struct ConsoleChannelInfo *nextWatchingChannelPtr;
/* Pointer to next channel watching events. */
Tcl_Channel channel; /* Pointer to channel structure. */
DWORD initMode; /* Initial console mode. */
int numRefs; /* See comments above */
int permissions; /* OR'ed combination of TCL_READABLE,
* TCL_WRITABLE, or TCL_EXCEPTION: indicates
* which operations are valid on the file. */
int watchMask; /* OR'ed combination of TCL_READABLE,
* TCL_WRITABLE, or TCL_EXCEPTION: indicates
* which events should be reported. */
int flags; /* State flags */
} ConsoleChannelInfo;
|
|
|
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
|
HANDLE handle; /* Console handle */
Tcl_ThreadId threadId; /* Id of owning thread */
struct ConsoleChannelInfo *nextWatchingChannelPtr;
/* Pointer to next channel watching events. */
Tcl_Channel channel; /* Pointer to channel structure. */
DWORD initMode; /* Initial console mode. */
int numRefs; /* See comments above */
int permissions; /* OR'ed combination of TCL_READABLE,
* TCL_WRITABLE, or TCL_EXCEPTION: indicates
* which operations are valid on the file. */
int watchMask; /* OR'ed combination of TCL_READABLE,
* TCL_WRITABLE, or TCL_EXCEPTION: indicates
* which events should be reported. */
int flags; /* State flags */
} ConsoleChannelInfo;
|