psmb_result_t psmb_open(psmb_ctx_t *ctx);
void psmb_destroy(psmb_ctx_t *ctx);
int psmb_getfd(psmb_ctx_t *ctx);
+bool psmb_success(psmb_result_t result);
+bool psmb_message_waiting(psmb_result_t result);
bool psmb_need_write_wait(psmb_result_t result);
psmb_result_t psmb_ev_rd(psmb_ctx_t *ctx);
psmb_result_t psmb_ev_wr(psmb_ctx_t *ctx);
psmb_result_t psmb_ev_ex(psmb_ctx_t *ctx);
psmb_result_t psmb_subscribe(psmb_ctx_t *ctx, char *channel);
+psmb_result_t psmb_unsubscribe(psmb_ctx_t *ctx, char *channel);
psmb_result_t psmb_publish(psmb_ctx_t *ctx, char *channel,
void *data, size_t size);
-bool psmb_message(psmb_ctx_t *ctx, char **channel,
+psmb_result_t psmb_get_message(psmb_ctx_t *ctx, char **channel,
void **data, size_t *size);
+psmb_result_t psmb_acknowledge(psmb_ctx_t *ctx);
#endif