Changeset d082801 in mainline for uspace/lib/device/src/hr.c
- Timestamp:
- 2025-03-29T14:04:37Z (4 months ago)
- Children:
- 746e636
- Parents:
- 1a28518
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/device/src/hr.c
r1a28518 rd082801 1 1 /* 2 * Copyright (c) 202 4Miroslav Cimerman2 * Copyright (c) 2025 Miroslav Cimerman 3 3 * All rights reserved. 4 4 * … … 88 88 } 89 89 90 errno_t hr_create(hr_t *hr, hr_config_t *hr_config , bool assemble)90 errno_t hr_create(hr_t *hr, hr_config_t *hr_config) 91 91 { 92 92 errno_t rc, retval; … … 98 98 return EINVAL; 99 99 100 req = async_send_0(exch, assemble ? HR_ASSEMBLE :HR_CREATE, NULL);100 req = async_send_0(exch, HR_CREATE, NULL); 101 101 102 102 rc = async_data_write_start(exch, hr_config, sizeof(hr_config_t)); … … 113 113 114 114 return EOK; 115 } 116 117 errno_t hr_assemble(hr_t *hr, hr_config_t *hr_config, size_t *rassembled_cnt) 118 { 119 errno_t rc; 120 async_exch_t *exch; 121 aid_t req; 122 size_t assembled_cnt; 123 124 exch = async_exchange_begin(hr->sess); 125 if (exch == NULL) 126 return EINVAL; 127 128 req = async_send_0(exch, HR_ASSEMBLE, NULL); 129 130 rc = async_data_write_start(exch, hr_config, sizeof(hr_config_t)); 131 if (rc != EOK) { 132 async_exchange_end(exch); 133 async_forget(req); 134 return rc; 135 } 136 137 rc = async_data_read_start(exch, &assembled_cnt, sizeof(size_t)); 138 if (rc != EOK) { 139 async_exchange_end(exch); 140 async_forget(req); 141 return rc; 142 } 143 144 async_exchange_end(exch); 145 async_wait_for(req, &rc); 146 147 if (rassembled_cnt != NULL) 148 *rassembled_cnt = assembled_cnt; 149 150 return rc; 115 151 } 116 152
Note:
See TracChangeset
for help on using the changeset viewer.