#ifndef PTYCON_DAEMON_IMPL_H #define PTYCON_DAEMON_IMPL_H #include #include enum ptyc_daemon_opcodes { PTYC_DAEMON_OPCODE_BASE = 0x20000, PTYC_DAEMON_CONNECT = PTYC_DAEMON_OPCODE_BASE, PTYC_DAEMON_DISCONNECT, PTYC_DAEMON_TTYSIGNAL, PTYC_DAEMON_IPCSIGNAL, PTYC_DAEMON_SIGCHLD, PTYC_DAEMON_THREADEXIT, PTYC_DAEMON_OPCODE_CAP }; typedef int32_t __stdcall ptyc_daemon_routine(nt_tty_port_msg *); struct ptyc_daemon_ctx { nt_port_keys daemon_keys; nt_port_attr daemon_attr; nt_port_name daemon_name; void * hport_daemon; void * hevent_daemon_ready; void * hport_internal_client; void * hevent_internal_client_ready; }; int32_t __stdcall ptyc_daemon_init(struct ptyc_daemon_ctx *, uint64_t); int32_t __stdcall ptyc_daemon_loop(void *); int32_t __stdcall ptyc_daemon_connect(nt_tty_port_msg *); int32_t __stdcall ptyc_daemon_signal(nt_tty_port_msg *); #endif