save errnos
[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         unsigned short port;
31         int pmtu;
32         /* subscription set here */
33         struct _msg incoming;
34 };
35
36 struct _psmb_result {
37         int code;
38 };
39
40 #endif