Changes in uspace/lib/c/generic/async.c [d768d4c8:3ca2e36] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/async.c
rd768d4c8 r3ca2e36 2279 2279 bool async_data_read_receive(ipc_callid_t *callid, size_t *size) 2280 2280 { 2281 assert(callid); 2282 2281 2283 ipc_call_t data; 2282 return async_data_read_receive_call(callid, &data, size); 2283 } 2284 2285 /** Wrapper for receiving the IPC_M_DATA_READ calls using the async framework. 2286 * 2287 * This wrapper only makes it more comfortable to receive IPC_M_DATA_READ 2288 * calls so that the user doesn't have to remember the meaning of each IPC 2289 * argument. 2290 * 2291 * So far, this wrapper is to be used from within a connection fibril. 2292 * 2293 * @param callid Storage for the hash of the IPC_M_DATA_READ. 2294 * @param size Storage for the maximum size. Can be NULL. 2295 * 2296 * @return True on success, false on failure. 2297 * 2298 */ 2299 bool async_data_read_receive_call(ipc_callid_t *callid, ipc_call_t *data, 2300 size_t *size) 2301 { 2302 assert(callid); 2303 assert(data); 2304 2305 *callid = async_get_call(data); 2306 2307 if (IPC_GET_IMETHOD(*data) != IPC_M_DATA_READ) 2284 *callid = async_get_call(&data); 2285 2286 if (IPC_GET_IMETHOD(data) != IPC_M_DATA_READ) 2308 2287 return false; 2309 2288 2310 2289 if (size) 2311 *size = (size_t) IPC_GET_ARG2( *data);2290 *size = (size_t) IPC_GET_ARG2(data); 2312 2291 2313 2292 return true; … … 2404 2383 bool async_data_write_receive(ipc_callid_t *callid, size_t *size) 2405 2384 { 2385 assert(callid); 2386 2406 2387 ipc_call_t data; 2407 return async_data_write_receive_call(callid, &data, size); 2408 } 2409 2410 /** Wrapper for receiving the IPC_M_DATA_WRITE calls using the async framework. 2411 * 2412 * This wrapper only makes it more comfortable to receive IPC_M_DATA_WRITE 2413 * calls so that the user doesn't have to remember the meaning of each IPC 2414 * argument. 2415 * 2416 * So far, this wrapper is to be used from within a connection fibril. 2417 * 2418 * @param callid Storage for the hash of the IPC_M_DATA_WRITE. 2419 * @param data Storage for the ipc call data. 2420 * @param size Storage for the suggested size. May be NULL. 2421 * 2422 * @return True on success, false on failure. 2423 * 2424 */ 2425 bool async_data_write_receive_call(ipc_callid_t *callid, ipc_call_t *data, 2426 size_t *size) 2427 { 2428 assert(callid); 2429 assert(data); 2430 2431 *callid = async_get_call(data); 2432 2433 if (IPC_GET_IMETHOD(*data) != IPC_M_DATA_WRITE) 2388 *callid = async_get_call(&data); 2389 2390 if (IPC_GET_IMETHOD(data) != IPC_M_DATA_WRITE) 2434 2391 return false; 2435 2392 2436 2393 if (size) 2437 *size = (size_t) IPC_GET_ARG2( *data);2394 *size = (size_t) IPC_GET_ARG2(data); 2438 2395 2439 2396 return true;
Note:
See TracChangeset
for help on using the changeset viewer.