[CONUTILS] In ConWrite(), emit an \r when a \n is encountered but not already precede...
[reactos.git] / sdk / lib / conutils / README.txt
1 The ReactOS Console Utilities Library v0.2
2 ==========================================
3
4 LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
5 COPYRIGHT: Copyright 2017-2018 ReactOS Team
6 Copyright 2017-2018 Hermes Belusca-Maito
7 CREDITS: Thanks to the many people who originally wrote the code that finally
8 ended up inside this library, with more or less refactoring, or
9 whose code served as a basis for some functions of the library.
10
11
12 INTRODUCTION
13 ~-~-~-~-~-~-
14
15 This library contains common functions used in many places inside the ReactOS
16 console utilities and the ReactOS Command-Line Interpreter. Most of these
17 functions are related with internationalisation and the problem of correctly
18 displaying Unicode text on the console. Besides those, helpful functions for
19 retrieving strings and messages from application resources are provided,
20 together with printf-like functionality.
21
22
23 CONTENTS
24 ~-~-~-~-
25
26 -- Main ConUtils Library --
27
28 0. "BASE" (utils.c and utils.h): Base set of functions for loading
29 string resources and message strings, and handle type identification.
30
31 1. "STREAM" (stream.c and stream.h, instream.c and instream.h, outstream.c
32 and outstream.h): Console Stream API (CON_STREAM):
33 Stream initialization, basic ConStreamRead/Write. Stream utility functions:
34 ConPuts/Printf, ConResPuts/Printf, ConMsgPuts/Printf. Depends on "BASE".
35
36 2. "SCREEN" (screen.c and screen.h): Console Screen API (CON_SCREEN):
37 Introduces the notion of console/terminal screen around the streams. Manages
38 console/terminal screen metrics for Win32 consoles and TTYs (serial...).
39 Additional Screen utility functions.
40 Depends on "STREAM", and indirectly on "BASE".
41
42 3. "PAGER" (pager.c and pager.h): Console Pager API (CON_PAGER):
43 Implements core console/terminal paging functionality around console screens.
44 Depends on "SCREEN", and indirectly on "STREAM" and "BASE".