Changeset 727f04f in mainline
- Timestamp:
- 2010-12-27T19:30:20Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 45bb1d2
- Parents:
- d493830e
- Location:
- uspace/lib/c
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/net/socket_client.c
rd493830e r727f04f 966 966 * read. The actual address length is set. Used only if 967 967 * fromaddr is not NULL. 968 * @return EOK on success. 968 * @return Positive received message size in bytes on success. 969 * @return Zero if no more data (other side closed the connection). 969 970 * @return ENOTSOCK if the socket is not found. 970 971 * @return EBADMEM if the data parameter is NULL. … … 972 973 * @return Other error codes as defined for the spcific message. 973 974 */ 974 static int975 static ssize_t 975 976 recvfrom_core(sysarg_t message, int socket_id, void *data, size_t datalength, 976 977 int flags, struct sockaddr *fromaddr, socklen_t *addrlen) … … 984 985 size_t index; 985 986 ipc_call_t answer; 987 ssize_t retval; 986 988 987 989 if (!data) … … 1083 1085 dyn_fifo_pop(&socket->received); 1084 1086 // return read data length 1085 re sult= SOCKET_GET_READ_DATA_LENGTH(answer);1087 retval = SOCKET_GET_READ_DATA_LENGTH(answer); 1086 1088 // set address length 1087 1089 if (fromaddr && addrlen) 1088 1090 *addrlen = SOCKET_GET_ADDRESS_LENGTH(answer); 1091 } else { 1092 retval = (ssize_t) result; 1089 1093 } 1090 1094 1091 1095 fibril_mutex_unlock(&socket->receive_lock); 1092 1096 fibril_rwlock_read_unlock(&socket_globals.lock); 1093 return re sult;1097 return retval; 1094 1098 } 1095 1099 … … 1100 1104 * @param[in] datalength The data length. 1101 1105 * @param[in] flags Various receive flags. 1102 * @return EOK on success. 1106 * @return Positive received message size in bytes on success. 1107 * @return Zero if no more data (other side closed the connection). 1103 1108 * @return ENOTSOCK if the socket is not found. 1104 1109 * @return EBADMEM if the data parameter is NULL. … … 1107 1112 * message. 1108 1113 */ 1109 int recv(int socket_id, void *data, size_t datalength, int flags)1114 ssize_t recv(int socket_id, void *data, size_t datalength, int flags) 1110 1115 { 1111 1116 // without the address … … 1123 1128 * @param[in,out] addrlen The address length. The maximum address length is 1124 1129 * read. The actual address length is set. 1125 * @return EOK on success. 1130 * @return Positive received message size in bytes on success. 1131 * @return Zero if no more data (other side closed the connection). 1126 1132 * @return ENOTSOCK if the socket is not found. 1127 1133 * @return EBADMEM if the data or fromaddr parameter is NULL. … … 1130 1136 * message. 1131 1137 */ 1132 int1138 ssize_t 1133 1139 recvfrom(int socket_id, void *data, size_t datalength, int flags, 1134 1140 struct sockaddr *fromaddr, socklen_t *addrlen) -
uspace/lib/c/include/net/socket.h
rd493830e r727f04f 60 60 extern int sendto(int, const void *, size_t, int, const struct sockaddr *, 61 61 socklen_t); 62 extern int recv(int, void *, size_t, int);63 extern int recvfrom(int, void *, size_t, int, struct sockaddr *, socklen_t *);62 extern ssize_t recv(int, void *, size_t, int); 63 extern ssize_t recvfrom(int, void *, size_t, int, struct sockaddr *, socklen_t *); 64 64 extern int getsockopt(int, int, int, void *, size_t *); 65 65 extern int setsockopt(int, int, int, const void *, size_t);
Note:
See TracChangeset
for help on using the changeset viewer.