X-Git-Url: http://www.average.org/gitweb/?p=psmb.git;a=blobdiff_plain;f=src%2Fpsmb_priv.h;h=517f0cf67ece3853dcee9bd24b0a9d3478cfb29f;hp=9b57d390861a5f414e479e28e7b8e67b3740f746;hb=80f280e926ad1dfbd32edc8a8d2cd9a3f339f7b7;hpb=8309c3b0f167256776fb0cb96fc2c8becd4ed144 diff --git a/src/psmb_priv.h b/src/psmb_priv.h index 9b57d39..517f0cf 100644 --- a/src/psmb_priv.h +++ b/src/psmb_priv.h @@ -1,18 +1,47 @@ #ifndef _PSMB_PRIV_H #include +#include +#include -struct _psmb_ctx psmb_ctx_t { +#define PSMB_OK 0 +#define PSMB_ERROR 1 +#define PSMB_NEED_WRITE 2 + +#define PSMB_DEFAULT_PORT 5313 +#define PSMB_DEFAULT_PMTU 1452 + +struct _ucaddr { + struct sockaddr_in6 addr; +}; + +struct _msg { + struct _ucaddr peeraddr; + char *channel; + size_t chan_size; + void *data; + size_t data_size; +}; + +struct _psmb_ctx { int fd; void *(*malloc)(size_t size); void (*free)(void *ptr); void *(*realloc)(void *ptr, size_t size); + void (*logf)(void *log_priv, int priority, const char *format, ...); + void *log_priv; + unsigned short port; int pmtu; - /* data here */ + struct in6_addr prefix; + unsigned char prefixlen; + /* subscription set here */ + struct _msg incoming; }; struct _psmb_result { int code; }; +#define LOG(ctx, ...) (*ctx->logf)(ctx->log_priv, __VA_ARGS__) + #endif