From 59d21b531f1893ff3f17f7336b0d88b172aab704 Mon Sep 17 00:00:00 2001 From: "7u83@mail.ru" <7u83@mail.ru@noemail.net> Date: Sun, 20 Mar 2016 14:23:27 +0000 Subject: [PATCH] Added some comments. Does socket setup correctly. FossilOrigin-Name: 9544160736b702cbea47745418e8723621aa8a50c60aa6129b22303a2c99a3c5 --- src/cw/sock_receive.c | 61 ++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 32 deletions(-) diff --git a/src/cw/sock_receive.c b/src/cw/sock_receive.c index fc75d8e9..f71e939f 100644 --- a/src/cw/sock_receive.c +++ b/src/cw/sock_receive.c @@ -1,7 +1,7 @@ /* - This file is part of libcapwap. + This file is part of actube. - libcapwap is free software: you can redistribute it and/or modify + actube is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. @@ -16,6 +16,11 @@ */ +/** + * @file + * @brief Implementation of sock_receive + */ + #include #include #include @@ -23,37 +28,29 @@ #include "sock.h" -int -sock_receive (int sock, void *buf, size_t len, int flags, - struct sockaddr *srcaddr, socklen_t * addrlen) +/** + * Receive data from a socket + * @param sock the socket + * @param buf destination buffer + * @param len length of destination buffer + * @srcaddr receives the source address + * @srcaddrlen receives the length of the source address + * @return the number of bytes read oder -1 if an error has occured. + * + * If the return value is -1, errno is set to the appropriate error + */ +int sock_receive(int sock, void *buf, size_t len, int flags, + struct sockaddr *srcaddr, socklen_t * srcaddrlen) { +// socklen_t al = sizeof(struct sockaddr_storage); + *srcaddrlen=sizeof(struct sockaddr); + memset(srcaddr, 0, sizeof(struct sockaddr)); - //unsigned int al; - socklen_t al; - - al = sizeof (struct sockaddr_storage); - - memset (srcaddr, 0, sizeof (struct sockaddr)); -// srcaddr->sa_port=999; - - int n; - while ((n = recvfrom (sock, (char *) buf, len, flags, srcaddr, &al)) < 0) - { - if (errno != EINTR) + int n; + while ((n = recvfrom(sock, (char *) buf, len, flags, srcaddr, srcaddrlen)) < 0) { + if (errno != EINTR) + return n; + } return n; - } -// printf("Received betes %d\n",n); -// char str[8000]; -// sock_addrtostr(srcaddr,str,1000); -// printf("RECFROM: %s\n",str); - -// struct sockaddr_in * s = (struct sockaddr_in*)srcaddr; -// s->sin_port=htons(78); -// sock_addrtostr(srcaddr,str,1000); -// printf("RECFROMset: %s\n",str); - - - -// exit(9); - return n; } +