1 #include "../src/kernel/swift.h"
3 #include <sys/socket.h>
7 #include <netinet/in.h>
10 int main(int argc, const char *argv[])
14 sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_SWIFT);
16 perror("Failed to create socket");
20 int size = sizeof(struct sockaddr_swift) + sizeof(struct swift_dest);
21 struct sockaddr_swift *saddr = malloc(size);
22 memset(saddr, 0, size);
25 saddr->dests[0].addr = 0x0100007F;
26 saddr->dests[0].port = 100;
28 if (bind(sock, (struct sockaddr *) saddr, size) < 0) {
29 perror("Failed to bind socket");
37 struct sockaddr_swift *from = malloc(size);
39 memset(&msg, 0, sizeof(msg));
40 memset(&iov, 0, sizeof(iov));
41 memset(from, 0, size);
43 iov[0].iov_base = buf;
44 iov[0].iov_len = sizeof(buf);
49 msg.msg_namelen = size;
53 ret = recvmsg(sock, &msg, 0);
55 perror("Failed to recv on socket");
59 printf("Received %d bytes on socket\n", ret);
60 printf("buf=%s\n", buf);
62 if (close(sock) < 0) {
63 perror("Failed to close socket");