mirror of
https://github.com/reactos/reactos.git
synced 2024-07-12 15:45:20 +00:00
![Hermès Bélusca-Maïto](/assets/img/avatar_default.png)
As code grows, this will allow for better maintenance of the console stream code. In particular the input stream module will contain special code for handling TTYs, and this is something not all console programs will need. Having this code in a separate module will allow for the linker to possibly remove this code when it is unused.
86 lines
1.7 KiB
C
86 lines
1.7 KiB
C
/*
|
|
* PROJECT: ReactOS Console Utilities Library
|
|
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
|
* PURPOSE: Console/terminal paging functionality.
|
|
* COPYRIGHT: Copyright 2017-2018 ReactOS Team
|
|
* Copyright 2017-2018 Hermes Belusca-Maito
|
|
*/
|
|
|
|
#ifndef __PAGER_H__
|
|
#define __PAGER_H__
|
|
|
|
#pragma once
|
|
|
|
#ifndef _UNICODE
|
|
#error The ConUtils library at the moment only supports compilation with _UNICODE defined!
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
// #include <wincon.h>
|
|
|
|
|
|
typedef struct _CON_PAGER
|
|
{
|
|
PCON_SCREEN Screen;
|
|
|
|
// TODO: Add more properties. Maybe those extra parameters
|
|
// of PAGE_PROMPT could go there?
|
|
|
|
/* Used to count number of lines since last pause */
|
|
DWORD LineCount;
|
|
} CON_PAGER, *PCON_PAGER;
|
|
|
|
#define INIT_CON_PAGER(pScreen) {(pScreen), 0}
|
|
|
|
#define InitializeConPager(pPager, pScreen) \
|
|
do { \
|
|
(pPager)->Screen = (pScreen); \
|
|
(pPager)->LineCount = 0; \
|
|
} while (0)
|
|
|
|
|
|
// Pager, Done, Total
|
|
typedef BOOL (__stdcall *PAGE_PROMPT)(IN PCON_PAGER, IN DWORD, IN DWORD);
|
|
|
|
BOOL
|
|
ConWritePaging(
|
|
IN PCON_PAGER Pager,
|
|
IN PAGE_PROMPT PagePrompt,
|
|
IN BOOL StartPaging,
|
|
IN PTCHAR szStr,
|
|
IN DWORD len);
|
|
|
|
BOOL
|
|
ConPutsPaging(
|
|
IN PCON_PAGER Pager,
|
|
IN PAGE_PROMPT PagePrompt,
|
|
IN BOOL StartPaging,
|
|
IN LPTSTR szStr);
|
|
|
|
BOOL
|
|
ConResPagingEx(
|
|
IN PCON_PAGER Pager,
|
|
IN PAGE_PROMPT PagePrompt,
|
|
IN BOOL StartPaging,
|
|
IN HINSTANCE hInstance OPTIONAL,
|
|
IN UINT uID);
|
|
|
|
BOOL
|
|
ConResPaging(
|
|
IN PCON_PAGER Pager,
|
|
IN PAGE_PROMPT PagePrompt,
|
|
IN BOOL StartPaging,
|
|
IN UINT uID);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __PAGER_H__ */
|
|
|
|
/* EOF */
|