mirror of
https://github.com/reactos/reactos.git
synced 2024-10-06 09:24:11 +00:00
56 lines
1.3 KiB
C
56 lines
1.3 KiB
C
|
/*
|
||
|
* PROJECT: ReactOS Console Utilities Library
|
||
|
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
||
|
* PURPOSE: Provides basic abstraction wrappers around CRT streams or
|
||
|
* Win32 console API I/O functions, to deal with i18n + Unicode
|
||
|
* related problems.
|
||
|
* COPYRIGHT: Copyright 2017-2018 ReactOS Team
|
||
|
* Copyright 2017-2018 Hermes Belusca-Maito
|
||
|
*/
|
||
|
|
||
|
#ifndef __STREAM_PRIVATE_H__
|
||
|
#define __STREAM_PRIVATE_H__
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
/*
|
||
|
* Console I/O streams
|
||
|
*/
|
||
|
|
||
|
#if 0
|
||
|
// Shadow type, implementation-specific
|
||
|
typedef struct _CON_STREAM CON_STREAM, *PCON_STREAM;
|
||
|
#endif
|
||
|
|
||
|
typedef struct _CON_STREAM
|
||
|
{
|
||
|
CON_WRITE_FUNC WriteFunc;
|
||
|
|
||
|
#ifdef USE_CRT
|
||
|
FILE* fStream;
|
||
|
#else
|
||
|
BOOL IsInitialized;
|
||
|
CRITICAL_SECTION Lock;
|
||
|
|
||
|
HANDLE hHandle;
|
||
|
|
||
|
/*
|
||
|
* TRUE if 'hHandle' refers to a console, in which case I/O UTF-16
|
||
|
* is directly used. If 'hHandle' refers to a file or a pipe, the
|
||
|
* 'Mode' flag is used.
|
||
|
*/
|
||
|
BOOL IsConsole;
|
||
|
|
||
|
/*
|
||
|
* The 'Mode' flag is used to know the translation mode
|
||
|
* when 'hHandle' refers to a file or a pipe.
|
||
|
*/
|
||
|
CON_STREAM_MODE Mode;
|
||
|
UINT CodePage; // Used to convert UTF-16 text to some ANSI codepage.
|
||
|
#endif /* defined(USE_CRT) */
|
||
|
} CON_STREAM, *PCON_STREAM;
|
||
|
|
||
|
#endif /* __STREAM_PRIVATE_H__ */
|
||
|
|
||
|
/* EOF */
|