#ifndef IPC_GROUP_H
#define IPC_GROUP_H
enum ipc_cmd_status {
IPC_CMD_STATUS_REPLY,
IPC_CMD_STATUS_OK,
IPC_CMD_STATUS_ERROR
};
struct ipc_group {
int listen_fd;
char *name;
struct ipc_connection *connections;
};
typedef void ipc_cmd_callback_t(enum ipc_cmd_status status,
const char *line, void *context);
struct ipc_group *ipc_group_alloc(int listen_fd);
void ipc_group_free(struct ipc_group **group);
struct ipc_group *ipc_group_lookup_listen_fd(int listen_fd);
struct ipc_group *ipc_group_lookup_name(const char *name);
int ipc_group_update_name(struct ipc_group *group, const char *name);
bool ipc_group_cmd(struct ipc_group *group, const char *cmd,
ipc_cmd_callback_t *callback, void *context);
void ipc_groups_init(void);
void ipc_groups_deinit(void);
#endif