Changeset 984a9ba in mainline for uspace/lib/c/generic/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/lib/c/generic/inetping.c
r76f566d r984a9ba 38 38 #include <str.h> 39 39 40 static void inetping_cb_conn( cap_call_handle_t,ipc_call_t *, void *);41 static void inetping_ev_recv( cap_call_handle_t,ipc_call_t *);40 static void inetping_cb_conn(ipc_call_t *, void *); 41 static void inetping_ev_recv(ipc_call_t *); 42 42 43 43 static async_sess_t *inetping_sess = NULL; … … 150 150 } 151 151 152 static void inetping_ev_recv( cap_call_handle_t icall_handle,ipc_call_t *icall)152 static void inetping_ev_recv(ipc_call_t *icall) 153 153 { 154 154 inetping_sdu_t sdu; … … 156 156 sdu.seq_no = IPC_GET_ARG1(*icall); 157 157 158 cap_call_handle_t chandle;158 ipc_call_t call; 159 159 size_t size; 160 if (!async_data_write_receive(&c handle, &size)) {161 async_answer_0( chandle, EREFUSED);162 async_answer_0(icall _handle, EREFUSED);160 if (!async_data_write_receive(&call, &size)) { 161 async_answer_0(&call, EREFUSED); 162 async_answer_0(icall, EREFUSED); 163 163 return; 164 164 } 165 165 166 166 if (size != sizeof(sdu.src)) { 167 async_answer_0( chandle, EINVAL);168 async_answer_0(icall _handle, EINVAL);169 return; 170 } 171 172 errno_t rc = async_data_write_finalize( chandle, &sdu.src, size);173 if (rc != EOK) { 174 async_answer_0( chandle, rc);175 async_answer_0(icall _handle, rc);176 return; 177 } 178 179 if (!async_data_write_receive(&c handle, &size)) {180 async_answer_0( chandle, EREFUSED);181 async_answer_0(icall _handle, EREFUSED);167 async_answer_0(&call, EINVAL); 168 async_answer_0(icall, EINVAL); 169 return; 170 } 171 172 errno_t rc = async_data_write_finalize(&call, &sdu.src, size); 173 if (rc != EOK) { 174 async_answer_0(&call, rc); 175 async_answer_0(icall, rc); 176 return; 177 } 178 179 if (!async_data_write_receive(&call, &size)) { 180 async_answer_0(&call, EREFUSED); 181 async_answer_0(icall, EREFUSED); 182 182 return; 183 183 } 184 184 185 185 if (size != sizeof(sdu.dest)) { 186 async_answer_0( chandle, EINVAL);187 async_answer_0(icall _handle, EINVAL);188 return; 189 } 190 191 rc = async_data_write_finalize( chandle, &sdu.dest, size);192 if (rc != EOK) { 193 async_answer_0( chandle, rc);194 async_answer_0(icall _handle, rc);186 async_answer_0(&call, EINVAL); 187 async_answer_0(icall, EINVAL); 188 return; 189 } 190 191 rc = async_data_write_finalize(&call, &sdu.dest, size); 192 if (rc != EOK) { 193 async_answer_0(&call, rc); 194 async_answer_0(icall, rc); 195 195 return; 196 196 } … … 198 198 rc = async_data_write_accept(&sdu.data, false, 0, 0, 0, &sdu.size); 199 199 if (rc != EOK) { 200 async_answer_0(icall _handle, rc);200 async_answer_0(icall, rc); 201 201 return; 202 202 } … … 204 204 rc = inetping_ev_ops->recv(&sdu); 205 205 free(sdu.data); 206 async_answer_0(icall _handle, rc);207 } 208 209 static void inetping_cb_conn( cap_call_handle_t icall_handle,ipc_call_t *icall, void *arg)206 async_answer_0(icall, rc); 207 } 208 209 static void inetping_cb_conn(ipc_call_t *icall, void *arg) 210 210 { 211 211 while (true) { 212 212 ipc_call_t call; 213 cap_call_handle_t chandle =async_get_call(&call);213 async_get_call(&call); 214 214 215 215 if (!IPC_GET_IMETHOD(call)) { … … 220 220 switch (IPC_GET_IMETHOD(call)) { 221 221 case INETPING_EV_RECV: 222 inetping_ev_recv( chandle,&call);222 inetping_ev_recv(&call); 223 223 break; 224 224 default: 225 async_answer_0( chandle, ENOTSUP);225 async_answer_0(&call, ENOTSUP); 226 226 } 227 227 }
Note:
See TracChangeset
for help on using the changeset viewer.