summaryrefslogtreecommitdiffhomepage
path: root/src/daemon/ptyc_daemon_signal.c
blob: 2c8ed1b0b158958e0542f39e7fd59b6071c024df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/*********************************************************/
/*  ptycon: a pty-console bridge                         */
/*  Copyright (C) 2016--2017  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;
}