From 59c594c5c3ceda74c42aceafe38f6c977b0b693b Mon Sep 17 00:00:00 2001 From: Thomas Wade Date: Wed, 31 Oct 2018 22:23:18 +1030 Subject: [PATCH] Comply with GNU Coding Standards --- client1.c | 125 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 81 insertions(+), 44 deletions(-) diff --git a/client1.c b/client1.c index b332d05..a97ecdd 100644 --- a/client1.c +++ b/client1.c @@ -1,3 +1,8 @@ +// client1 - client program for demonstrating data transfer over TCP/IP + +// This program complies with the GNU Coding Standards found here: +// https://www.gnu.org/prep/standards/html_node/index.html + #include #include #include @@ -12,96 +17,128 @@ #define BUFFERT 512 -int duration (struct timeval *start,struct timeval *stop, struct timeval *delta); +int duration (struct timeval *start, struct timeval *stop, + struct timeval *delta); + int create_client_socket (int port, char* ipaddr); struct sockaddr_in sock_serv; -int main (int argc, char**argv){ +int main (int argc, char**argv) +{ struct timeval start, stop, delta; - int sfd,fd; + int sfd, fd; char buf[BUFFERT]; - off_t count=0, m,sz; + off_t count = 0, m, sz; long int n; - int l=sizeof(struct sockaddr_in); + int l = sizeof(struct sockaddr_in); struct stat buffer; - if (argc != 4){ - printf("Error usage : %s \n",argv[0]); + + if (argc != 4) + { + printf("Error usage : %s \n", argv[0]); return EXIT_FAILURE; } - sfd=create_client_socket(atoi(argv[2]), argv[1]); - - if ((fd = open(argv[3],O_RDONLY))==-1){ + + sfd = create_client_socket(atoi(argv[2]), argv[1]); + + if ((fd = open(argv[3], O_RDONLY)) == -1) + { perror("open fail"); return EXIT_FAILURE; } - if (stat(argv[3],&buffer)==-1){ + + if (stat(argv[3], &buffer) == -1) + { perror("stat fail"); return EXIT_FAILURE; } else - sz=buffer.st_size; - bzero(&buf,BUFFERT); - if(connect(sfd,(struct sockaddr*)&sock_serv,l)==-1){ + { + sz = buffer.st_size; + } + + bzero(&buf, BUFFERT); + if(connect(sfd, (struct sockaddr*) &sock_serv, l) == -1) + { perror("conexion error\n"); exit (3); } - gettimeofday(&start,NULL); - n=read(fd,buf,BUFFERT); - while(n){ - if(n==-1){ + + gettimeofday(&start, NULL); + + n = read(fd, buf, BUFFERT); + while(n) + { + if(n == -1) + { perror("read fails"); return EXIT_FAILURE; } - m=sendto(sfd,buf,n,0,(struct sockaddr*)&sock_serv,l); - if(m==-1){ + + m = sendto(sfd, buf, n, 0, (struct sockaddr*) &sock_serv, l); + + if(m == -1) + { perror("send error"); return EXIT_FAILURE; } - count+=m; + + count += m; bzero(buf,BUFFERT); - n=read(fd,buf,BUFFERT); + n = read(fd,buf,BUFFERT); } - m=sendto(sfd,buf,0,0,(struct sockaddr*)&sock_serv,l); - gettimeofday(&stop,NULL); - duration(&start,&stop,&delta); - printf("Nombre d'octets transférés : %lld\n",count); - printf("Sur une taille total de : %lld \n",sz); - printf("Pour une durée total de : %ld.%d \n",delta.tv_sec,delta.tv_usec); + + m = sendto(sfd, buf, 0, 0, (struct sockaddr*) &sock_serv, l); + gettimeofday(&stop, NULL); + duration(&start, &stop, &delta); + printf("Nombre d'octets transférés : %lld\n", count); + printf("Sur une taille total de : %lld \n", sz); + printf("Pour une durée total de : %ld.%d \n", delta.tv_sec, delta.tv_usec); close(sfd); return EXIT_SUCCESS; } -int duration (struct timeval *start,struct timeval *stop,struct timeval *delta) +int duration (struct timeval *start, struct timeval *stop, + struct timeval *delta) { suseconds_t microstart, microstop, microdelta; - - microstart = (suseconds_t) (100000*(start->tv_sec))+ start->tv_usec; - microstop = (suseconds_t) (100000*(stop->tv_sec))+ stop->tv_usec; + + microstart = (suseconds_t) (100000 * (start->tv_sec)) + start->tv_usec; + microstop = (suseconds_t) (100000 * (stop->tv_sec)) + stop->tv_usec; microdelta = microstop - microstart; - delta->tv_usec = microdelta%100000; - delta->tv_sec = (time_t)(microdelta/100000); - if((*delta).tv_sec < 0 || (*delta).tv_usec < 0) - return -1; + delta->tv_usec = microdelta % 100000; + delta->tv_sec = (time_t) (microdelta / 100000); + + if ((*delta).tv_sec < 0 || (*delta).tv_usec < 0) + { + return -1; + } else - return 0; + { + return 0; + } } -int create_client_socket (int port, char* ipaddr){ +int create_client_socket (int port, char* ipaddr) +{ int l; int sfd; - sfd = socket(PF_INET,SOCK_STREAM,0); - if (sfd == -1){ + sfd = socket(PF_INET, SOCK_STREAM, 0); + if (sfd == -1) + { perror("socket fail"); return EXIT_FAILURE; } - l=sizeof(struct sockaddr_in); - bzero(&sock_serv,l); + + l = sizeof(struct sockaddr_in); + bzero(&sock_serv, l); sock_serv.sin_family=AF_INET; sock_serv.sin_port=htons(port); - if (inet_pton(AF_INET,ipaddr,&sock_serv.sin_addr)==0){ + if (inet_pton(AF_INET, ipaddr, &sock_serv.sin_addr) == 0){ printf("Invalid IP adress\n"); return EXIT_FAILURE; } + return sfd; -} \ No newline at end of file +}