Add ceod
[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
26 struct sctp_meta {
27     struct sockaddr_storage from;
28     socklen_t fromlen;
29     struct sctp_sndrcvinfo sinfo;
30 };
31
32 enum {
33     MSG_AUTH    = 0x8000000,
34     MSG_EXPLODE = 0x8000001,
35 };
36
37 #ifdef MSG_ABORT
38 #define SCTP_ABORT MSG_ABORT
39 #define SCTP_EOF   MSG_EOF
40 #endif
41
42 #define EKERB -2
43 #define ELDAP -3
44
45 int receive_one_message(int sock, struct sctp_meta *msg_meta, struct strbuf *msg);