2 #include "p2pkp_debug.h"
5 #include <linux/errno.h>
9 int p2pkp_msgsend(struct socket *s, struct sockaddr_in *sin, char *buffer, int len)
16 iov.iov_base = buffer;
19 msg.msg_namelen = sizeof(struct sockaddr_in);
22 msg.msg_control = NULL;
23 msg.msg_controllen = 0;
26 /* send the message down the socket */
27 return kernel_sendmsg(s, &msg, (struct kvec *) msg.msg_iov, 1, len);
30 /* receive datagram */
31 int p2pkp_msgrecv(struct socket *s, struct sockaddr_in *sin, char *buffer, int len)
38 iov.iov_base = buffer;
41 msg.msg_namelen = sizeof(struct sockaddr_in);
44 msg.msg_control = NULL;
45 msg.msg_controllen = 0;
48 /* send the message down the socket */
49 return kernel_recvmsg(s, &msg, (struct kvec *) msg.msg_iov, 1, len, 0);
54 int p2pkp_create_udp_sock(struct socket **sock)
57 ERROR("socket memory not specified");
61 /* create UDP socket */
62 return sock_create_kern(PF_INET, SOCK_DGRAM, IPPROTO_UDP, sock);
65 void p2pkp_destroy_udp_sock(struct socket *sock)