Subversion Repositories HelenOS

Rev

Rev 2622 | Rev 2636 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2622 Rev 2635
Line 585... Line 585...
585
/** Ask through phone for a new connection to some service.
585
/** Ask through phone for a new connection to some service.
586
 *
586
 *
587
 * @param phoneid   Phone handle used for contacting the other side.
587
 * @param phoneid   Phone handle used for contacting the other side.
588
 * @param arg1      User defined argument.
588
 * @param arg1      User defined argument.
589
 * @param arg2      User defined argument.
589
 * @param arg2      User defined argument.
-
 
590
 * @param arg3      User defined argument.
590
 *
591
 *
591
 * @return      New phone handle on success or a negative error code.
592
 * @return      New phone handle on success or a negative error code.
592
 */
593
 */
593
int ipc_connect_me_to(int phoneid, int arg1, int arg2)
594
int ipc_connect_me_to(int phoneid, int arg1, int arg2, int arg3)
594
{
595
{
595
    ipcarg_t newphid;
596
    ipcarg_t newphid;
596
    int res;
597
    int res;
597
 
598
 
598
    res = ipc_call_sync_2_3(phoneid, IPC_M_CONNECT_ME_TO, arg1, arg2, NULL,
599
    res = ipc_call_sync_3_5(phoneid, IPC_M_CONNECT_ME_TO, arg1, arg2, arg3,
599
        NULL, &newphid);
600
        NULL, NULL, NULL, NULL, &newphid);
600
    if (res)
601
    if (res)
601
        return res;
602
        return res;
602
    return newphid;
603
    return newphid;
603
}
604
}
604
 
605
 
Line 644... Line 645...
644
 *
645
 *
645
 * @param callid    Hash of the call to forward.
646
 * @param callid    Hash of the call to forward.
646
 * @param phoneid   Phone handle to use for forwarding.
647
 * @param phoneid   Phone handle to use for forwarding.
647
 * @param method    New method for the forwarded call.
648
 * @param method    New method for the forwarded call.
648
 * @param arg1      New value of the first argument for the forwarded call.
649
 * @param arg1      New value of the first argument for the forwarded call.
-
 
650
 * @param arg2      New value of the second argument for the forwarded call.
649
 * @param mode      Flags specifying mode of the forward operation.
651
 * @param mode      Flags specifying mode of the forward operation.
650
 *
652
 *
651
 * @return      Zero on success or an error code.
653
 * @return      Zero on success or an error code.
652
 *
654
 *
653
 * For non-system methods, the old method and arg1 are rewritten by the new
655
 * For non-system methods, the old method and arg1 are rewritten by the new
654
 * values. For system methods, the new method and arg1 are written to the old
656
 * values. For system methods, the new method, arg1 and arg2 are written
655
 * arg1 and arg2, respectivelly. Calls with immutable methods are forwarded
657
 * to the old arg1, arg2 and arg3, respectivelly. Calls with immutable
656
 * verbatim.
658
 * methods are forwarded verbatim.
657
 */
659
 */
658
int ipc_forward_fast(ipc_callid_t callid, int phoneid, int method,
660
int ipc_forward_fast(ipc_callid_t callid, int phoneid, int method,
659
    ipcarg_t arg1, int mode)
661
    ipcarg_t arg1, ipcarg_t arg2, int mode)
660
{
662
{
661
    return __SYSCALL5(SYS_IPC_FORWARD_FAST, callid, phoneid, method, arg1,
663
    return __SYSCALL6(SYS_IPC_FORWARD_FAST, callid, phoneid, method, arg1,
662
        mode);
664
        arg2, mode);
663
}
665
}
664
 
666
 
665
/** Wrapper for making IPC_M_DATA_SEND calls.
667
/** Wrapper for making IPC_M_DATA_SEND calls.
666
 *
668
 *
667
 * @param phoneid   Phone that will be used to contact the receiving side.
669
 * @param phoneid   Phone that will be used to contact the receiving side.