]> www.average.org Git - psmb.git/blob - src/psmb_priv.h
464665b2c010c53871325b3635cfd11a390d54ca
[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         /* subscription set here */
35         struct _msg incoming;
36 };
37
38 struct _psmb_result {
39         int code;
40 };
41
42 #endif