d16a9c30de11c2bc58628c018d3bb90d9a9b08aa
[reactos.git] / sdk / lib / conutils / instream.h
1 /*
2 * PROJECT: ReactOS Console Utilities Library
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: Provides basic abstraction wrappers around CRT streams or
5 * Win32 console API I/O functions, to deal with i18n + Unicode
6 * related problems.
7 * COPYRIGHT: Copyright 2017-2018 ReactOS Team
8 * Copyright 2017-2018 Hermes Belusca-Maito
9 */
10
11 #ifndef __INSTREAM_H__
12 #define __INSTREAM_H__
13
14 #pragma once
15
16 /*
17 * Enable this define if you want to only use CRT functions to output
18 * UNICODE stream to the console, as in the way explained by
19 * http://archives.miloush.net/michkap/archive/2008/03/18/8306597.html
20 */
21 /** NOTE: Experimental! Don't use USE_CRT yet because output to console is a bit broken **/
22 // #define USE_CRT
23
24 #ifndef _UNICODE
25 #error The ConUtils library at the moment only supports compilation with _UNICODE defined!
26 #endif
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31
32 // Shadow type, implementation-specific
33 typedef struct _CON_STREAM CON_STREAM, *PCON_STREAM;
34
35 /*
36 * Console I/O utility API -- Input
37 */
38
39
40 #ifdef __cplusplus
41 }
42 #endif
43
44 #endif /* __INSTREAM_H__ */
45
46 /* EOF */