1 #ifndef _P2PKP_SOCKET_H_
2 #define _P2PKP_SOCKET_H_
6 #define P2PKP_DEFAULT_BUF_LEN 8196
7 #define P2PKP_DEFAULT_MODE 0644
9 struct p2pkp_conn_info {
10 struct sockaddr_in sin;
11 struct list_head list;
17 struct list_head conn_list;
18 struct socket *net_sock;
19 unsigned int buffer_len;
20 unsigned char buffer[P2PKP_DEFAULT_BUF_LEN];
21 int bind_ifindex; /* bound interface index; 0 for any interface */
22 __be16 bind_port; /* bound port; 0 for unbound socks*/
23 __be16 rem_port; /* remote port; 0 for unconnected socks */
26 /* P2PKP protocol name; used as identifier in /proc/net/protocols */
27 #define P2PKP_PROTO_NAME "P2PKP"
30 /* converts a sock to a p2pkp_sock */
31 #define sock2p2pkp(sock) ((struct p2pkp_sock *)(sock))
32 /* converts a p2pkp_sock to a sock */
33 #define p2pkp2sock(ps) ((struct sock *)(ps))
35 /* converts a sockaddr to a sockaddr_p2pkp */
36 #define sockaddr2p2pkp(sa) ((struct sockaddr_p2pkp *)(sa))
37 /* converts a socaddr_p2pkp to a sockaddr */
38 #define p2pkp2sockaddr(ps) ((struct sockaddr *)(ps))
40 int p2pkp_register_protocol(void);
41 void p2pkp_unregister_protocol(void);
43 #endif /* _P2PKP_SOCKET_H_ */