blob: af2da255e727b212d570789a614bb8f01cb1d224 (
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
28
29
30
31
32
33
34
35
36
37
38
39
|
#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 {
struct ptyc_driver_ctx *driver_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
|