Changeset 1db5669 in mainline for uspace/srv/devman/driver.c
- Timestamp:
- 2013-09-11T12:35:55Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 48bd6f4, 4c9b28a
- Parents:
- cd3b380
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/devman/driver.c
rcd3b380 r1db5669 729 729 } 730 730 731 /** Get list of device functions. */ 732 int driver_get_devices(driver_t *driver, devman_handle_t *hdl_buf, 733 size_t buf_size, size_t *act_size) 734 { 735 size_t act_cnt; 736 size_t buf_cnt; 737 738 fibril_mutex_lock(&driver->driver_mutex); 739 740 buf_cnt = buf_size / sizeof(devman_handle_t); 741 742 act_cnt = list_count(&driver->devices); 743 *act_size = act_cnt * sizeof(devman_handle_t); 744 745 if (buf_size % sizeof(devman_handle_t) != 0) { 746 fibril_mutex_unlock(&driver->driver_mutex); 747 return EINVAL; 748 } 749 750 size_t pos = 0; 751 list_foreach(driver->devices, driver_devices, dev_node_t, dev) { 752 if (pos < buf_cnt) { 753 hdl_buf[pos] = dev->handle; 754 } 755 756 pos++; 757 } 758 759 fibril_mutex_unlock(&driver->driver_mutex); 760 return EOK; 761 } 762 731 763 /** @} 732 764 */
Note:
See TracChangeset
for help on using the changeset viewer.