19#include "xtc_export.h"
26typedef struct xtc_reg xtc_reg_t;
43XTC_API
int xtc_reg_create(xtc_reg_t **out);
44XTC_API
void xtc_reg_destroy(xtc_reg_t *r);
47XTC_API
int xtc_reg_register(xtc_reg_t *r,
const char *name,
xtc_pid_t pid);
50XTC_API
int xtc_reg_unregister(xtc_reg_t *r,
const char *name);
53XTC_API
int xtc_reg_whereis(xtc_reg_t *r,
const char *name,
xtc_pid_t *out_pid);
55XTC_API
int xtc_reg_count(
const xtc_reg_t *r);
60XTC_API
int xtc_reg_register_dup(xtc_reg_t *r,
const char *key,
xtc_pid_t pid);
63XTC_API
int xtc_reg_unregister_pid(xtc_reg_t *r,
const char *key,
xtc_pid_t pid);
70XTC_API
int xtc_reg_drop_pid(xtc_reg_t *r,
xtc_pid_t pid);
77XTC_API
void xtc_reg_reaper(
void *reg);
83XTC_API
int xtc_reg_register_mon(xtc_reg_t *r,
const char *name,
xtc_pid_t pid);
90XTC_API
int xtc_svr_call_name(xtc_reg_t *r,
const char *name,
91 const void *req,
size_t req_size,
92 void **out_reply,
size_t *out_size,
98XTC_API
int xtc_reg_members(xtc_reg_t *r,
const char *key,
99 int (*fn)(
xtc_pid_t pid,
void *user),
void *user);