Changes in uspace/srv/ns/ns.c [1c635d6:9cfbf2f] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/ns/ns.c
r1c635d6 r9cfbf2f 38 38 #include <ipc/ipc.h> 39 39 #include <ipc/ns.h> 40 #include <ipc/services.h> 41 #include <abi/ipc/interfaces.h> 40 42 #include <stdio.h> 41 43 #include <errno.h> … … 73 75 sysarg_t retval; 74 76 77 iface_t iface; 78 service_t service; 79 sysarg_t phone; 80 75 81 switch (IPC_GET_IMETHOD(call)) { 76 82 case IPC_M_PHONE_HUNGUP: … … 78 84 break; 79 85 case IPC_M_CONNECT_TO_ME: 86 service = IPC_GET_ARG2(call); 87 phone = IPC_GET_ARG5(call); 88 80 89 /* 81 90 * Server requests service registration. 82 91 */ 83 if (service_clonable(IPC_GET_ARG1(call))) { 84 register_clonable(IPC_GET_ARG1(call), 85 IPC_GET_ARG5(call), &call, callid); 92 if (service_clonable(service)) { 93 register_clonable(service, phone, &call, callid); 86 94 continue; 87 } else { 88 retval = register_service(IPC_GET_ARG1(call), 89 IPC_GET_ARG5(call), &call); 90 } 95 } else 96 retval = register_service(service, phone, &call); 97 91 98 break; 92 99 case IPC_M_CONNECT_ME_TO: 100 iface = IPC_GET_ARG1(call); 101 service = IPC_GET_ARG2(call); 102 93 103 /* 94 104 * Client requests to be connected to a service. 95 105 */ 96 if (service_clonable(IPC_GET_ARG1(call))) { 97 connect_to_clonable(IPC_GET_ARG1(call), 98 &call, callid); 106 if (service_clonable(service)) { 107 connect_to_clonable(service, iface, &call, callid); 99 108 continue; 100 109 } else { 101 connect_to_service(IPC_GET_ARG1(call), &call, 102 callid); 110 connect_to_service(service, iface, &call, callid); 103 111 continue; 104 112 }
Note:
See TracChangeset
for help on using the changeset viewer.