Blame src/internal/ptycon_daemon_impl.h

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