Changeset 984a9ba in mainline for uspace/lib/drv/generic/remote_usbdiag.c
- Timestamp:
- 2018-07-05T09:34:09Z (7 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/drv/generic/remote_usbdiag.c
r76f566d r984a9ba 126 126 } 127 127 128 static void remote_usbdiag_test_in(ddf_fun_t *, void *, 129 cap_call_handle_t, ipc_call_t *); 130 static void remote_usbdiag_test_out(ddf_fun_t *, void *, 131 cap_call_handle_t, ipc_call_t *); 128 static void remote_usbdiag_test_in(ddf_fun_t *, void *, ipc_call_t *); 129 static void remote_usbdiag_test_out(ddf_fun_t *, void *, ipc_call_t *); 132 130 133 131 /** Remote USB diagnostic interface operations. */ … … 143 141 }; 144 142 145 void remote_usbdiag_test_in(ddf_fun_t *fun, void *iface, 146 cap_call_handle_t chandle, ipc_call_t *call) 143 void remote_usbdiag_test_in(ddf_fun_t *fun, void *iface, ipc_call_t *call) 147 144 { 148 145 const usbdiag_iface_t *diag_iface = (usbdiag_iface_t *) iface; 149 146 147 ipc_call_t data; 150 148 size_t size; 151 cap_call_handle_t data_chandle; 152 if (!async_data_write_receive(&data_chandle, &size)) { 153 async_answer_0(data_chandle, EINVAL); 154 async_answer_0(chandle, EINVAL); 149 if (!async_data_write_receive(&data, &size)) { 150 async_answer_0(&data, EINVAL); 151 async_answer_0(call, EINVAL); 155 152 return; 156 153 } 157 154 158 155 if (size != sizeof(usbdiag_test_params_t)) { 159 async_answer_0( data_chandle, EINVAL);160 async_answer_0(c handle, EINVAL);156 async_answer_0(&data, EINVAL); 157 async_answer_0(call, EINVAL); 161 158 return; 162 159 } 163 160 164 161 usbdiag_test_params_t params; 165 if (async_data_write_finalize( data_chandle, ¶ms, size) != EOK) {166 async_answer_0(c handle, EINVAL);162 if (async_data_write_finalize(&data, ¶ms, size) != EOK) { 163 async_answer_0(call, EINVAL); 167 164 return; 168 165 } … … 173 170 174 171 if (ret != EOK) { 175 async_answer_0(c handle, ret);176 return; 177 } 178 179 if (!async_data_read_receive(&data _chandle, &size)) {180 async_answer_0( data_chandle, EINVAL);181 async_answer_0(c handle, EINVAL);172 async_answer_0(call, ret); 173 return; 174 } 175 176 if (!async_data_read_receive(&data, &size)) { 177 async_answer_0(&data, EINVAL); 178 async_answer_0(call, EINVAL); 182 179 return; 183 180 } 184 181 185 182 if (size != sizeof(usbdiag_test_results_t)) { 186 async_answer_0(data_chandle, EINVAL); 187 async_answer_0(chandle, EINVAL); 188 return; 189 } 190 191 if (async_data_read_finalize(data_chandle, &results, size) != EOK) { 192 async_answer_0(chandle, EINVAL); 193 return; 194 } 195 196 async_answer_0(chandle, ret); 197 } 198 199 void remote_usbdiag_test_out(ddf_fun_t *fun, void *iface, 200 cap_call_handle_t chandle, ipc_call_t *call) 183 async_answer_0(&data, EINVAL); 184 async_answer_0(call, EINVAL); 185 return; 186 } 187 188 if (async_data_read_finalize(&data, &results, size) != EOK) { 189 async_answer_0(call, EINVAL); 190 return; 191 } 192 193 async_answer_0(call, ret); 194 } 195 196 void remote_usbdiag_test_out(ddf_fun_t *fun, void *iface, ipc_call_t *call) 201 197 { 202 198 const usbdiag_iface_t *diag_iface = (usbdiag_iface_t *) iface; 203 199 200 ipc_call_t data; 204 201 size_t size; 205 cap_call_handle_t data_chandle; 206 if (!async_data_write_receive(&data_chandle, &size)) { 207 async_answer_0(data_chandle, EINVAL); 208 async_answer_0(chandle, EINVAL); 202 if (!async_data_write_receive(&data, &size)) { 203 async_answer_0(&data, EINVAL); 204 async_answer_0(call, EINVAL); 209 205 return; 210 206 } 211 207 212 208 if (size != sizeof(usbdiag_test_params_t)) { 213 async_answer_0( data_chandle, EINVAL);214 async_answer_0(c handle, EINVAL);209 async_answer_0(&data, EINVAL); 210 async_answer_0(call, EINVAL); 215 211 return; 216 212 } 217 213 218 214 usbdiag_test_params_t params; 219 if (async_data_write_finalize( data_chandle, ¶ms, size) != EOK) {220 async_answer_0(c handle, EINVAL);215 if (async_data_write_finalize(&data, ¶ms, size) != EOK) { 216 async_answer_0(call, EINVAL); 221 217 return; 222 218 } … … 227 223 228 224 if (ret != EOK) { 229 async_answer_0(c handle, ret);230 return; 231 } 232 233 if (!async_data_read_receive(&data _chandle, &size)) {234 async_answer_0( data_chandle, EINVAL);235 async_answer_0(c handle, EINVAL);225 async_answer_0(call, ret); 226 return; 227 } 228 229 if (!async_data_read_receive(&data, &size)) { 230 async_answer_0(&data, EINVAL); 231 async_answer_0(call, EINVAL); 236 232 return; 237 233 } 238 234 239 235 if (size != sizeof(usbdiag_test_results_t)) { 240 async_answer_0( data_chandle, EINVAL);241 async_answer_0(c handle, EINVAL);242 return; 243 } 244 245 if (async_data_read_finalize( data_chandle, &results, size) != EOK) {246 async_answer_0(c handle, EINVAL);247 return; 248 } 249 250 async_answer_0(c handle, ret);236 async_answer_0(&data, EINVAL); 237 async_answer_0(call, EINVAL); 238 return; 239 } 240 241 if (async_data_read_finalize(&data, &results, size) != EOK) { 242 async_answer_0(call, EINVAL); 243 return; 244 } 245 246 async_answer_0(call, ret); 251 247 } 252 248
Note:
See TracChangeset
for help on using the changeset viewer.