18#include "xtc_export.h"
25typedef struct xtc_reg xtc_reg_t;
42XTC_API
int xtc_reg_create(xtc_reg_t **out);
43XTC_API
void xtc_reg_destroy(xtc_reg_t *r);
46XTC_API
int xtc_reg_register(xtc_reg_t *r,
const char *name,
xtc_pid_t pid);
49XTC_API
int xtc_reg_unregister(xtc_reg_t *r,
const char *name);
52XTC_API
int xtc_reg_whereis(xtc_reg_t *r,
const char *name,
xtc_pid_t *out_pid);
54XTC_API
int xtc_reg_count(
const xtc_reg_t *r);
59XTC_API
int xtc_reg_register_dup(xtc_reg_t *r,
const char *key,
xtc_pid_t pid);
62XTC_API
int xtc_reg_unregister_pid(xtc_reg_t *r,
const char *key,
xtc_pid_t pid);
69XTC_API
int xtc_reg_drop_pid(xtc_reg_t *r,
xtc_pid_t pid);
76XTC_API
void xtc_reg_reaper(
void *reg);
82XTC_API
int xtc_reg_register_mon(xtc_reg_t *r,
const char *name,
xtc_pid_t pid);
89XTC_API
int xtc_svr_call_name(xtc_reg_t *r,
const char *name,
90 const void *req,
size_t req_size,
91 void **out_reply,
size_t *out_size,
97XTC_API
int xtc_reg_members(xtc_reg_t *r,
const char *key,
98 int (*fn)(
xtc_pid_t pid,
void *user),
void *user);