int ipc_close(struct ipc_context *context)
closes given context
int ipc_send(struct ipc_context *context, enum ipc_relation to, const char *msg, size_t len)
sends given msg to the target based on the given context
int ipc_destroy(struct ipc_context *context)
destroys given context
struct ipc_contexts * ipc_add_context(struct ipc_contexts *ctxs, struct ipc_context *ctx)
adds a given context to contexts
char * ipc_retrieve(struct ipc_context *context, enum ipc_relation from)
retrieves data for the relation based on the context
void(* ipc_process_func)(struct ipc_context *, void *)
int ipc_destroy_contexts(struct ipc_contexts *ctxs)
destroys given contexts
struct ipc_context * ipc_init(enum ipc_protocol protocol, enum ipc_relation relation)
initializes a new context.
struct ipc_context * ipc_exec_as_process(enum ipc_protocol type, struct ipc_exec_context exec_context)
runs given functions with the given protocol type.
struct ipc_contexts * ipc_contexts_init(int len)
initializes ipc_contexts with a given preallocated capacity.
enum ipc_relation relation
struct ipc_context * ctxs
ipc_process_func pre_func
ipc_process_func post_func