blob: ad4f862f14844e8b7f1f90b9dfdaca862698d881 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
/** \file input_common.h
Header file for the low level input library
*/
#ifndef INPUT_COMMON_HH
#define INPUT_COMMON_HH
/**
Hopefully, the biggest value that a wchar_t can have. UCS4 is a
31-bit character set, we use the upper half for special key
sequences. On systems where wchar_t is not a 31 (or less) bit character set
in a 32 (or more) bit type this will fail horribly.
*/
#define WCHAR_END 0x80000000
enum
{
R_NULL = WCHAR_END + 1
}
;
void input_common_init( int (*ih)() );
void input_common_destroy();
/**
Function used by input_readch to read bytes from stdin until enough
bytes have been read to convert them to a wchar_t. Conversion is
done using mbrtowc. If a character has previously been read and
then 'unread' using \c input_common_unreadch, that character is
returned. If timed is true, readch2 will wait at most
WAIT_ON_ESCAPE milliseconds for a character to be available for
reading before returning with the value WEOF.
*/
wchar_t input_common_readch( int timed );
void input_common_unreadch( wint_t ch );
#endif
|