Free everything before exiting
[public/pyceo-broken.git] / src / net.h
1 #include <sys/types.h>
2 #include <sys/socket.h>
3 #include <netinet/in.h>
4 #include <netinet/sctp.h>
5 #include <arpa/inet.h>
6 #include <gssapi/gssapi.h>
7
8 #if ! defined(SCTP_ADDR_CONFIRMED) && defined(__linux__)
9 #define SCTP_ADDR_CONFIRMED 5
10 #endif
11
12 void notification_dbg(char *);
13
14 #ifdef SCTP_ADAPTION_LAYER
15 #define sctp_adaptation_layer_event sctp_adaption_layer_event
16 #define sn_adaptation_event sn_adaption_event
17 #define sai_adaptation_ind sai_adaption_ind
18 #define SCTP_ADAPTATION_INDICATION SCTP_ADAPTION_INDICATION
19 #endif
20
21 typedef struct sockaddr sa;
22
23 extern struct strbuf fqdn;
24 extern void setup_fqdn(void);
25 extern void free_fqdn(void);
26
27 struct sctp_meta {
28     struct sockaddr_storage from;
29     socklen_t fromlen;
30     struct sctp_sndrcvinfo sinfo;
31 };
32
33 enum {
34     MSG_AUTH    = 0x8000000,
35     MSG_EXPLODE = 0x8000001,
36 };
37
38 #ifdef MSG_ABORT
39 #define SCTP_ABORT MSG_ABORT
40 #define SCTP_EOF   MSG_EOF
41 #endif
42
43 #define EKERB -2
44 #define ELDAP -3
45
46 int receive_one_message(int sock, struct sctp_meta *msg_meta, struct strbuf *msg);