X-Git-Url: http://www.average.org/gitweb/?p=psmb.git;a=blobdiff_plain;f=psmb.h;fp=psmb.h;h=afdb69dc0eaec02dcee4db7940d0b01cdf17d532;hp=0000000000000000000000000000000000000000;hb=924f97ef0bbac79a4f4d61f6239b1be0656cc454;hpb=d5ea7464a3abd28f5c80d3af00662082420e260c diff --git a/psmb.h b/psmb.h new file mode 100644 index 0000000..afdb69d --- /dev/null +++ b/psmb.h @@ -0,0 +1,28 @@ +#ifndef _PSMB_H + +#include +#include + +struct psmb_ctx; + +typedef struct _psmb_result psmb_result_t; + +struct psmb_ctx *psmb_new(void); +struct psmb_ctx *psmb_new_mm(void *(*malloc)(size_t size), + void (*free)(void *ptr), + void *(*realloc)(void *ptr, size_t size)); +psmb_result_t psmb_set_pmtu(struct psmb_ctx * ctx, int pmtu); +psmb_result_t psmb_open(struct psmb_ctx *ctx); +void psmb_destroy(struct psmb_ctx *ctx); +int psmb_getfd(struct psmb_ctx *ctx); +bool psmb_need_write_wait(psmb_result_t result); +psmb_result_t psmb_ev_rd(struct psmb_ctx *ctx); +psmb_result_t psmb_ev_wr(struct psmb_ctx *ctx); +psmb_result_t psmb_ev_ex(struct psmb_ctx *ctx); +psmb_result_t psmb_subscribe(struct psmb_ctx * ctx, char *channel); +psmb_result_t psmb_publish(struct psmb_ctx * ctx, char *channel, + void *data, size_t size); +bool psmb_message(struct psmb_ctx * ctx, char **channel, + void **data, size_t *size); + +#endif