Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209/* * 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 */
/** * @file outstream.h * @ingroup ConUtils * * @brief Console I/O utility API -- Output **/
#ifndef __OUTSTREAM_H__#define __OUTSTREAM_H__
#pragma once
/* * Enable this define if you want to only use CRT functions to output * UNICODE stream to the console, as in the way explained by * http://archives.miloush.net/michkap/archive/2008/03/18/8306597.html *//** NOTE: Experimental! Don't use USE_CRT yet because output to console is a bit broken **/// #define USE_CRT
#ifndef _UNICODE#error The ConUtils library at the moment only supports compilation with _UNICODE defined!#endif
#ifdef __cplusplusextern "C" {#endif
// Shadow type, implementation-specifictypedef struct _CON_STREAM CON_STREAM, *PCON_STREAM;
// typedef INT (__stdcall *CON_READ_FUNC)( // IN PCON_STREAM Stream, // OUT PTCHAR szStr, // IN OUT PDWORD len);
typedef INT (__stdcall *CON_WRITE_FUNC)( IN PCON_STREAM Stream, IN PCTCH szStr, IN DWORD len);
INT__stdcallConWrite( IN PCON_STREAM Stream, IN PCTCH szStr, IN DWORD len);
INTConStreamWrite( IN PCON_STREAM Stream, IN PCTCH szStr, IN DWORD len);
INTConPuts( IN PCON_STREAM Stream, IN PCWSTR szStr);
INTConPrintfV( IN PCON_STREAM Stream, IN PCWSTR szStr, IN va_list args);
INT__cdeclConPrintf( IN PCON_STREAM Stream, IN PCWSTR szStr, ...);
INTConResPutsEx( IN PCON_STREAM Stream, IN HINSTANCE hInstance OPTIONAL, IN UINT uID, IN LANGID LanguageId);
INTConResPuts( IN PCON_STREAM Stream, IN UINT uID);
INTConResPrintfExV( IN PCON_STREAM Stream, IN HINSTANCE hInstance OPTIONAL, IN UINT uID, IN LANGID LanguageId, IN va_list args);
INTConResPrintfV( IN PCON_STREAM Stream, IN UINT uID, IN va_list args);
INT__cdeclConResPrintfEx( IN PCON_STREAM Stream, IN HINSTANCE hInstance OPTIONAL, IN UINT uID, IN LANGID LanguageId, ...);
INT__cdeclConResPrintf( IN PCON_STREAM Stream, IN UINT uID, ...);
INTConMsgPuts( IN PCON_STREAM Stream, IN DWORD dwFlags, IN LPCVOID lpSource OPTIONAL, IN DWORD dwMessageId, IN DWORD dwLanguageId);
INTConMsgPrintf2V( IN PCON_STREAM Stream, IN DWORD dwFlags, IN LPCVOID lpSource OPTIONAL, IN DWORD dwMessageId, IN DWORD dwLanguageId, IN va_list args);
INTConMsgPrintfV( IN PCON_STREAM Stream, IN DWORD dwFlags, IN LPCVOID lpSource OPTIONAL, IN DWORD dwMessageId, IN DWORD dwLanguageId, IN va_list *Arguments OPTIONAL);
INT__cdeclConMsgPrintf( IN PCON_STREAM Stream, IN DWORD dwFlags, IN LPCVOID lpSource OPTIONAL, IN DWORD dwMessageId, IN DWORD dwLanguageId, ...);
INTConResMsgPrintfExV( IN PCON_STREAM Stream, IN HINSTANCE hInstance OPTIONAL, IN DWORD dwFlags, IN UINT uID, IN LANGID LanguageId, IN va_list *Arguments OPTIONAL);
INTConResMsgPrintfV( IN PCON_STREAM Stream, IN DWORD dwFlags, IN UINT uID, IN va_list *Arguments OPTIONAL);
INT__cdeclConResMsgPrintfEx( IN PCON_STREAM Stream, IN HINSTANCE hInstance OPTIONAL, IN DWORD dwFlags, IN UINT uID, IN LANGID LanguageId, ...);
INT__cdeclConResMsgPrintf( IN PCON_STREAM Stream, IN DWORD dwFlags, IN UINT uID, ...);
VOIDConClearLine(IN PCON_STREAM Stream);
#ifdef __cplusplus}#endif
#endif /* __OUTSTREAM_H__ */
/* EOF */