| #ifndef PTYCON_DAEMON_IMPL_H |
| #define PTYCON_DAEMON_IMPL_H |
| |
| #include <psxtypes/psxtypes.h> |
| #include <ntapi/ntapi.h> |
| |
| 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 |