GATE
terminals.h File Reference

process terminal management library More...

Macros

#define GATE_TERMINAL_COLOR_BLACK   0
 
#define GATE_TERMINAL_COLOR_BLUE   1
 
#define GATE_TERMINAL_COLOR_GREEN   2
 
#define GATE_TERMINAL_COLOR_CYAN   3
 
#define GATE_TERMINAL_COLOR_RED   4
 
#define GATE_TERMINAL_COLOR_MAGENTA   5
 
#define GATE_TERMINAL_COLOR_ORANGE   6
 
#define GATE_TERMINAL_COLOR_WHITE   7
 
#define GATE_TERMINAL_COLOR_BRIGHT   8
 
#define GATE_TERMINAL_COLOR_GRAY   (GATE_TERMINAL_COLOR_BRIGHT | GATE_TERMINAL_COLOR_BLACK)
 
#define GATE_TERMINAL_COLOR_LIGHTBLUE   (GATE_TERMINAL_COLOR_BRIGHT | GATE_TERMINAL_COLOR_BLUE)
 
#define GATE_TERMINAL_COLOR_LIGHTGREEN   (GATE_TERMINAL_COLOR_BRIGHT | GATE_TERMINAL_COLOR_GREEN)
 
#define GATE_TERMINAL_COLOR_LIGHTCYAN   (GATE_TERMINAL_COLOR_BRIGHT | GATE_TERMINAL_COLOR_CYAN)
 
#define GATE_TERMINAL_COLOR_LIGHTRED   (GATE_TERMINAL_COLOR_BRIGHT | GATE_TERMINAL_COLOR_RED)
 
#define GATE_TERMINAL_COLOR_LIGHTMAGENTA   (GATE_TERMINAL_COLOR_BRIGHT | GATE_TERMINAL_COLOR_MAGENTA)
 
#define GATE_TERMINAL_COLOR_YELLOW   (GATE_TERMINAL_COLOR_BRIGHT | GATE_TERMINAL_COLOR_ORANGE)
 
#define GATE_TERMINAL_COLOR_LIGHTWHITE   (GATE_TERMINAL_COLOR_BRIGHT | GATE_TERMINAL_COLOR_WHITE)
 
#define GATE_INTERFACE_NAME_TERMINAL   GATE_INTERFACE_NAME_CONSOLE GATE_INTERFACE_NAME_SEPARATOR "terminal"
 
#define GATE_TERMINAL_CURSOR_MODE_OFF   0
 
#define GATE_TERMINAL_CURSOR_MODE_SMALL   1
 
#define GATE_TERMINAL_CURSOR_MODE_MEDIUM   2
 
#define GATE_TERMINAL_CURSOR_MODE_LARGE   3
 
#define gate_terminal_release(terminal)   ((gate_terminal_t*)(terminal))->vtbl->release((gate_terminal_t*)(terminal))
 
#define gate_terminal_retain(terminal)   ((gate_terminal_t*)(terminal))->vtbl->retain((gate_terminal_t*)(terminal))
 
#define gate_terminal_get_interface_name(terminal)   ((gate_terminal_t*)(terminal))->vtbl->get_interface_name((gate_terminal_t*)(terminal))
 
#define gate_terminal_read(terminal, buffer, bufferlength, returned)   ((gate_terminal_t*)(terminal))->vtbl->read((gate_terminal_t*)(terminal), (buffer), (bufferlength), (returned))
 
#define gate_terminal_peek(terminal, buffer, bufferlength, returned)   ((gate_terminal_t*)(terminal))->vtbl->peek((gate_terminal_t*)(terminal), (buffer), (bufferlength), (returned))
 
#define gate_terminal_write(terminal, buffer, bufferlength, written)   ((gate_terminal_t*)(terminal))->vtbl->write((gate_terminal_t*)(terminal), (buffer), (bufferlength), (written))
 
#define gate_terminal_flush(terminal)   ((gate_terminal_t*)(terminal))->vtbl->flush((gate_terminal_t*)(terminal))
 
#define gate_terminal_get_resource(terminal, resource_type, ptr_resource)   ((gate_terminal_t*)(terminal))->vtbl->get_resource((terminal), (resource_type), (ptr_resource))
 
#define gate_terminal_read_await(terminal, timeout_ms)   ((gate_terminal_t*)(terminal))->vtbl->read_char((terminal), (timeout_ms))
 
#define gate_terminal_read_char(terminal, ptr_char)   ((gate_terminal_t*)(terminal))->vtbl->read_char((terminal), (ptr_char))
 
#define gate_terminal_write_err(terminal, buffer, bufferlength, written)   ((gate_terminal_t*)(terminal))->vtbl->write_err((terminal), (buffer), (bufferlength), (written))
 
