Changeset b61d47d in mainline for uspace/lib/libc


Ignore:
Timestamp:
2007-12-02T20:00:14Z (18 years ago)
Author:
Josef Cejka <malyzelenyhnus@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
90c35436
Parents:
8df2eab
Message:

Function ipc_connect_me_to sends 3 user defined arguments now.
One argument added also to ipc_forward_fast.
Fixed devmap and improved its test.

Location:
uspace/lib/libc
Files:
4 edited

Legend:

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

    r8df2eab rb61d47d  
    539539        case IPC_M_CONNECT_ME_TO:
    540540                /* Open new connection with fibril etc. */
    541                 async_new_connection(IPC_GET_ARG3(*call), callid, call,
     541                async_new_connection(IPC_GET_ARG5(*call), callid, call,
    542542                    client_connection);
    543543                return;
  • uspace/lib/libc/generic/io/stream.c

    r8df2eab rb61d47d  
    9797        if (console_phone < 0) {
    9898                while ((console_phone = ipc_connect_me_to(PHONE_NS,
    99                     SERVICE_CONSOLE, 0)) < 0) {
     99                    SERVICE_CONSOLE, 0, 0)) < 0) {
    100100                        usleep(10000);
    101101                }
     
    116116        if (console_phone < 0) {
    117117                while ((console_phone = ipc_connect_me_to(PHONE_NS,
    118                     SERVICE_CONSOLE, 0)) < 0) {
     118                    SERVICE_CONSOLE, 0, 0)) < 0) {
    119119                        usleep(10000);
    120120                }
  • uspace/lib/libc/generic/ipc.c

    r8df2eab rb61d47d  
    588588 * @param arg1          User defined argument.
    589589 * @param arg2          User defined argument.
     590 * @param arg3          User defined argument.
    590591 *
    591592 * @return              New phone handle on success or a negative error code.
    592593 */
    593 int ipc_connect_me_to(int phoneid, int arg1, int arg2)
     594int ipc_connect_me_to(int phoneid, int arg1, int arg2, int arg3)
    594595{
    595596        ipcarg_t newphid;
    596597        int res;
    597598
    598         res = ipc_call_sync_2_3(phoneid, IPC_M_CONNECT_ME_TO, arg1, arg2, NULL,
    599             NULL, &newphid);
     599        res = ipc_call_sync_3_5(phoneid, IPC_M_CONNECT_ME_TO, arg1, arg2, arg3,
     600                NULL, NULL, NULL, NULL, &newphid);
    600601        if (res)
    601602                return res;
     
    647648 * @param method        New method for the forwarded call.
    648649 * @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.
    649651 * @param mode          Flags specifying mode of the forward operation.
    650652 *
     
    652654 *
    653655 * 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
    655  * arg1 and arg2, respectivelly. Calls with immutable methods are forwarded
    656  * verbatim.
     656 * values. For system methods, the new method, arg1 and arg2 are written
     657 * to the old arg1, arg2 and arg3, respectivelly. Calls with immutable
     658 * methods are forwarded verbatim.
    657659 */
    658660int ipc_forward_fast(ipc_callid_t callid, int phoneid, int method,
    659     ipcarg_t arg1, int mode)
    660 {
    661         return __SYSCALL5(SYS_IPC_FORWARD_FAST, callid, phoneid, method, arg1,
    662             mode);
     661    ipcarg_t arg1, ipcarg_t arg2, int mode)
     662{
     663        return __SYSCALL6(SYS_IPC_FORWARD_FAST, callid, phoneid, method, arg1,
     664                arg2, mode);
    663665}
    664666
  • uspace/lib/libc/include/ipc/ipc.h

    r8df2eab rb61d47d  
    254254
    255255extern int ipc_connect_to_me(int phoneid, int arg1, int arg2, ipcarg_t *phone);
    256 extern int ipc_connect_me_to(int phoneid, int arg1, int arg2);
     256extern int ipc_connect_me_to(int phoneid, int arg1, int arg2, int arg3);
    257257extern int ipc_hangup(int phoneid);
    258258extern int ipc_register_irq(int inr, int devno, int method, irq_code_t *code);
    259259extern int ipc_unregister_irq(int inr, int devno);
    260260extern int ipc_forward_fast(ipc_callid_t callid, int phoneid, int method,
    261     ipcarg_t arg1, int mode);
     261    ipcarg_t arg1, ipcarg_t arg2, int mode);
    262262extern int ipc_data_send(int phoneid, void *src, size_t size);
    263263extern int ipc_data_receive(ipc_callid_t *callid, void **dst, size_t *size);
Note: See TracChangeset for help on using the changeset viewer.