Changeset fbcdeb8 in mainline for uspace/lib/c/generic/async.c
- Timestamp:
- 2011-12-19T17:30:39Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 58f6229
- Parents:
- 24cf31f1
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/async.c
r24cf31f1 rfbcdeb8 1998 1998 * 1999 1999 * @param exch Exchange for sending the message. 2000 * @param dst Destination address space area base.2001 2000 * @param size Size of the destination address space area. 2002 2001 * @param arg User defined argument. 2003 2002 * @param flags Storage for the received flags. Can be NULL. 2003 * @param dst Destination address space area base. Cannot be NULL. 2004 2004 * 2005 2005 * @return Zero on success or a negative error code from errno.h. 2006 2006 * 2007 2007 */ 2008 int async_share_in_start(async_exch_t *exch, void *dst, size_t size,2009 sysarg_t arg, unsigned int *flags)2008 int async_share_in_start(async_exch_t *exch, size_t size, sysarg_t arg, 2009 unsigned int *flags, void **dst) 2010 2010 { 2011 2011 if (exch == NULL) 2012 2012 return ENOENT; 2013 2013 2014 sysarg_t tmp_flags; 2015 int res = async_req_3_2(exch, IPC_M_SHARE_IN, (sysarg_t) dst, 2016 (sysarg_t) size, arg, NULL, &tmp_flags); 2014 sysarg_t _flags = 0; 2015 sysarg_t _dst = (sysarg_t) -1; 2016 int res = async_req_2_4(exch, IPC_M_SHARE_IN, (sysarg_t) size, 2017 arg, NULL, &_flags, NULL, &_dst); 2017 2018 2018 2019 if (flags) 2019 *flags = (unsigned int) tmp_flags; 2020 2020 *flags = (unsigned int) _flags; 2021 2022 *dst = (void *) _dst; 2021 2023 return res; 2022 2024 } … … 2047 2049 return false; 2048 2050 2049 *size = (size_t) IPC_GET_ARG 2(data);2051 *size = (size_t) IPC_GET_ARG1(data); 2050 2052 return true; 2051 2053 } … … 2053 2055 /** Wrapper for answering the IPC_M_SHARE_IN calls using the async framework. 2054 2056 * 2055 * This wrapper only makes it more comfortable to answer IPC_M_ DATA_READ2057 * This wrapper only makes it more comfortable to answer IPC_M_SHARE_IN 2056 2058 * calls so that the user doesn't have to remember the meaning of each IPC 2057 2059 * argument. … … 2131 2133 * 2132 2134 */ 2133 int async_share_out_finalize(ipc_callid_t callid, void * dst)2135 int async_share_out_finalize(ipc_callid_t callid, void **dst) 2134 2136 { 2135 2137 return ipc_share_out_finalize(callid, dst);
Note:
See TracChangeset
for help on using the changeset viewer.