From 43e80be7679466d4862956565902b083dcc960a6 Mon Sep 17 00:00:00 2001 From: Bogdan Drutu Date: Mon, 21 Mar 2011 04:23:54 +0200 Subject: [PATCH] Complete sw_sock_addr in swift_raw_simple_test --- src/raw/swift_raw_simple_test.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/raw/swift_raw_simple_test.c b/src/raw/swift_raw_simple_test.c index ba8f8af..97b24ef 100644 --- a/src/raw/swift_raw_simple_test.c +++ b/src/raw/swift_raw_simple_test.c @@ -16,7 +16,7 @@ /* * Create a socket, bind it and send data. */ -int main(void) +int main(int argc, char *argv[]) { int sockfd; struct sockaddr_sw local_addr; @@ -25,18 +25,29 @@ int main(void) ssize_t bytes_sent; int rc; + if (argc < 3) + { + fprintf(stderr,"Usage \"./client ip_local hash ip_dest?\" ."); + } + sockfd = sw_socket(PF_INET, SOCK_DGRAM, IPPROTO_SWIFT); DIE(sockfd < 0, "sw_socket"); /* TODO: init_addr */ - + local_addr.sin_addr.s_addr = htonl(argv[1]); + memcpy(&local_addr.sw_hash, argv[2], sizeof(struct sw_hash)); rc = sw_bind(sockfd, (struct sockaddr *) &local_addr, sizeof(local_addr)); DIE(rc < 0, "sw_bind"); /* TODO: init remote_addr */ - bytes_sent = sw_sendto(sockfd, buffer, BUFSIZ, 0, - (struct sockaddr *) &remote_addr, sizeof(remote_addr)); - DIE(bytes_sent < 0, "sw_sendto"); + if (argv > 3) + { + remote_addr.sin_addr.s_addr = htonl(argv[1]); + memcpy(&remote_addr.sw_hash, argv[3], sizeof(struct sw_hash)); + bytes_sent = sw_sendto(sockfd, buffer, BUFSIZ, 0, + (struct sockaddr *) &remote_addr, sizeof(remote_addr)); + DIE(bytes_sent < 0, "sw_sendto"); + } return 0; } -- 2.20.1