/[LeafOK_CVS]/lbbs/include/io.h
ViewVC logotype

Annotation of /lbbs/include/io.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.27 - (hide annotations)
Tue Nov 4 14:58:55 2025 UTC (4 months, 1 week ago) by sysadm
Branch: MAIN
Changes since 1.26: +1 -1 lines
Content type: text/x-chdr
Refine file header information comments

1 sysadm 1.26 /* SPDX-License-Identifier: GPL-3.0-or-later */
2     /*
3     * io
4     * - basic terminal-based user input / output features
5     *
6 sysadm 1.27 * Copyright (C) 2004-2025 Leaflet <leaflet@leafok.com>
7 sysadm 1.26 */
8 sysadm 1.1
9 sysadm 1.9 #ifndef _IO_H_
10     #define _IO_H_
11    
12 sysadm 1.22 #include <iconv.h>
13 sysadm 1.1 #include <stdio.h>
14    
15 sysadm 1.11 #define CR '\r'
16     #define LF '\n'
17     #define BACKSPACE '\b'
18     #define BELL '\b'
19 sysadm 1.20 #define KEY_TAB 9
20     #define KEY_ESC 27
21 sysadm 1.11 #define KEY_SPACE '\040'
22 sysadm 1.7
23     #ifndef EXTEND_KEY
24     #define EXTEND_KEY
25 sysadm 1.19
26 sysadm 1.11 #define KEY_NULL 0xffff
27     #define KEY_TIMEOUT 0xfffe
28     #define KEY_CONTROL 0xff
29     #define KEY_UP 0x0101
30     #define KEY_DOWN 0x0102
31     #define KEY_RIGHT 0x0103
32     #define KEY_LEFT 0x0104
33 sysadm 1.20 #define KEY_CSI 0x011b // ESC ESC
34 sysadm 1.11 #define KEY_HOME 0x0201
35     #define KEY_INS 0x0202
36     #define KEY_DEL 0x0203
37     #define KEY_END 0x0204
38     #define KEY_PGUP 0x0205
39     #define KEY_PGDN 0x0206
40 sysadm 1.19
41 sysadm 1.11 #define KEY_F1 0x0207
42     #define KEY_F2 0x0208
43     #define KEY_F3 0x0209
44     #define KEY_F4 0x020a
45     #define KEY_F5 0x020b
46     #define KEY_F6 0x020c
47     #define KEY_F7 0x020d
48     #define KEY_F8 0x020e
49     #define KEY_F9 0x020f
50     #define KEY_F10 0x0210
51 sysadm 1.19 #define KEY_F11 0x0211
52     #define KEY_F12 0x0212
53    
54     #define KEY_SHIFT_F1 0x0213
55     #define KEY_SHIFT_F2 0x0214
56     #define KEY_SHIFT_F3 0x0215
57     #define KEY_SHIFT_F4 0x0216
58     #define KEY_SHIFT_F5 0x0217
59     #define KEY_SHIFT_F6 0x0218
60     #define KEY_SHIFT_F7 0x0219
61     #define KEY_SHIFT_F8 0x021a
62     #define KEY_SHIFT_F9 0x021b
63     #define KEY_SHIFT_F10 0x021c
64     #define KEY_SHIFT_F11 0x021d
65     #define KEY_SHIFT_F12 0x021e
66    
67     #define KEY_CTRL_F1 0x021f
68     #define KEY_CTRL_F2 0x0220
69     #define KEY_CTRL_F3 0x0221
70     #define KEY_CTRL_F4 0x0222
71     #define KEY_CTRL_F5 0x0223
72     #define KEY_CTRL_F6 0x0224
73     #define KEY_CTRL_F7 0x0225
74     #define KEY_CTRL_F8 0x0226
75     #define KEY_CTRL_F9 0x0227
76     #define KEY_CTRL_F10 0x0228
77     #define KEY_CTRL_F11 0x0229
78     #define KEY_CTRL_F12 0x022a
79    
80 sysadm 1.21 #define KEY_CTRL_UP 0x0230
81     #define KEY_CTRL_DOWN 0x0231
82     #define KEY_CTRL_RIGHT 0x0232
83     #define KEY_CTRL_LEFT 0x0233
84     #define KEY_CTRL_HOME 0x0234
85     #define KEY_CTRL_END 0x0235
86    
87 sysadm 1.19 #endif // EXPAND_KEY
88 sysadm 1.3
89 sysadm 1.11 #define Ctrl(C) ((C) - 'A' + 1)
90 sysadm 1.2
91 sysadm 1.11 #define DOECHO (1)
92     #define NOECHO (0)
93 sysadm 1.10
94 sysadm 1.23 #define BBS_DEFAULT_CHARSET "UTF-8"
95    
96 sysadm 1.25 extern char stdio_charset[20];
97 sysadm 1.23
98 sysadm 1.12 extern int prints(const char *format, ...);
99 sysadm 1.17 extern int outc(char c);
100 sysadm 1.18 extern int iflush(void);
101 sysadm 1.12
102 sysadm 1.18 extern int igetch(int timeout);
103     extern int igetch_t(int sec);
104 sysadm 1.22 extern void igetch_reset(void);
105 sysadm 1.18
106 sysadm 1.22 extern int io_buf_conv(iconv_t cd, char *p_buf, int *p_buf_len, int *p_buf_offset, char *p_conv, size_t conv_size, int *p_conv_len);
107 sysadm 1.23 extern int io_conv_init(const char *charset);
108     extern int io_conv_cleanup(void);
109 sysadm 1.12
110 sysadm 1.9 #endif //_IO_H_

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1