#include <stdlib.h>
#include <stdbool.h>
+#include <netinet/in.h>
typedef struct _psmb_ctx psmb_ctx_t;
typedef struct _psmb_result psmb_result_t;
psmb_ctx_t *psmb_new(void);
psmb_ctx_t *psmb_new_mm(void *(*malloc)(size_t size),
- void (*free)(void *ptr),
- void *(*realloc)(void *ptr, size_t size));
+ void (*free)(void *ptr),
+ void *(*realloc)(void *ptr, size_t size));
+psmb_result_t psmb_set_logf(psmb_ctx_t *ctx,
+ void (*logf)(void *log_priv, int priority, const char *format, ...),
+ void *log_priv);
psmb_result_t psmb_set_pmtu(psmb_ctx_t *ctx, unsigned int pmtu);
psmb_result_t psmb_set_port(psmb_ctx_t *ctx, unsigned short pmtu);
+psmb_result_t psmb_set_mgrp(psmb_ctx_t *ctx, struct in6_addr prefix,
+ unsigned char prefixlen);
psmb_result_t psmb_open(psmb_ctx_t *ctx);
void psmb_destroy(psmb_ctx_t *ctx);
int psmb_getfd(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_publish(psmb_ctx_t *ctx, char *channel,
- void *data, size_t size);
+ void *data, size_t size);
bool psmb_message(psmb_ctx_t *ctx, char **channel,
- void **data, size_t *size);
+ void **data, size_t *size);
#endif