module: added support for multiple USERSPACE receivers
[p2p-kernel-protocol.git] / module / p2pkp.c
1 /*
2  * Peer to Peer Kernel Protocol
3  *
4  * Răzvan Crainea
5  * Tudor Cazangiu
6  */
7
8 #include <linux/kernel.h>
9 #include <linux/module.h>
10 #include <linux/init.h>
11
12 #include "p2pkp_sock.h"
13 #include "p2pkp_debug.h"
14
15 MODULE_DESCRIPTION("P2P Kernel Protocol");
16 MODULE_AUTHOR("Razvan Crainea and Tudor Cazangiu");
17 MODULE_LICENSE("GPL");
18
19 int __init p2pkp_sock_init(void)
20 {
21         //int bytes_read;
22         //struct file *file = NULL;
23
24 #if 0
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) }
30         };
31         int addrlen = sizeof(addr);
32 #endif
33
34         if (p2pkp_register_protocol() < 0) {
35                 ERROR("error while registering socket operations");
36                 return -1;
37         }
38         return 0;
39
40 #if 0
41         /* bind socket to loopback on port P2PKP_LOCAL_PORT */
42         err = sock->ops->bind(sock, (struct sockaddr *) &addr, addrlen);
43         if (err < 0) {
44                 ERROR("can't bind socket\n");
45                 goto out_release;
46         }
47
48         /* send first message */
49         err = p2pkp_msgsend(sock, P2PKP_REMOTE_PORT1);
50         if (err < 0) {
51                 ERROR("can't send first message\n");
52                 goto out_release;
53         }
54
55         /* send second message */
56         err = p2pkp_msgsend(sock, P2PKP_REMOTE_PORT1);
57         if (err < 0) {
58                 ERROR("can't send second message\n");
59                 goto out_release;
60         }
61
62 out_release:
63         /* cleanup socket */
64         sock_release(sock);
65 #endif
66 }
67
68 void __exit p2pkp_sock_exit(void)
69 {
70         /* cleanup socket */
71         p2pkp_unregister_protocol();
72 }
73
74 module_init(p2pkp_sock_init);
75 module_exit(p2pkp_sock_exit);