diff options
Diffstat (limited to 'src/daemon/ptyc_daemon_signal.c')
-rw-r--r-- | src/daemon/ptyc_daemon_signal.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/daemon/ptyc_daemon_signal.c b/src/daemon/ptyc_daemon_signal.c new file mode 100644 index 0000000..67cef1d --- /dev/null +++ b/src/daemon/ptyc_daemon_signal.c @@ -0,0 +1,27 @@ +/*********************************************************/ +/* ptycon: a pty-console bridge */ +/* Copyright (C) 2016 Z. Gilboa */ +/* Released under GPLv2 and GPLv3; see COPYING.PTYCON. */ +/*********************************************************/ + +#include <psxtypes/psxtypes.h> +#include <ntapi/ntapi.h> +#include <ntapi/nt_termios.h> + +#include "ptycon_daemon_impl.h" +#include "ptycon_driver_impl.h" + +int32_t __stdcall ptyc_daemon_signal(nt_tty_port_msg * msg) +{ + /* [not a] ctty signal? */ + if (msg->ctlinfo.ctxarg[0]) + return NT_STATUS_SUCCESS; + + /* ctty sigint */ + if (msg->ctlinfo.ctlcode == TTY_TCSBRK) + ntapi->zw_terminate_process( + NT_CURRENT_PROCESS_HANDLE, + NT_STATUS_WAIT_1); + + return NT_STATUS_NOT_SUPPORTED; +} |