source: mainline/uspace/lib/c/include/io/console.h@ cd1e3fc0

Last change on this file since cd1e3fc0 was d7f7a4a, checked in by Jiří Zárevúcky <zarevucky.jiri@…>, 3 years ago

Replace some license headers with SPDX identifier

Headers are replaced using tools/transorm-copyright.sh only
when it can be matched verbatim with the license header used
throughout most of the codebase.

  • Property mode set to 100644
File size: 2.0 KB
Line 
1/*
2 * SPDX-FileCopyrightText: 2021 Jiri Svoboda
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7/** @addtogroup libc
8 * @{
9 */
10/** @file
11 */
12
13#ifndef _LIBC_IO_CONSOLE_H_
14#define _LIBC_IO_CONSOLE_H_
15
16#include <time.h>
17#include <io/charfield.h>
18#include <io/concaps.h>
19#include <io/kbd_event.h>
20#include <io/cons_event.h>
21#include <io/keycode.h>
22#include <async.h>
23#include <stdbool.h>
24#include <stdio.h>
25
26/** Console control structure. */
27typedef struct {
28 /** Console input file */
29 FILE *input;
30
31 /** Console output file */
32 FILE *output;
33
34 /** Console input session */
35 async_sess_t *input_sess;
36
37 /** Console output session */
38 async_sess_t *output_sess;
39
40 /** Input request call with timeout */
41 ipc_call_t input_call;
42
43 /** Input response with timeout */
44 aid_t input_aid;
45} console_ctrl_t;
46
47extern console_ctrl_t *console_init(FILE *, FILE *);
48extern void console_done(console_ctrl_t *);
49extern bool console_kcon(void);
50
51extern void console_flush(console_ctrl_t *);
52extern void console_clear(console_ctrl_t *);
53
54extern errno_t console_get_size(console_ctrl_t *, sysarg_t *, sysarg_t *);
55extern errno_t console_get_pos(console_ctrl_t *, sysarg_t *, sysarg_t *);
56extern void console_set_pos(console_ctrl_t *, sysarg_t, sysarg_t);
57
58extern void console_set_style(console_ctrl_t *, uint8_t);
59extern void console_set_color(console_ctrl_t *, uint8_t, uint8_t, uint8_t);
60extern void console_set_rgb_color(console_ctrl_t *, uint32_t, uint32_t);
61
62extern void console_cursor_visibility(console_ctrl_t *, bool);
63extern errno_t console_set_caption(console_ctrl_t *, const char *);
64extern errno_t console_get_color_cap(console_ctrl_t *, sysarg_t *);
65extern errno_t console_get_event(console_ctrl_t *, cons_event_t *);
66extern errno_t console_get_event_timeout(console_ctrl_t *, cons_event_t *,
67 usec_t *);
68extern errno_t console_map(console_ctrl_t *, sysarg_t, sysarg_t,
69 charfield_t **);
70extern void console_unmap(console_ctrl_t *, charfield_t *);
71extern errno_t console_update(console_ctrl_t *, sysarg_t, sysarg_t, sysarg_t,
72 sysarg_t);
73
74#endif
75
76/** @}
77 */
Note: See TracBrowser for help on using the repository browser.