Changeset 984a9ba in mainline for uspace/srv/net/inetsrv/inetping.c
- Timestamp:
- 2018-07-05T09:34:09Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 63d46341
- Parents:
- 76f566d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/inetsrv/inetping.c
r76f566d r984a9ba 136 136 } 137 137 138 static void inetping_send_srv(inetping_client_t *client, cap_call_handle_t icall_handle, 139 ipc_call_t *icall) 138 static void inetping_send_srv(inetping_client_t *client, ipc_call_t *icall) 140 139 { 141 140 log_msg(LOG_DEFAULT, LVL_DEBUG, "inetping_send_srv()"); … … 146 145 sdu.seq_no = IPC_GET_ARG1(*icall); 147 146 148 cap_call_handle_t chandle;147 ipc_call_t call; 149 148 size_t size; 150 if (!async_data_write_receive(&c handle, &size)) {151 async_answer_0( chandle, EREFUSED);152 async_answer_0(icall _handle, EREFUSED);149 if (!async_data_write_receive(&call, &size)) { 150 async_answer_0(&call, EREFUSED); 151 async_answer_0(icall, EREFUSED); 153 152 return; 154 153 } 155 154 156 155 if (size != sizeof(sdu.src)) { 157 async_answer_0( chandle, EINVAL);158 async_answer_0(icall _handle, EINVAL);159 return; 160 } 161 162 rc = async_data_write_finalize( chandle, &sdu.src, size);163 if (rc != EOK) { 164 async_answer_0( chandle, rc);165 async_answer_0(icall _handle, rc);166 return; 167 } 168 169 if (!async_data_write_receive(&c handle, &size)) {170 async_answer_0( chandle, EREFUSED);171 async_answer_0(icall _handle, EREFUSED);156 async_answer_0(&call, EINVAL); 157 async_answer_0(icall, EINVAL); 158 return; 159 } 160 161 rc = async_data_write_finalize(&call, &sdu.src, size); 162 if (rc != EOK) { 163 async_answer_0(&call, rc); 164 async_answer_0(icall, rc); 165 return; 166 } 167 168 if (!async_data_write_receive(&call, &size)) { 169 async_answer_0(&call, EREFUSED); 170 async_answer_0(icall, EREFUSED); 172 171 return; 173 172 } 174 173 175 174 if (size != sizeof(sdu.dest)) { 176 async_answer_0( chandle, EINVAL);177 async_answer_0(icall _handle, EINVAL);178 return; 179 } 180 181 rc = async_data_write_finalize( chandle, &sdu.dest, size);182 if (rc != EOK) { 183 async_answer_0( chandle, rc);184 async_answer_0(icall _handle, rc);175 async_answer_0(&call, EINVAL); 176 async_answer_0(icall, EINVAL); 177 return; 178 } 179 180 rc = async_data_write_finalize(&call, &sdu.dest, size); 181 if (rc != EOK) { 182 async_answer_0(&call, rc); 183 async_answer_0(icall, rc); 185 184 return; 186 185 } … … 189 188 &sdu.size); 190 189 if (rc != EOK) { 191 async_answer_0(icall _handle, rc);190 async_answer_0(icall, rc); 192 191 return; 193 192 } … … 196 195 free(sdu.data); 197 196 198 async_answer_0(icall_handle, rc); 199 } 200 201 static void inetping_get_srcaddr_srv(inetping_client_t *client, 202 cap_call_handle_t icall_handle, ipc_call_t *icall) 197 async_answer_0(icall, rc); 198 } 199 200 static void inetping_get_srcaddr_srv(inetping_client_t *client, ipc_call_t *icall) 203 201 { 204 202 log_msg(LOG_DEFAULT, LVL_DEBUG, "inetping_get_srcaddr_srv()"); 205 203 206 cap_call_handle_t chandle;204 ipc_call_t call; 207 205 size_t size; 208 206 … … 210 208 inet_addr_t remote; 211 209 212 if (!async_data_write_receive(&c handle, &size)) {213 async_answer_0( chandle, EREFUSED);214 async_answer_0(icall _handle, EREFUSED);210 if (!async_data_write_receive(&call, &size)) { 211 async_answer_0(&call, EREFUSED); 212 async_answer_0(icall, EREFUSED); 215 213 return; 216 214 } 217 215 218 216 if (size != sizeof(remote)) { 219 async_answer_0( chandle, EINVAL);220 async_answer_0(icall _handle, EINVAL);221 return; 222 } 223 224 errno_t rc = async_data_write_finalize( chandle, &remote, size);225 if (rc != EOK) { 226 async_answer_0( chandle, rc);227 async_answer_0(icall _handle, rc);217 async_answer_0(&call, EINVAL); 218 async_answer_0(icall, EINVAL); 219 return; 220 } 221 222 errno_t rc = async_data_write_finalize(&call, &remote, size); 223 if (rc != EOK) { 224 async_answer_0(&call, rc); 225 async_answer_0(icall, rc); 228 226 return; 229 227 } … … 231 229 rc = inetping_get_srcaddr(client, &remote, &local); 232 230 if (rc != EOK) { 233 async_answer_0(icall _handle, rc);234 return; 235 } 236 237 if (!async_data_read_receive(&c handle, &size)) {238 async_answer_0( chandle, EREFUSED);239 async_answer_0(icall _handle, EREFUSED);231 async_answer_0(icall, rc); 232 return; 233 } 234 235 if (!async_data_read_receive(&call, &size)) { 236 async_answer_0(&call, EREFUSED); 237 async_answer_0(icall, EREFUSED); 240 238 return; 241 239 } 242 240 243 241 if (size != sizeof(local)) { 244 async_answer_0( chandle, EINVAL);245 async_answer_0(icall _handle, EINVAL);246 return; 247 } 248 249 rc = async_data_read_finalize( chandle, &local, size);242 async_answer_0(&call, EINVAL); 243 async_answer_0(icall, EINVAL); 244 return; 245 } 246 247 rc = async_data_read_finalize(&call, &local, size); 250 248 if (rc != EOK) 251 async_answer_0( chandle, rc);252 253 async_answer_0(icall _handle, rc);249 async_answer_0(&call, rc); 250 251 async_answer_0(icall, rc); 254 252 } 255 253 … … 281 279 } 282 280 283 void inetping_conn( cap_call_handle_t icall_handle,ipc_call_t *icall, void *arg)281 void inetping_conn(ipc_call_t *icall, void *arg) 284 282 { 285 283 log_msg(LOG_DEFAULT, LVL_DEBUG, "inetping_conn()"); 286 284 287 285 /* Accept the connection */ 288 async_answer_0(icall _handle, EOK);286 async_answer_0(icall, EOK); 289 287 290 288 inetping_client_t client; … … 295 293 while (true) { 296 294 ipc_call_t call; 297 cap_call_handle_t chandle =async_get_call(&call);295 async_get_call(&call); 298 296 sysarg_t method = IPC_GET_IMETHOD(call); 299 297 300 298 if (!method) { 301 299 /* The other side has hung up */ 302 async_answer_0( chandle, EOK);300 async_answer_0(&call, EOK); 303 301 break; 304 302 } … … 306 304 switch (method) { 307 305 case INETPING_SEND: 308 inetping_send_srv(&client, chandle,&call);306 inetping_send_srv(&client, &call); 309 307 break; 310 308 case INETPING_GET_SRCADDR: 311 inetping_get_srcaddr_srv(&client, chandle,&call);309 inetping_get_srcaddr_srv(&client, &call); 312 310 break; 313 311 default: 314 async_answer_0( chandle, EINVAL);312 async_answer_0(&call, EINVAL); 315 313 } 316 314 }
Note:
See TracChangeset
for help on using the changeset viewer.