Changeset fdbc3ff in mainline for uspace/lib/net/il/ip_client.c
- Timestamp:
- 2010-11-19T23:50:06Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 46d4d9f
- Parents:
- b4c9c61 (diff), a9c6b966 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/net/il/ip_client.c
rb4c9c61 rfdbc3ff 48 48 * 49 49 * @param[in] packet The packet. 50 * @return sThe IP header length in bytes.51 * @return sZero if there is no IP header.50 * @return The IP header length in bytes. 51 * @return Zero if there is no IP header. 52 52 */ 53 53 size_t ip_client_header_length(packet_t packet) 54 54 { 55 ip_header_ refheader;56 57 header = (ip_header_ ref) packet_get_data(packet);55 ip_header_t *header; 56 57 header = (ip_header_t *) packet_get_data(packet); 58 58 if (!header || (packet_get_data_length(packet) < sizeof(ip_header_t))) 59 59 return 0; … … 72 72 * @param[out] header The constructed IPv4 pseudo header. 73 73 * @param[out] headerlen The length of the IP pseudo header in bytes. 74 * @return sEOK on success.75 * @return sEBADMEM if the header and/or the headerlen parameter is74 * @return EOK on success. 75 * @return EBADMEM if the header and/or the headerlen parameter is 76 76 * NULL. 77 * @return sEINVAL if the source address and/or the destination77 * @return EINVAL if the source address and/or the destination 78 78 * address parameter is NULL. 79 * @return sEINVAL if the source address length is less than struct79 * @return EINVAL if the source address length is less than struct 80 80 * sockaddr length. 81 * @return sEINVAL if the source address length differs from the81 * @return EINVAL if the source address length differs from the 82 82 * destination address length. 83 * @return sEINVAL if the source address family differs from the83 * @return EINVAL if the source address family differs from the 84 84 * destination family. 85 * @return sEAFNOSUPPORT if the address family is not supported.86 * @return sENOMEM if there is not enough memory left.85 * @return EAFNOSUPPORT if the address family is not supported. 86 * @return ENOMEM if there is not enough memory left. 87 87 */ 88 88 int … … 91 91 size_t data_length, void **header, size_t *headerlen) 92 92 { 93 ipv4_pseudo_header_ refheader_in;93 ipv4_pseudo_header_t *header_in; 94 94 struct sockaddr_in *address_in; 95 95 … … 109 109 110 110 *headerlen = sizeof(*header_in); 111 header_in = (ipv4_pseudo_header_ ref) malloc(*headerlen);111 header_in = (ipv4_pseudo_header_t *) malloc(*headerlen); 112 112 if (!header_in) 113 113 return ENOMEM; … … 148 148 * disabled. 149 149 * @param[in] ipopt_length The prefixed IP options length in bytes. 150 * @return sEOK on success.151 * @return sENOMEM if there is not enough memory left in the packet.150 * @return EOK on success. 151 * @return ENOMEM if there is not enough memory left in the packet. 152 152 */ 153 153 int … … 155 155 ip_tos_t tos, int dont_fragment, size_t ipopt_length) 156 156 { 157 ip_header_ refheader;157 ip_header_t *header; 158 158 uint8_t *data; 159 159 size_t padding; … … 177 177 178 178 // set the header 179 header = (ip_header_ ref) data;179 header = (ip_header_t *) data; 180 180 header->header_length = IP_COMPUTE_HEADER_LENGTH(sizeof(ip_header_t) + 181 181 ipopt_length); … … 203 203 * @param[out] ipopt_length The IP options length in bytes. May be NULL if not 204 204 * desired. 205 * @return sThe prefixed IP header length in bytes on success.206 * @return sENOMEM if the packet is too short to contain the IP205 * @return The prefixed IP header length in bytes on success. 206 * @return ENOMEM if the packet is too short to contain the IP 207 207 * header. 208 208 */ … … 211 211 ip_ttl_t *ttl, ip_tos_t *tos, int *dont_fragment, size_t *ipopt_length) 212 212 { 213 ip_header_ refheader;214 215 header = (ip_header_ ref) packet_get_data(packet);213 ip_header_t *header; 214 215 header = (ip_header_t *) packet_get_data(packet); 216 216 if (!header || (packet_get_data_length(packet) < sizeof(ip_header_t))) 217 217 return ENOMEM; … … 238 238 * @param[in] headerlen The length of the IP pseudo header in bytes. 239 239 * @param[in] data_length The data length to be set. 240 * @return sEOK on success.241 * @return sEBADMEM if the header parameter is NULL.242 * @return sEINVAL if the headerlen parameter is not IPv4 pseudo240 * @return EOK on success. 241 * @return EBADMEM if the header parameter is NULL. 242 * @return EINVAL if the headerlen parameter is not IPv4 pseudo 243 243 * header length. 244 244 */ … … 247 247 size_t data_length) 248 248 { 249 ipv4_pseudo_header_ refheader_in;249 ipv4_pseudo_header_t *header_in; 250 250 251 251 if (!header) … … 253 253 254 254 if (headerlen == sizeof(ipv4_pseudo_header_t)) { 255 header_in = (ipv4_pseudo_header_ ref) header;255 header_in = (ipv4_pseudo_header_t *) header; 256 256 header_in->data_length = htons(data_length); 257 257 return EOK;
Note:
See TracChangeset
for help on using the changeset viewer.