Changeset 9b1baac in mainline for uspace/lib/c/generic/ns.c
- Timestamp:
- 2018-07-18T08:35:42Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0b05082
- Parents:
- edc64c0
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/ns.c
redc64c0 r9b1baac 46 46 static async_sess_t *sess_ns = NULL; 47 47 48 errno_t service_register(service_t service) 49 { 50 errno_t retval; 48 errno_t service_register(service_t service, iface_t iface, 49 async_port_handler_t handler, void *data) 50 { 51 async_sess_t *sess = ns_session_get(); 52 if (sess == NULL) 53 return EIO; 54 55 port_id_t port; 56 errno_t rc = async_create_port(iface, handler, data, &port); 57 if (rc != EOK) 58 return rc; 59 60 async_exch_t *exch = async_exchange_begin(sess); 61 51 62 ipc_call_t answer; 52 53 async_sess_t *sess = ns_session_get(); 54 if (sess == NULL) 55 return EIO; 56 57 async_exch_t *exch = async_exchange_begin(sess); 58 aid_t req = async_send_1(exch, NS_REGISTER, service, &answer); 59 errno_t rc = async_connect_to_me(exch, 0, service, 0); 63 aid_t req = async_send_2(exch, NS_REGISTER, service, iface, &answer); 64 rc = async_connect_to_me(exch, iface, service, 0); 60 65 61 66 async_exchange_end(exch); … … 66 71 } 67 72 73 errno_t retval; 74 async_wait_for(req, &retval); 75 return rc; 76 } 77 78 errno_t service_register_broker(service_t service, async_port_handler_t handler, 79 void *data) 80 { 81 async_set_fallback_port_handler(handler, data); 82 83 async_sess_t *sess = ns_session_get(); 84 if (sess == NULL) 85 return EIO; 86 87 async_exch_t *exch = async_exchange_begin(sess); 88 89 ipc_call_t answer; 90 aid_t req = async_send_1(exch, NS_REGISTER_BROKER, service, &answer); 91 errno_t rc = async_connect_to_me(exch, INTERFACE_ANY, service, 0); 92 93 async_exchange_end(exch); 94 95 if (rc != EOK) { 96 async_forget(req); 97 return rc; 98 } 99 100 errno_t retval; 68 101 async_wait_for(req, &retval); 69 102 return rc;
Note:
See TracChangeset
for help on using the changeset viewer.