Blame src/internal/toksvc_daemon_impl.h

5e5175
#ifndef TOKSVC_DAEMON_IMPL_H
5e5175
#define TOKSVC_DAEMON_IMPL_H
5e5175
5e5175
#include <psxtypes/psxtypes.h>
5e5175
#include <ntapi/ntapi.h>
5e5175
5e5175
enum toks_daemon_opcodes {
5e5175
	TOKS_DAEMON_OPCODE_BASE	= 0x20000,
5e5175
	TOKS_DAEMON_CONNECT	= TOKS_DAEMON_OPCODE_BASE,
5e5175
	TOKS_DAEMON_DISCONNECT,
5e5175
	TOKS_DAEMON_TTYSIGNAL,
5e5175
	TOKS_DAEMON_IPCSIGNAL,
5e5175
	TOKS_DAEMON_SIGCHLD,
5e5175
	TOKS_DAEMON_THREADEXIT,
5e5175
	TOKS_DAEMON_OPCODE_CAP
5e5175
};
5e5175
5e5175
typedef int32_t __stdcall toks_daemon_routine(nt_tty_port_msg *);
5e5175
f2a689
struct toks_driver_ctx;
f2a689
5e5175
struct toks_daemon_ctx {
f2a689
	struct toks_driver_ctx *driver_ctx;
f2a689
5e5175
	nt_port_keys		daemon_keys;
5e5175
	nt_port_attr		daemon_attr;
5e5175
	nt_port_name		daemon_name;
5e5175
5e5175
	void *			hport_daemon;
5e5175
	void *			hevent_daemon_ready;
5e5175
5e5175
	void *			hport_internal_client;
5e5175
	void *			hevent_internal_client_ready;
5e5175
};
5e5175
618937
int32_t __stdcall toks_daemon_init(struct toks_daemon_ctx *, const nt_guid *);
5e5175
int32_t __stdcall toks_daemon_loop(void *);
5e5175
int32_t __stdcall toks_daemon_connect(nt_tty_port_msg *);
5e5175
int32_t __stdcall toks_daemon_signal(nt_tty_port_msg *);
5e5175
5e5175
#endif