Initial API prototype
authorEugene Crosser <crosser@average.org>
Mon, 11 Mar 2019 08:56:49 +0000 (09:56 +0100)
committerEugene Crosser <crosser@average.org>
Mon, 11 Mar 2019 08:56:49 +0000 (09:56 +0100)
mps.h [new file with mode: 0644]

diff --git a/mps.h b/mps.h
new file mode 100644 (file)
index 0000000..23b449d
--- /dev/null
+++ b/mps.h
@@ -0,0 +1,28 @@
+#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