]> www.average.org Git - psmb.git/blob - src/psmb_priv.h
b2717f9281f931dc1ceabe65b716fc766ef21cf2
[psmb.git] / src / psmb_priv.h
1 #ifndef _PSMB_PRIV_H
2
3 #include <stdlib.h>
4 #include <netinet/in.h>
5
6 #define PSMB_OK         0
7 #define PSMB_ERROR      1
8 #define PSMB_NEED_WRITE 2
9
10 #define PSMB_DEFAULT_PORT 5313
11 #define PSMB_DEFAULT_PMTU 1452
12
13 struct _ucaddr {
14         struct sockaddr_in6 addr;
15 };
16
17 struct _msg {
18         struct _ucaddr peeraddr;
19         char *channel;
20         size_t chan_size;
21         void *data;
22         size_t data_size;
23 };
24
25 struct _psmb_ctx {
26         int fd;
27         void *(*malloc)(size_t size);
28         void (*free)(void *ptr);
29         void *(*realloc)(void *ptr, size_t size);
30         void (*logf)(void *log_priv, int priority, const char *format, ...);
31         void *log_priv;
32         unsigned short port;
33         int pmtu;
34         struct in6_addr prefix;
35         unsigned char prefixlen;
36         /* subscription set here */
37         struct _msg incoming;
38 };
39
40 struct _psmb_result {
41         int code;
42 };
43
44 #endif