diff options
Diffstat (limited to 'src/internal')
-rw-r--r-- | src/internal/ptycon_daemon_impl.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/internal/ptycon_daemon_impl.h b/src/internal/ptycon_daemon_impl.h new file mode 100644 index 0000000..1595984 --- /dev/null +++ b/src/internal/ptycon_daemon_impl.h @@ -0,0 +1,37 @@ +#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 |