36#include "xtc_export.h"
45typedef struct xtc_xproc xtc_xproc_t;
51typedef struct xtc_xpid {
60typedef void (*xtc_xproc_root_fn)(
void *arg);
87XTC_API
int xtc_xspawn(xtc_loop_t *loop,
const char *name,
88 xtc_xproc_root_fn root_fn,
89 const void *arg,
size_t arg_len,
102XTC_API
int xtc_xproc_register_entry(
const char *name, xtc_xproc_root_fn fn);
119XTC_API
int xtc_xspawn_entry(xtc_loop_t *loop,
const char *name,
const char *entry,
120 const void *arg,
size_t arg_len, xtc_xproc_t **out);
125XTC_API
void xtc_xproc_destroy(xtc_xproc_t *p);
128XTC_API
long xtc_xproc_os_pid(
const xtc_xproc_t *p);
133XTC_API
int xtc_xsend(xtc_xproc_t *p,
const void *msg,
size_t len);
143XTC_API
int xtc_xmonitor(xtc_xproc_t *p, uint64_t *out_ref);
157XTC_API
int xtc_xlink(xtc_xproc_t *p);
168XTC_API
int xtc_xproc_child_main(
int ctrl_fd, xtc_xproc_root_fn root_fn,
void *arg);
180XTC_API
int xtc_xproc_win_child_maybe(
int argc,
char **argv);