Changeset 7969087 in mainline for uspace/lib/c
- Timestamp:
- 2013-09-11T10:35:49Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 43dd8028
- Parents:
- e5556e4a
- Location:
- uspace/lib/c
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/devman.c
re5556e4a r7969087 598 598 } 599 599 600 int devman_driver_get_handle(const char *drvname, devman_handle_t *handle) 601 { 602 async_exch_t *exch; 603 604 exch = devman_exchange_begin(DEVMAN_CLIENT); 605 if (exch == NULL) 606 return ENOMEM; 607 608 ipc_call_t answer; 609 aid_t req = async_send_0(exch, DEVMAN_DRIVER_GET_HANDLE, &answer); 610 sysarg_t retval = async_data_write_start(exch, drvname, 611 str_size(drvname)); 612 613 devman_exchange_end(exch); 614 615 if (retval != EOK) { 616 async_forget(req); 617 return retval; 618 } 619 620 async_wait_for(req, &retval); 621 622 if (retval != EOK) { 623 if (handle != NULL) 624 *handle = (devman_handle_t) -1; 625 626 return retval; 627 } 628 629 if (handle != NULL) 630 *handle = (devman_handle_t) IPC_GET_ARG1(answer); 631 632 return retval; 633 } 634 600 635 int devman_driver_get_name(devman_handle_t handle, char *buf, size_t buf_size) 601 636 { … … 622 657 } 623 658 659 int devman_driver_load(devman_handle_t drvh) 660 { 661 async_exch_t *exch = devman_exchange_begin(DEVMAN_CLIENT); 662 if (exch == NULL) 663 return ENOMEM; 664 665 int rc = async_req_1_0(exch, DEVMAN_DRIVER_LOAD, drvh); 666 667 devman_exchange_end(exch); 668 return rc; 669 } 670 624 671 /** @} 625 672 */ -
uspace/lib/c/include/devman.h
re5556e4a r7969087 72 72 extern int devman_fun_sid_to_handle(service_id_t, devman_handle_t *); 73 73 extern int devman_get_drivers(devman_handle_t **, size_t *); 74 extern int devman_driver_get_handle(const char *, devman_handle_t *); 74 75 extern int devman_driver_get_name(devman_handle_t, char *, size_t); 75 76 extern int devman_driver_get_state(devman_handle_t, driver_state_t *); 77 extern int devman_driver_load(devman_handle_t); 76 78 77 79 #endif -
uspace/lib/c/include/ipc/devman.h
re5556e4a r7969087 177 177 DEVMAN_FUN_SID_TO_HANDLE, 178 178 DEVMAN_GET_DRIVERS, 179 DEVMAN_DRIVER_GET_HANDLE, 179 180 DEVMAN_DRIVER_GET_NAME, 180 DEVMAN_DRIVER_GET_STATE 181 DEVMAN_DRIVER_GET_STATE, 182 DEVMAN_DRIVER_LOAD 181 183 } client_to_devman_t; 182 184
Note:
See TracChangeset
for help on using the changeset viewer.