diff options
author | Kenny Levinsen <kl@kl.wtf> | 2020-08-02 20:21:19 +0200 |
---|---|---|
committer | Kenny Levinsen <kl@kl.wtf> | 2020-08-02 21:46:10 +0200 |
commit | b751481e5c0bed1b81b7c769923e772e9fd84e9d (patch) | |
tree | a08c88eb9b3755afb9b9ba70535ef98944de9301 /include | |
parent | b731b18e0a086e65aa25ed2a5e53488076f5ad37 (diff) |
seat: Open/close tty on activation/deactivation
The VT and KD ioctl's are picky about the tty fd used. In order to
satisfy these, and to improve state cleanup, we now only and store the
current tty when opening a client, and use this fd to perform teardown
later. The presence of the fd is also used to signal that teardown is
needed.
Diffstat (limited to 'include')
-rw-r--r-- | include/seat.h | 1 | ||||
-rw-r--r-- | include/terminal.h | 13 |
2 files changed, 9 insertions, 5 deletions
diff --git a/include/seat.h b/include/seat.h index e0d3533..5a6c273 100644 --- a/include/seat.h +++ b/include/seat.h @@ -32,6 +32,7 @@ struct seat { bool vt_bound; bool vt_pending_ack; int next_vt; + int curttyfd; }; struct seat *seat_create(const char *name, bool vt_bound); diff --git a/include/terminal.h b/include/terminal.h index c2a49ff..208d6b2 100644 --- a/include/terminal.h +++ b/include/terminal.h @@ -3,12 +3,15 @@ #include <stdbool.h> +int terminal_open(int vt); + +int terminal_set_process_switching(int fd, bool enable); int terminal_setup(int vt); int terminal_teardown(int vt); -int terminal_current_vt(void); -int terminal_switch_vt(int vt); -int terminal_ack_switch(void); -int terminal_set_keyboard(int vt, bool enable); -int terminal_set_graphics(int vt, bool enable); +int terminal_current_vt(int fd); +int terminal_switch_vt(int fd, int vt); +int terminal_ack_switch(int fd); +int terminal_set_keyboard(int fd, bool enable); +int terminal_set_graphics(int fd, bool enable); #endif |