aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKenny Levinsen <kl@kl.wtf>2020-08-02 20:21:19 +0200
committerKenny Levinsen <kl@kl.wtf>2020-08-02 21:46:10 +0200
commitb751481e5c0bed1b81b7c769923e772e9fd84e9d (patch)
treea08c88eb9b3755afb9b9ba70535ef98944de9301 /include
parentb731b18e0a086e65aa25ed2a5e53488076f5ad37 (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.h1
-rw-r--r--include/terminal.h13
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