Changeset 5a6cc679 in mainline for uspace/lib/c/generic/async.c


Ignore:
Timestamp:
2018-01-31T02:21:24Z (7 years ago)
Author:
Jenda <jenda.jzqk73@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a0a9cc2
Parents:
132ab5d1
Message:

Merge commit '50f19b7ee8e94570b5c63896736c4eb49cfa18db' into forwardport

Not all ints are converted to errno_t in xhci tree yet, however it compiles and works :)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/async.c

    r132ab5d1 r5a6cc679  
    205205        ipc_call_t *dataptr;
    206206       
    207         int retval;
     207        errno_t retval;
    208208} amsg_t;
    209209
     
    511511static FIBRIL_CONDVAR_INITIALIZE(avail_phone_cv);
    512512
    513 int async_create_port(iface_t iface, async_port_handler_t handler,
     513errno_t async_create_port(iface_t iface, async_port_handler_t handler,
    514514    void *data, port_id_t *port_id)
    515515{
     
    698698 *
    699699 */
    700 static int connection_fibril(void *arg)
     700static errno_t connection_fibril(void *arg)
    701701{
    702702        assert(arg);
     
    847847 *
    848848 */
    849 int async_create_callback_port(async_exch_t *exch, iface_t iface, sysarg_t arg1,
     849errno_t async_create_callback_port(async_exch_t *exch, iface_t iface, sysarg_t arg1,
    850850    sysarg_t arg2, async_port_handler_t handler, void *data, port_id_t *port_id)
    851851{
     
    860860            &answer);
    861861       
    862         int ret;
     862        errno_t ret;
    863863        async_wait_for(req, &ret);
    864864        if (ret != EOK)
    865                 return (int) ret;
     865                return (errno_t) ret;
    866866       
    867867        sysarg_t phone_hash = IPC_GET_ARG5(answer);
     
    10561056 *
    10571057 */
    1058 int async_irq_subscribe(int inr, async_notification_handler_t handler,
     1058errno_t async_irq_subscribe(int inr, async_notification_handler_t handler,
    10591059    void *data, const irq_code_t *ucode, cap_handle_t *handle)
    10601060{
     
    10781078       
    10791079        cap_handle_t cap;
    1080         int rc = ipc_irq_subscribe(inr, imethod, ucode, &cap);
     1080        errno_t rc = ipc_irq_subscribe(inr, imethod, ucode, &cap);
    10811081        if (rc == EOK && handle != NULL) {
    10821082                *handle = cap;
     
    10921092 *
    10931093 */
    1094 int async_irq_unsubscribe(int cap)
     1094errno_t async_irq_unsubscribe(int cap)
    10951095{
    10961096        // TODO: Remove entry from hash table
     
    11091109 *
    11101110 */
    1111 int async_event_subscribe(event_type_t evno,
     1111errno_t async_event_subscribe(event_type_t evno,
    11121112    async_notification_handler_t handler, void *data)
    11131113{
     
    11421142 *
    11431143 */
    1144 int async_event_task_subscribe(event_task_type_t evno,
     1144errno_t async_event_task_subscribe(event_task_type_t evno,
    11451145    async_notification_handler_t handler, void *data)
    11461146{
     
    11731173 *
    11741174 */
    1175 int async_event_unmask(event_type_t evno)
     1175errno_t async_event_unmask(event_type_t evno)
    11761176{
    11771177        return ipc_event_unmask(evno);
     
    11851185 *
    11861186 */
    1187 int async_event_task_unmask(event_task_type_t evno)
     1187errno_t async_event_task_unmask(event_task_type_t evno)
    11881188{
    11891189        return ipc_event_task_unmask(evno);
     
    14371437 *
    14381438 */
    1439 static int async_manager_worker(void)
     1439static errno_t async_manager_worker(void)
    14401440{
    14411441        while (true) {
     
    14891489               
    14901490                ipc_call_t call;
    1491                 int rc = ipc_wait_cycle(&call, timeout, flags);
     1491                errno_t rc = ipc_wait_cycle(&call, timeout, flags);
    14921492               
    14931493                atomic_dec(&threads_in_ipc_wait);
     
    15211521 *
    15221522 */
    1523 static int async_manager_fibril(void *arg)
     1523static errno_t async_manager_fibril(void *arg)
    15241524{
    15251525        futex_up(&async_futex);
     
    15971597 *
    15981598 */
    1599 void reply_received(void *arg, int retval, ipc_call_t *data)
     1599void reply_received(void *arg, errno_t retval, ipc_call_t *data)
    16001600{
    16011601        assert(arg);
     
    17091709 *
    17101710 */
    1711 void async_wait_for(aid_t amsgid, int *retval)
     1711void async_wait_for(aid_t amsgid, errno_t *retval)
    17121712{
    17131713        assert(amsgid);
     
    17551755 *
    17561756 */
    1757 int async_wait_timeout(aid_t amsgid, int *retval, suseconds_t timeout)
     1757errno_t async_wait_timeout(aid_t amsgid, errno_t *retval, suseconds_t timeout)
    17581758{
    17591759        assert(amsgid);
     
    19151915 *
    19161916 */
    1917 int async_req_fast(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1,
     1917errno_t async_req_fast(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1,
    19181918    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t *r1, sysarg_t *r2,
    19191919    sysarg_t *r3, sysarg_t *r4, sysarg_t *r5)
     
    19261926            &result);
    19271927       
    1928         int rc;
     1928        errno_t rc;
    19291929        async_wait_for(aid, &rc);
    19301930       
     
    19671967 *
    19681968 */
    1969 int async_req_slow(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1,
     1969errno_t async_req_slow(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1,
    19701970    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, sysarg_t *r1,
    19711971    sysarg_t *r2, sysarg_t *r3, sysarg_t *r4, sysarg_t *r5)
     
    19781978            &result);
    19791979       
    1980         int rc;
     1980        errno_t rc;
    19811981        async_wait_for(aid, &rc);
    19821982       
     
    20422042}
    20432043
    2044 int async_answer_0(cap_handle_t chandle, int retval)
     2044errno_t async_answer_0(cap_handle_t chandle, errno_t retval)
    20452045{
    20462046        return ipc_answer_0(chandle, retval);
    20472047}
    20482048
    2049 int async_answer_1(cap_handle_t chandle, int retval, sysarg_t arg1)
     2049errno_t async_answer_1(cap_handle_t chandle, errno_t retval, sysarg_t arg1)
    20502050{
    20512051        return ipc_answer_1(chandle, retval, arg1);
    20522052}
    20532053
    2054 int async_answer_2(cap_handle_t chandle, int retval, sysarg_t arg1,
     2054errno_t async_answer_2(cap_handle_t chandle, errno_t retval, sysarg_t arg1,
    20552055    sysarg_t arg2)
    20562056{
     
    20582058}
    20592059
    2060 int async_answer_3(cap_handle_t chandle, int retval, sysarg_t arg1,
     2060errno_t async_answer_3(cap_handle_t chandle, errno_t retval, sysarg_t arg1,
    20612061    sysarg_t arg2, sysarg_t arg3)
    20622062{
     
    20642064}
    20652065
    2066 int async_answer_4(cap_handle_t chandle, int retval, sysarg_t arg1,
     2066errno_t async_answer_4(cap_handle_t chandle, errno_t retval, sysarg_t arg1,
    20672067    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4)
    20682068{
     
    20702070}
    20712071
    2072 int async_answer_5(cap_handle_t chandle, int retval, sysarg_t arg1,
     2072errno_t async_answer_5(cap_handle_t chandle, errno_t retval, sysarg_t arg1,
    20732073    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5)
    20742074{
     
    20762076}
    20772077
    2078 int async_forward_fast(cap_handle_t chandle, async_exch_t *exch,
     2078errno_t async_forward_fast(cap_handle_t chandle, async_exch_t *exch,
    20792079    sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, unsigned int mode)
    20802080{
     
    20852085}
    20862086
    2087 int async_forward_slow(cap_handle_t chandle, async_exch_t *exch,
     2087errno_t async_forward_slow(cap_handle_t chandle, async_exch_t *exch,
    20882088    sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3,
    20892089    sysarg_t arg4, sysarg_t arg5, unsigned int mode)
     
    21082108 *
    21092109 */
    2110 int async_connect_to_me(async_exch_t *exch, sysarg_t arg1, sysarg_t arg2,
     2110errno_t async_connect_to_me(async_exch_t *exch, sysarg_t arg1, sysarg_t arg2,
    21112111    sysarg_t arg3)
    21122112{
     
    21182118            &answer);
    21192119       
    2120         int rc;
     2120        errno_t rc;
    21212121        async_wait_for(req, &rc);
    21222122        if (rc != EOK)
    2123                 return (int) rc;
     2123                return (errno_t) rc;
    21242124       
    21252125        return EOK;
    21262126}
    21272127
    2128 static int async_connect_me_to_internal(int phone, sysarg_t arg1, sysarg_t arg2,
     2128static errno_t async_connect_me_to_internal(int phone, sysarg_t arg1, sysarg_t arg2,
    21292129    sysarg_t arg3, sysarg_t arg4, int *out_phone)
    21302130{
     
    21452145            msg, reply_received);
    21462146       
    2147         int rc;
     2147        errno_t rc;
    21482148        async_wait_for((aid_t) msg, &rc);
    21492149       
     
    21832183       
    21842184        int phone;
    2185         int rc = async_connect_me_to_internal(exch->phone, arg1, arg2, arg3,
     2185        errno_t rc = async_connect_me_to_internal(exch->phone, arg1, arg2, arg3,
    21862186            0, &phone);
    21872187        if (rc != EOK) {
     
    22362236       
    22372237        int phone;
    2238         int rc = async_connect_me_to_internal(exch->phone, iface, arg2,
     2238        errno_t rc = async_connect_me_to_internal(exch->phone, iface, arg2,
    22392239            arg3, 0, &phone);
    22402240        if (rc != EOK) {
     
    23072307       
    23082308        int phone;
    2309         int rc = async_connect_me_to_internal(exch->phone, arg1, arg2, arg3,
     2309        errno_t rc = async_connect_me_to_internal(exch->phone, arg1, arg2, arg3,
    23102310            IPC_FLAG_BLOCKING, &phone);
    23112311       
     
    23612361       
    23622362        int phone;
    2363         int rc = async_connect_me_to_internal(exch->phone, iface, arg2,
     2363        errno_t rc = async_connect_me_to_internal(exch->phone, iface, arg2,
    23642364            arg3, IPC_FLAG_BLOCKING, &phone);
    23652365        if (rc != EOK) {
     
    23972397       
    23982398        cap_handle_t phone;
    2399         int rc = ipc_connect_kbox(id, &phone);
     2399        errno_t rc = ipc_connect_kbox(id, &phone);
    24002400        if (rc != EOK) {
    24012401                errno = rc;
     
    24212421}
    24222422
    2423 static int async_hangup_internal(int phone)
     2423static errno_t async_hangup_internal(int phone)
    24242424{
    24252425        return ipc_hangup(phone);
     
    24332433 *
    24342434 */
    2435 int async_hangup(async_sess_t *sess)
     2435errno_t async_hangup(async_sess_t *sess)
    24362436{
    24372437        async_exch_t *exch;
     
    24442444        fibril_mutex_lock(&async_sess_mutex);
    24452445       
    2446         int rc = async_hangup_internal(sess->phone);
     2446        errno_t rc = async_hangup_internal(sess->phone);
    24472447       
    24482448        while (!list_empty(&sess->exch_list)) {
     
    25162516                } else if (mgmt == EXCHANGE_PARALLEL) {
    25172517                        int phone;
    2518                         int rc;
     2518                        errno_t rc;
    25192519                       
    25202520                retry:
     
    26132613 *
    26142614 */
    2615 int async_share_in_start(async_exch_t *exch, size_t size, sysarg_t arg,
     2615errno_t async_share_in_start(async_exch_t *exch, size_t size, sysarg_t arg,
    26162616    unsigned int *flags, void **dst)
    26172617{
     
    26212621        sysarg_t _flags = 0;
    26222622        sysarg_t _dst = (sysarg_t) -1;
    2623         int res = async_req_2_4(exch, IPC_M_SHARE_IN, (sysarg_t) size,
     2623        errno_t res = async_req_2_4(exch, IPC_M_SHARE_IN, (sysarg_t) size,
    26242624            arg, NULL, &_flags, NULL, &_dst);
    26252625       
     
    26732673 *
    26742674 */
    2675 int async_share_in_finalize(cap_handle_t chandle, void *src, unsigned int flags)
     2675errno_t async_share_in_finalize(cap_handle_t chandle, void *src, unsigned int flags)
    26762676{
    26772677        return ipc_answer_3(chandle, EOK, (sysarg_t) src, (sysarg_t) flags,
     
    26882688 *
    26892689 */
    2690 int async_share_out_start(async_exch_t *exch, void *src, unsigned int flags)
     2690errno_t async_share_out_start(async_exch_t *exch, void *src, unsigned int flags)
    26912691{
    26922692        if (exch == NULL)
     
    27432743 *
    27442744 */
    2745 int async_share_out_finalize(cap_handle_t chandle, void **dst)
     2745errno_t async_share_out_finalize(cap_handle_t chandle, void **dst)
    27462746{
    27472747        return ipc_answer_2(chandle, EOK, (sysarg_t) __entry, (sysarg_t) dst);
     
    27742774 *
    27752775 */
    2776 int async_data_read_start(async_exch_t *exch, void *dst, size_t size)
     2776errno_t async_data_read_start(async_exch_t *exch, void *dst, size_t size)
    27772777{
    27782778        if (exch == NULL)
     
    28482848 *
    28492849 */
    2850 int async_data_read_finalize(cap_handle_t chandle, const void *src, size_t size)
     2850errno_t async_data_read_finalize(cap_handle_t chandle, const void *src, size_t size)
    28512851{
    28522852        return ipc_answer_2(chandle, EOK, (sysarg_t) src, (sysarg_t) size);
     
    28562856 *
    28572857 */
    2858 int async_data_read_forward_fast(async_exch_t *exch, sysarg_t imethod,
     2858errno_t async_data_read_forward_fast(async_exch_t *exch, sysarg_t imethod,
    28592859    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4,
    28602860    ipc_call_t *dataptr)
     
    28762876        }
    28772877       
    2878         int retval = ipc_forward_fast(chandle, exch->phone, 0, 0, 0,
     2878        errno_t retval = ipc_forward_fast(chandle, exch->phone, 0, 0, 0,
    28792879            IPC_FF_ROUTE_FROM_ME);
    28802880        if (retval != EOK) {
     
    28842884        }
    28852885       
    2886         int rc;
     2886        errno_t rc;
    28872887        async_wait_for(msg, &rc);
    28882888       
    2889         return (int) rc;
     2889        return (errno_t) rc;
    28902890}
    28912891
     
    28992899 *
    29002900 */
    2901 int async_data_write_start(async_exch_t *exch, const void *src, size_t size)
     2901errno_t async_data_write_start(async_exch_t *exch, const void *src, size_t size)
    29022902{
    29032903        if (exch == NULL)
     
    29732973 *
    29742974 */
    2975 int async_data_write_finalize(cap_handle_t chandle, void *dst, size_t size)
     2975errno_t async_data_write_finalize(cap_handle_t chandle, void *dst, size_t size)
    29762976{
    29772977        return ipc_answer_2(chandle, EOK, (sysarg_t) dst, (sysarg_t) size);
     
    29992999 *
    30003000 */
    3001 int async_data_write_accept(void **data, const bool nullterm,
     3001errno_t async_data_write_accept(void **data, const bool nullterm,
    30023002    const size_t min_size, const size_t max_size, const size_t granularity,
    30033003    size_t *received)
     
    30393039        }
    30403040       
    3041         int rc = async_data_write_finalize(chandle, arg_data, size);
     3041        errno_t rc = async_data_write_finalize(chandle, arg_data, size);
    30423042        if (rc != EOK) {
    30433043                free(arg_data);
     
    30623062 *
    30633063 */
    3064 void async_data_write_void(int retval)
     3064void async_data_write_void(errno_t retval)
    30653065{
    30663066        cap_handle_t chandle;
     
    30723072 *
    30733073 */
    3074 int async_data_write_forward_fast(async_exch_t *exch, sysarg_t imethod,
     3074errno_t async_data_write_forward_fast(async_exch_t *exch, sysarg_t imethod,
    30753075    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4,
    30763076    ipc_call_t *dataptr)
     
    30923092        }
    30933093       
    3094         int retval = ipc_forward_fast(chandle, exch->phone, 0, 0, 0,
     3094        errno_t retval = ipc_forward_fast(chandle, exch->phone, 0, 0, 0,
    30953095            IPC_FF_ROUTE_FROM_ME);
    30963096        if (retval != EOK) {
     
    31003100        }
    31013101       
    3102         int rc;
     3102        errno_t rc;
    31033103        async_wait_for(msg, &rc);
    31043104       
    3105         return (int) rc;
     3105        return (errno_t) rc;
    31063106}
    31073107
     
    31973197}
    31983198
    3199 int async_state_change_start(async_exch_t *exch, sysarg_t arg1, sysarg_t arg2,
     3199errno_t async_state_change_start(async_exch_t *exch, sysarg_t arg1, sysarg_t arg2,
    32003200    sysarg_t arg3, async_exch_t *other_exch)
    32013201{
     
    32253225}
    32263226
    3227 int async_state_change_finalize(cap_handle_t chandle, async_exch_t *other_exch)
     3227errno_t async_state_change_finalize(cap_handle_t chandle, async_exch_t *other_exch)
    32283228{
    32293229        return ipc_answer_1(chandle, EOK, other_exch->phone);
Note: See TracChangeset for help on using the changeset viewer.