Changes in uspace/lib/c/generic/ipc.c [ab34cc9:10477601] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/ipc.c
rab34cc9 r10477601 47 47 #include <futex.h> 48 48 #include <fibril.h> 49 #include <macros.h>50 49 51 50 /** … … 459 458 while (!list_empty(&queued_calls)) { 460 459 async_call_t *call = 461 list_get_instance( list_first(&queued_calls), async_call_t, list);460 list_get_instance(queued_calls.next, async_call_t, list); 462 461 ipc_callid_t callid = 463 462 ipc_call_async_internal(call->u.msg.phoneid, &call->u.msg.data); … … 512 511 513 512 link_t *item; 514 for (item = dispatched_calls. head.next; item != &dispatched_calls.head;513 for (item = dispatched_calls.next; item != &dispatched_calls; 515 514 item = item->next) { 516 515 async_call_t *call = … … 612 611 /** Request callback connection. 613 612 * 614 * The @a task _idand @a phonehash identifiers returned613 * The @a taskhash and @a phonehash identifiers returned 615 614 * by the kernel can be used for connection tracking. 616 615 * … … 619 618 * @param arg2 User defined argument. 620 619 * @param arg3 User defined argument. 621 * @param task _id Identifier of the client task.620 * @param taskhash Opaque identifier of the client task. 622 621 * @param phonehash Opaque identifier of the phone that will 623 622 * be used for incoming calls. … … 627 626 */ 628 627 int ipc_connect_to_me(int phoneid, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, 629 task_id_t *task_id, sysarg_t *phonehash) 630 { 631 ipc_call_t data; 632 int rc = __SYSCALL6(SYS_IPC_CALL_SYNC_FAST, phoneid, 633 IPC_M_CONNECT_TO_ME, arg1, arg2, arg3, (sysarg_t) &data); 634 if (rc == EOK) { 635 *task_id = data.in_task_id; 636 *phonehash = IPC_GET_ARG5(data); 637 } 638 return rc; 639 } 640 641 /** Request cloned connection. 642 * 643 * @param phoneid Phone handle used for contacting the other side. 644 * 645 * @return Cloned phone handle on success or a negative error code. 646 * 647 */ 648 int ipc_connect_me(int phoneid) 649 { 650 sysarg_t newphid; 651 int res = ipc_call_sync_0_5(phoneid, IPC_M_CONNECT_ME, NULL, NULL, 652 NULL, NULL, &newphid); 653 if (res) 654 return res; 655 656 return newphid; 628 sysarg_t *taskhash, sysarg_t *phonehash) 629 { 630 return ipc_call_sync_3_5(phoneid, IPC_M_CONNECT_TO_ME, arg1, arg2, 631 arg3, NULL, NULL, NULL, taskhash, phonehash); 657 632 } 658 633
Note:
See TracChangeset
for help on using the changeset viewer.