2 * Peer to Peer Kernel Protocol
8 #include <linux/kernel.h>
9 #include <linux/module.h>
10 #include <linux/init.h>
12 #include "p2pkp_sock.h"
13 #include "p2pkp_debug.h"
15 MODULE_DESCRIPTION("P2P Kernel Protocol");
16 MODULE_AUTHOR("Razvan Crainea and Tudor Cazangiu");
17 MODULE_LICENSE("GPL");
19 int __init p2pkp_sock_init(void)
22 //struct file *file = NULL;
25 /* address to bind on */
26 struct sockaddr_in addr = {
27 .sin_family = AF_INET,
28 .sin_port = htons(P2PKP_LOCAL_PORT),
29 .sin_addr = { htonl(INADDR_LOOPBACK) }
31 int addrlen = sizeof(addr);
34 if (p2pkp_register_protocol() < 0) {
35 ERROR("error while registering socket operations");
41 /* bind socket to loopback on port P2PKP_LOCAL_PORT */
42 err = sock->ops->bind(sock, (struct sockaddr *) &addr, addrlen);
44 ERROR("can't bind socket\n");
48 /* send first message */
49 err = p2pkp_msgsend(sock, P2PKP_REMOTE_PORT1);
51 ERROR("can't send first message\n");
55 /* send second message */
56 err = p2pkp_msgsend(sock, P2PKP_REMOTE_PORT1);
58 ERROR("can't send second message\n");
68 void __exit p2pkp_sock_exit(void)
71 p2pkp_unregister_protocol();
74 module_init(p2pkp_sock_init);
75 module_exit(p2pkp_sock_exit);