#define gate_terminal_flush_err(terminal)   ((gate_terminal_t*)(terminal))->vtbl->flush_err((terminal))
 
#define gate_terminal_get_size(terminal, ptr_width, ptr_height)   ((gate_terminal_t*)(terminal))->vtbl->get_size((gate_terminal_t*)(terminal), (ptr_width), (ptr_height))
 
#define gate_terminal_get_cursor_pos(terminal, ptr_x, ptr_y)   ((gate_terminal_t*)(terminal))->vtbl->get_cursor_pos((gate_terminal_t*)(terminal), (ptr_x), (ptr_y))
 
#define gate_terminal_set_cursor_pos(terminal, x, y)   ((gate_terminal_t*)(terminal))->vtbl->set_cursor_pos((gate_terminal_t*)(terminal), (x), (y))
 
#define gate_terminal_set_cursor_mode(terminal, mode)   ((gate_terminal_t*)(terminal))->vtbl->set_cursor_mode((gate_terminal_t*)(terminal), (mode))
 
#define gate_terminal_clear(terminal)   ((gate_terminal_t*)(terminal))->vtbl->clear((gate_terminal_t*)(terminal))
 
#define gate_terminal_get_text_color(terminal, ptr_color)   ((gate_terminal_t*)(terminal))->vtbl->get_text_color((gate_terminal_t*)(terminal), (ptr_color))
 
#define gate_terminal_set_text_color(terminal, color)   ((gate_terminal_t*)(terminal))->vtbl->set_text_color((gate_terminal_t*)(terminal), (color))
 
#define gate_terminal_get_back_color(terminal, ptr_color)   ((gate_terminal_t*)(terminal))->vtbl->get_back_color((gate_terminal_t*)(terminal), (ptr_color))
 
#define gate_terminal_set_back_color(terminal, color)   ((gate_terminal_t*)(terminal))->vtbl->set_back_color((gate_terminal_t*)(terminal), (color))
 
#define GATE_TERMINAL_FLAG_ECHO   0x0001 /* entered keys are written on output device */
 
#define GATE_TERMINAL_FLAG_GETCTRL   0x0002 /* CTRL+key (like CTRL+C) are handled as keyboard input (and are not processed by system) */
 
#define GATE_TERMINAL_FLAG_VT100   0x8000 /* enables VT100 terminal features */
 
#define GATE_TERMINAL_CHAR_SPECIAL   0 /* indicator that the following char identifies a special key or key-combination */
 
#define GATE_TERMINAL_CHAR_ALT_A   30
 
#define GATE_TERMINAL_CHAR_ALT_B   48
 
#define GATE_TERMINAL_CHAR_ALT_C   46
 
#define GATE_TERMINAL_CHAR_ALT_D   32
 
#define GATE_TERMINAL_CHAR_ALT_E   18
 
#define GATE_TERMINAL_CHAR_ALT_F   33
 
#define GATE_TERMINAL_CHAR_ALT_G   34
 
#define GATE_TERMINAL_CHAR_ALT_H   35
 
#define GATE_TERMINAL_CHAR_ALT_I   23
 
#define GATE_TERMINAL_CHAR_ALT_J   36
 
#define GATE_TERMINAL_CHAR_ALT_K   37
 
#define GATE_TERMINAL_CHAR_ALT_L   38
 
#define GATE_TERMINAL_CHAR_ALT_M   50
 
#define GATE_TERMINAL_CHAR_ALT_N   49
 
#define GATE_TERMINAL_CHAR_ALT_O   24
 
#define GATE_TERMINAL_CHAR_ALT_P   25
 
#define GATE_TERMINAL_CHAR_ALT_Q   16
 
#define GATE_TERMINAL_CHAR_ALT_R   19
 
#define GATE_TERMINAL_CHAR_ALT_S   31
 
#define GATE_TERMINAL_CHAR_ALT_T   20
 
#define GATE_TERMINAL_CHAR_ALT_U   22
 
#define GATE_TERMINAL_CHAR_ALT_V   47
 
#define GATE_TERMINAL_CHAR_ALT_W   17
 
#define GATE_TERMINAL_CHAR_ALT_X   45
 
#define GATE_TERMINAL_CHAR_ALT_Y   21
 
#define GATE_TERMINAL_CHAR_ALT_Z   44
 
#define GATE_TERMINAL_CHAR_PGUP   73
 
#define GATE_TERMINAL_CHAR_PGDOWN   81
 
#define GATE_TERMINAL_CHAR_HOME   71
 
#define GATE_TERMINAL_CHAR_END   79
 
#define GATE_TERMINAL_CHAR_UPARROW   72
 
