| /* |
| * Copyright (c) 2014 The Chromium OS Authors. All rights reserved. |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #ifndef TERM_H |
| #define TERM_H |
| |
| #include "fb.h" |
| #include "image.h" |
| |
| #define TERM_MAX_TERMINALS 12 |
| #define TERM_SPLASH_TERMINAL 0 |
| #define TERM_FIRST_STD_VT 1 |
| |
| #define FRECON_VT_PATH FRECON_RUN_DIR "/vt%u" |
| |
| |
| /* Maximum length of buffer than can be passed to /dev/kmsg as defined in kernel |
| * sources. */ |
| #define KMSG_LINE_MAX (1024 - 32) |
| |
| |
| extern unsigned int term_num_terminals; |
| |
| typedef struct _terminal_t terminal_t; |
| |
| void term_set_num_terminals(unsigned new_num); |
| terminal_t* term_init(unsigned vt, int pts_fd); |
| void term_close(terminal_t* terminal); |
| void term_close(terminal_t* terminal); |
| void term_key_event(terminal_t* terminal, uint32_t keysym, int32_t unicode); |
| bool term_is_child_done(terminal_t* terminal); |
| |
| void term_page_up(terminal_t* terminal); |
| void term_page_down(terminal_t* terminal); |
| void term_line_up(terminal_t* terminal); |
| void term_line_down(terminal_t* terminal); |
| |
| bool term_is_valid(terminal_t* terminal); |
| int term_fd(terminal_t* terminal); |
| void term_dispatch_io(terminal_t* terminal, fd_set* read_set); |
| bool term_exception(terminal_t*, fd_set* exception_set); |
| bool term_is_active(terminal_t*); |
| void term_activate(terminal_t*); |
| void term_deactivate(terminal_t* terminal); |
| void term_add_fds(terminal_t* terminal, fd_set* read_set, fd_set* exception_set, int* maxfd); |
| const char* term_get_ptsname(terminal_t* terminal); |
| void term_set_background(terminal_t* term, uint32_t bg); |
| int term_show_image(terminal_t* terminal, image_t* image); |
| void term_write_message(terminal_t* terminal, char* message); |
| fb_t* term_getfb(terminal_t* terminal); |
| terminal_t* term_get_terminal(int num); |
| void term_set_terminal(int num, terminal_t* terminal); |
| int term_create_splash_term(int pts_fd); |
| void term_destroy_splash_term(void); |
| void term_set_current(uint32_t t); |
| uint32_t term_get_current(void); |
| terminal_t *term_get_current_terminal(void); |
| void term_set_current_terminal(terminal_t* terminal); |
| void term_set_current_to(terminal_t* terminal); |
| int term_switch_to(unsigned int vt); |
| void term_monitor_hotplug(void); |
| void term_redrm(terminal_t* terminal); |
| void term_clear(terminal_t* terminal); |
| void term_zoom(bool zoom_in); |
| void term_background(bool onetry); |
| void term_foreground(void); |
| void term_suspend_done(void*); |
| void term_input_enable(terminal_t* terminal, bool input_enable); |
| #endif |