Changes in uspace/srv/ns/ns.c [a47f522:9cfbf2f] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/ns/ns.c

    ra47f522 r9cfbf2f  
    3838#include <ipc/ipc.h>
    3939#include <ipc/ns.h>
     40#include <ipc/services.h>
     41#include <abi/ipc/interfaces.h>
    4042#include <stdio.h>
    4143#include <errno.h>
     
    6668        while (true) {
    6769                process_pending_conn();
    68                 process_pending_wait();
    6970               
    7071                ipc_call_t call;
     
    7475                sysarg_t retval;
    7576               
     77                iface_t iface;
     78                service_t service;
     79                sysarg_t phone;
     80               
    7681                switch (IPC_GET_IMETHOD(call)) {
    7782                case IPC_M_PHONE_HUNGUP:
     
    7984                        break;
    8085                case IPC_M_CONNECT_TO_ME:
     86                        service = IPC_GET_ARG2(call);
     87                        phone = IPC_GET_ARG5(call);
     88                       
    8189                        /*
    8290                         * Server requests service registration.
    8391                         */
    84                         if (service_clonable(IPC_GET_ARG1(call))) {
    85                                 register_clonable(IPC_GET_ARG1(call),
    86                                     IPC_GET_ARG5(call), &call, callid);
     92                        if (service_clonable(service)) {
     93                                register_clonable(service, phone, &call, callid);
    8794                                continue;
    88                         } else {
    89                                 retval = register_service(IPC_GET_ARG1(call),
    90                                     IPC_GET_ARG5(call), &call);
    91                         }
     95                        } else
     96                                retval = register_service(service, phone, &call);
     97                       
    9298                        break;
    9399                case IPC_M_CONNECT_ME_TO:
     100                        iface = IPC_GET_ARG1(call);
     101                        service = IPC_GET_ARG2(call);
     102                       
    94103                        /*
    95104                         * Client requests to be connected to a service.
    96105                         */
    97                         if (service_clonable(IPC_GET_ARG1(call))) {
    98                                 connect_to_clonable(IPC_GET_ARG1(call),
    99                                     &call, callid);
     106                        if (service_clonable(service)) {
     107                                connect_to_clonable(service, iface, &call, callid);
    100108                                continue;
    101109                        } else {
    102                                 connect_to_service(IPC_GET_ARG1(call), &call,
    103                                     callid);
     110                                connect_to_service(service, iface, &call, callid);
    104111                                continue;
    105112                        }
Note: See TracChangeset for help on using the changeset viewer.