#define GATE_TERMINAL_CHAR_DOWNARROW   80
 
#define GATE_TERMINAL_CHAR_LEFTARROW   75
 
#define GATE_TERMINAL_CHAR_RIGHTARROW   77
 
#define GATE_TERMINAL_CHAR_F1   59
 
#define GATE_TERMINAL_CHAR_F2   60
 
#define GATE_TERMINAL_CHAR_F3   61
 
#define GATE_TERMINAL_CHAR_F4   62
 
#define GATE_TERMINAL_CHAR_F5   63
 
#define GATE_TERMINAL_CHAR_F6   64
 
#define GATE_TERMINAL_CHAR_F7   65
 
#define GATE_TERMINAL_CHAR_F8   66
 
#define GATE_TERMINAL_CHAR_F9   67
 
#define GATE_TERMINAL_CHAR_F10   68
 
#define GATE_TERMINAL_CHAR_F11   133
 
#define GATE_TERMINAL_CHAR_F12   134
 
#define GATE_TERMINAL_CHAR_ALT_F1   104
 
#define GATE_TERMINAL_CHAR_ALT_F2   105
 
#define GATE_TERMINAL_CHAR_ALT_F3   106
 
#define GATE_TERMINAL_CHAR_ALT_F4   107
 
#define GATE_TERMINAL_CHAR_ALT_F5   108
 
#define GATE_TERMINAL_CHAR_ALT_F6   109
 
#define GATE_TERMINAL_CHAR_ALT_F7   110
 
#define GATE_TERMINAL_CHAR_ALT_F8   111
 
#define GATE_TERMINAL_CHAR_ALT_F9   112
 
#define GATE_TERMINAL_CHAR_ALT_F10   113
 
#define GATE_TERMINAL_CHAR_ALT_F11   139
 
#define GATE_TERMINAL_CHAR_ALT_F12   140
 
#define GATE_TERMINAL_CHAR_CTRL_A   1
 
#define GATE_TERMINAL_CHAR_CTRL_B   2
 
#define GATE_TERMINAL_CHAR_CTRL_C   3
 
#define GATE_TERMINAL_CHAR_CTRL_D   4
 
#define GATE_TERMINAL_CHAR_CTRL_E   5
 
#define GATE_TERMINAL_CHAR_CTRL_F   6
 
#define GATE_TERMINAL_CHAR_CTRL_G   7
 
#define GATE_TERMINAL_CHAR_CTRL_H   8
 
#define GATE_TERMINAL_CHAR_CTRL_I   9
 
#define GATE_TERMINAL_CHAR_CTRL_J   10
 
#define GATE_TERMINAL_CHAR_CTRL_K   11
 
#define GATE_TERMINAL_CHAR_CTRL_L   12
 
#define GATE_TERMINAL_CHAR_CTRL_M   13
 
#define GATE_TERMINAL_CHAR_CTRL_N   14
 
#define GATE_TERMINAL_CHAR_CTRL_O   15
 
#define GATE_TERMINAL_CHAR_CTRL_P   16
 
#define GATE_TERMINAL_CHAR_CTRL_Q   17
 
#define GATE_TERMINAL_CHAR_CTRL_R   18
 
#define GATE_TERMINAL_CHAR_CTRL_S   19
 
#define GATE_TERMINAL_CHAR_CTRL_T   20
 
#define GATE_TERMINAL_CHAR_CTRL_U   21
 
#define GATE_TERMINAL_CHAR_CTRL_V   22
 
#define GATE_TERMINAL_CHAR_CTRL_W   23
 
#define GATE_TERMINAL_CHAR_CTRL_X   24
 
#define GATE_TERMINAL_CHAR_CTRL_Y   25
 
#define GATE_TERMINAL_CHAR_CTRL_Z   26
 
#define GATE_TERMINAL_CHAR_ESC   27
 

Typedefs

typedef gate_result_t(* gate_terminal_read_char_t) (gate_char16_t *ptr_chr, gate_uint32_t timeout_ms, void *read_param)
 
typedef gate_result_t(* gate_terminal_write_char_t) (gate_char16_t chr, void *write_param)
 

Functions

 GATE_INTERFACE (gate_terminal)
 
GATE_SYSTEM_API gate_terminal_t * gate_terminal_console_get_current ()
 
GATE_SYSTEM_API gate_terminal_t * gate_terminal_console_open (gate_enumint_t flags)
 
GATE_SYSTEM_API gate_terminal_t * gate_terminal_virtual_create (gate_uint16_t columns, gate_uint16_t rows, gate_enumint_t flags, gate_terminal_read_char_t read_callback, void *read_param, gate_terminal_write_char_t write_callback, void *write_param)
 

Detailed Description

process terminal management library