blob: fbae25f2d36eafe0ca21057a1b044de30ec5e9ce [file] [log] [blame]
Stéphane Marchesinae37e6c2014-08-08 18:19:40 -07001/*
2 * Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file.
5 */
6
7#ifndef TERM_H
8#define TERM_H
9
David Sodmanf0a925a2015-05-04 11:19:19 -070010#include "image.h"
David Sodmanbbcb0522014-09-19 10:34:07 -070011#include "video.h"
Stéphane Marchesinae37e6c2014-08-08 18:19:40 -070012
David Sodmanf0a925a2015-05-04 11:19:19 -070013typedef struct _terminal_t terminal_t;
Stéphane Marchesin00ff1872015-12-14 13:40:09 -080014terminal_t* term_init(bool interactive, video_t* video);
David Sodmanbbcb0522014-09-19 10:34:07 -070015void term_close(terminal_t* terminal);
16void term_redraw(terminal_t* terminal);
17void term_set_dbus(terminal_t* terminal, dbus_t* dbus);
David Sodmanbbcb0522014-09-19 10:34:07 -070018void term_close(terminal_t* terminal);
David Sodmanbf3f2842014-11-12 08:26:58 -080019void term_key_event(terminal_t* terminal, uint32_t keysym, int32_t unicode);
20bool term_is_child_done(terminal_t* terminal);
21
22void term_page_up(terminal_t* terminal);
23void term_page_down(terminal_t* terminal);
24void term_line_up(terminal_t* terminal);
25void term_line_down(terminal_t* terminal);
26
27bool term_is_valid(terminal_t* terminal);
28int term_fd(terminal_t* terminal);
29void term_dispatch_io(terminal_t* terminal, fd_set* read_set);
30bool term_exception(terminal_t*, fd_set* exception_set);
31bool term_is_active(terminal_t*);
David Sodman8ef20062015-01-06 09:23:40 -080032void term_activate(terminal_t*);
David Sodmanf0a925a2015-05-04 11:19:19 -070033void term_deactivate(terminal_t* terminal);
David Sodmanbf3f2842014-11-12 08:26:58 -080034void term_add_fd(terminal_t* terminal, fd_set* read_set, fd_set* exception_set);
David Sodman8ef20062015-01-06 09:23:40 -080035const char* term_get_ptsname(terminal_t* terminal);
David Sodmanf0a925a2015-05-04 11:19:19 -070036void term_set_background(terminal_t* term, uint32_t bg);
37int term_show_image(terminal_t* terminal, image_t* image);
38void term_write_message(terminal_t* terminal, char* message);
39void term_hide_cursor(terminal_t* terminal);
40void term_show_cursor(terminal_t* terminal);
David Sodman30a94ef2015-07-26 17:37:12 -070041video_t* term_getvideo(terminal_t* terminal);
Stéphane Marchesinae37e6c2014-08-08 18:19:40 -070042
43#endif