Changeset dc94cb2 in mainline for uspace/lib
- Timestamp:
- 2010-09-19T13:33:47Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2a786f9
- Parents:
- 5203efb1 (diff), 7c8267b (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. - Location:
- uspace/lib
- Files:
-
- 4 edited
-
net/generic/packet_remote.c (modified) (1 diff)
-
net/tl/tl_common.c (modified) (1 diff)
-
socket/include/net_err.h (modified) (1 diff)
-
socket/packet/packet_client.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/net/generic/packet_remote.c
r5203efb1 rdc94cb2 70 70 aid_t message = async_send_1(phone, NET_PACKET_GET, packet_id, &answer); 71 71 *packet = (packet_t) as_get_mappable_page(size); 72 if (ERROR_OCCURRED(async_share_in_start_0_0(phone, *packet, size)) 73 ||ERROR_OCCURRED(pm_add(*packet))) {72 if (ERROR_OCCURRED(async_share_in_start_0_0(phone, *packet, size)) || 73 ERROR_OCCURRED(pm_add(*packet))) { 74 74 munmap(*packet, size); 75 75 async_wait_for(message, NULL); -
uspace/lib/net/tl/tl_common.c
r5203efb1 rdc94cb2 157 157 } 158 158 159 int tl_set_address_port(struct sockaddr * addr, int addrlen, uint16_t port){ 159 int tl_set_address_port(struct sockaddr * addr, int addrlen, uint16_t port) 160 { 160 161 struct sockaddr_in * address_in; 161 162 struct sockaddr_in6 * address_in6; 162 163 size_t length; 163 164 164 if (addrlen < 0){165 return EINVAL; 166 }165 if (addrlen < 0) 166 return EINVAL; 167 167 168 length = (size_t) addrlen; 168 if(length < sizeof(struct sockaddr)){ 169 return EINVAL; 170 } 171 switch(addr->sa_family){ 172 case AF_INET: 173 if(length != sizeof(struct sockaddr_in)){ 169 if (length < sizeof(struct sockaddr)) 170 return EINVAL; 171 172 switch (addr->sa_family) { 173 case AF_INET: 174 if (length != sizeof(struct sockaddr_in)) 175 return EINVAL; 176 address_in = (struct sockaddr_in *) addr; 177 address_in->sin_port = htons(port); 178 return EOK; 179 case AF_INET6: 180 if (length != sizeof(struct sockaddr_in6)) 174 181 return EINVAL; 175 } 176 address_in = (struct sockaddr_in *) addr; 177 address_in->sin_port = htons(port); 178 return EOK; 179 case AF_INET6: 180 if(length != sizeof(struct sockaddr_in6)){ 181 return EINVAL; 182 } 183 address_in6 = (struct sockaddr_in6 *) addr; 184 address_in6->sin6_port = htons(port); 185 return EOK; 186 default: 187 return EAFNOSUPPORT; 182 address_in6 = (struct sockaddr_in6 *) addr; 183 address_in6->sin6_port = htons(port); 184 return EOK; 185 default: 186 return EAFNOSUPPORT; 188 187 } 189 188 } -
uspace/lib/socket/include/net_err.h
r5203efb1 rdc94cb2 81 81 #endif 82 82 83 #define ERROR_NONE(value) !ERROR_OCCURRED((value)) 84 83 85 /** Error propagation 84 86 * -
uspace/lib/socket/packet/packet_client.c
r5203efb1 rdc94cb2 122 122 } 123 123 124 int packet_set_addr(packet_t packet, const uint8_t * src, const uint8_t * dest, size_t addr_len){ 124 int 125 packet_set_addr(packet_t packet, const uint8_t * src, const uint8_t * dest, 126 size_t addr_len) 127 { 125 128 size_t padding; 126 129 size_t allocated; 127 130 128 if (! packet_is_valid(packet)){131 if (!packet_is_valid(packet)) 129 132 return EINVAL; 130 } 133 131 134 allocated = PACKET_MAX_ADDRESS_LENGTH(packet); 132 if (allocated < addr_len){135 if (allocated < addr_len) 133 136 return ENOMEM; 134 } 137 135 138 padding = allocated - addr_len; 136 139 packet->addr_len = addr_len; 137 if(src){ 140 141 if (src) { 138 142 memcpy((void *) packet + packet->src_addr, src, addr_len); 139 if (padding){140 bzero((void *) packet + packet->src_addr + addr_len, padding);141 }142 } else{143 if (padding) 144 bzero((void *) packet + packet->src_addr + addr_len, 145 padding); 146 } else { 143 147 bzero((void *) packet + packet->src_addr, allocated); 144 148 } 145 if(dest){ 149 150 if (dest) { 146 151 memcpy((void *) packet + packet->dest_addr, dest, addr_len); 147 if (padding){148 bzero((void *) packet + packet->dest_addr + addr_len, padding);149 }150 } else{152 if (padding) 153 bzero((void *) packet + packet->dest_addr + addr_len, 154 padding); 155 } else { 151 156 bzero((void *) packet + packet->dest_addr, allocated); 152 157 } 158 153 159 return EOK; 154 160 }
Note:
See TracChangeset
for help on using the changeset viewer.
