CLISH  0.7.3
vt100.h
1 /*
2  * vt100.h
3  *
4  * A simple class representing a vt100 terminal
5  */
19 #ifndef _tinyrl_vt100_h
20 #define _tinyrl_vt100_h
21 
22 #include <stdio.h>
23 #include <stdarg.h>
24 
25 #include "lub/c_decl.h"
26 #include "lub/types.h"
27 
28 _BEGIN_C_DECL
29 
30 typedef struct _tinyrl_vt100 tinyrl_vt100_t;
31 
32 /* define the Key codes */
33 #define KEY_NUL 0
34 #define KEY_SOH 1
35 #define KEY_STX 2
36 #define KEY_ETX 3
37 #define KEY_EOT 4
38 #define KEY_ENQ 5
39 #define KEY_ACK 6
40 #define KEY_BEL 7
41 #define KEY_BS 8
42 #define KEY_HT 9
43 #define KEY_LF 10
44 #define KEY_VT 11
45 #define KEY_FF 12
46 #define KEY_CR 13
47 #define KEY_SO 14
48 #define KEY_SI 15
49 #define KEY_DLE 16
50 #define KEY_DC1 17
51 #define KEY_DC2 18
52 #define KEY_DC3 19
53 #define KEY_DC4 20
54 #define KEY_NAK 21
55 #define KEY_SYN 22
56 #define KEY_ETB 23
57 #define KEY_CAN 24
58 #define KEY_EM 25
59 #define KEY_SUB 26
60 #define KEY_ESC 27
61 #define KEY_FS 28
62 #define KEY_GS 29
63 #define KEY_RS 30
64 #define KEY_US 31
66 #define KEY_DEL 127
71 typedef enum
72 {
79 
80 extern tinyrl_vt100_t *
81  tinyrl_vt100_new(
82  FILE *instream,
83  FILE *outstream
84  );
85 extern void
86  tinyrl_vt100_delete(tinyrl_vt100_t *instance);
87 
88 /*lint -esym(534,tinyrl_vt100_printf) Ignoring return value of function */
89 extern int
90  tinyrl_vt100_printf(
91  const tinyrl_vt100_t *instance,
92  const char *fmt,
93  ...
94  );
95 extern int
96  tinyrl_vt100_vprintf(
97  const tinyrl_vt100_t *instance,
98  const char *fmt,
99  va_list args
100  );
101 
102 extern int
103  tinyrl_vt100_oflush(
104  const tinyrl_vt100_t *instance
105  );
106 extern int
107  tinyrl_vt100_ierror(
108  const tinyrl_vt100_t *instance
109  );
110 extern int
111  tinyrl_vt100_oerror(
112  const tinyrl_vt100_t *instance
113  );
114 extern int
115  tinyrl_vt100_ieof(
116  const tinyrl_vt100_t *instance
117  );
118 extern int
119  tinyrl_vt100_getchar(
120  const tinyrl_vt100_t *instance
121  );
122 extern unsigned
123  tinyrl_vt100__get_width(
124  const tinyrl_vt100_t *instance
125  );
126 extern unsigned
127  tinyrl_vt100__get_height(
128  const tinyrl_vt100_t *instance
129  );
130 extern void
131  tinyrl_vt100__set_istream(
132  tinyrl_vt100_t *instance,
133  FILE *istream
134  );
135 extern FILE *
136  tinyrl_vt100__get_istream(
137  const tinyrl_vt100_t *instance
138  );
139 extern FILE *
140  tinyrl_vt100__get_ostream(
141  const tinyrl_vt100_t *instance
142  );
143 
145  tinyrl_vt100_escape_decode(
146  const tinyrl_vt100_t *instance
147  );
148 extern void
149  tinyrl_vt100_ding(
150  const tinyrl_vt100_t *instance
151  );
152 extern void
153  tinyrl_vt100_attribute_reset(
154  const tinyrl_vt100_t *instance
155  );
156 extern void
157  tinyrl_vt100_attribute_bright(
158  const tinyrl_vt100_t *instance
159  );
160 extern void
161  tinyrl_vt100_attribute_dim(
162  const tinyrl_vt100_t *instance
163  );
164 extern void
165  tinyrl_vt100_attribute_underscore(
166  const tinyrl_vt100_t *instance
167  );
168 extern void
169  tinyrl_vt100_attribute_blink(
170  const tinyrl_vt100_t *instance
171  );
172 extern void
173  tinyrl_vt100_attribute_reverse(
174  const tinyrl_vt100_t *instance
175  );
176 extern void
177  tinyrl_vt100_attribute_hidden(
178  const tinyrl_vt100_t *instance
179  );
180 extern void
181  tinyrl_vt100_erase_line(
182  const tinyrl_vt100_t *instance
183  );
184 extern void
185  tinyrl_vt100_clear_screen(
186  const tinyrl_vt100_t *instance
187  );
188 extern void
189  tinyrl_vt100_cursor_back(
190  const tinyrl_vt100_t *instance,
191  unsigned count
192  );
193 extern void
194  tinyrl_vt100_cursor_forward(
195  const tinyrl_vt100_t *instance,
196  unsigned count
197  );
198 extern void
199  tinyrl_vt100_cursor_up(
200  const tinyrl_vt100_t *instance,
201  unsigned count
202  );
203 extern void
204  tinyrl_vt100_cursor_down(
205  const tinyrl_vt100_t *instance,
206  unsigned count
207  );
208 extern void
209  tinyrl_vt100_cursor_home(
210  const tinyrl_vt100_t *instance
211  );
212 extern void
213  tinyrl_vt100_cursor_save(
214  const tinyrl_vt100_t *instance
215  );
216 extern void
217  tinyrl_vt100_cursor_restore(
218  const tinyrl_vt100_t *instance
219  );
220 extern void
221  tinyrl_vt100_erase(
222  const tinyrl_vt100_t *instance,
223  unsigned count
224  );
225 _END_C_DECL
226 
227 #endif /* _tinyrl_vt100_h */
228 
tinyrl_vt100_escape_t
Definition: vt100.h:71
Definition: vt100.h:73
Definition: vt100.h:74
Definition: vt100.h:76
Definition: vt100.h:75
Definition: vt100.h:77