-#ifndef _MPS_H
-
-#include <stdlib.h>
-#include <stdbool.h>
-
-struct mps_ctx;
-
-typedef struct _mps_result mps_result_t;
-
-struct mps_ctx *mps_new(void);
-struct mps_ctx *mps_new_mm(void *(*malloc)(size_t size),
- void (*free)(void *ptr),
- void *(*realloc)(void *ptr, size_t size));
-mps_result_t mps_set_pmtu(struct mps_ctx * ctx, int pmtu);
-mps_result_t mps_open(struct mps_ctx *ctx);
-void mps_destroy(struct mps_ctx *ctx);
-int mps_getfd(struct mps_ctx *ctx);
-bool mps_need_write_wait(mps_result_t result);
-mps_result_t mps_ev_rd(struct mps_ctx *ctx);
-mps_result_t mps_ev_wr(struct mps_ctx *ctx);
-mps_result_t mps_ev_ex(struct mps_ctx *ctx);
-mps_result_t mps_subscribe(struct mps_ctx * ctx, char *channel);
-mps_result_t mps_publish(struct mps_ctx * ctx, char *channel,
- void *data, size_t size);
-bool mps_message(struct mps_ctx * ctx, char **channel,
- void **data, size_t *size);
-
-#endif