Changeset 81c0854f in mainline for uspace/lib
- Timestamp:
- 2011-01-28T12:41:33Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- ba5ab09
- Parents:
- c2020f7 (diff), ea6a824 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- uspace/lib
- Files:
-
- 42 edited
-
c/generic/stats.c (modified) (11 diffs)
-
c/generic/sysinfo.c (modified) (1 diff)
-
drv/generic/remote_usbhc.c (modified) (2 diffs)
-
drv/include/usb_iface.h (modified) (1 diff)
-
drv/include/usbhc_iface.h (modified) (1 diff)
-
usb/include/usb/classes/classes.h (modified) (1 diff)
-
usb/include/usb/classes/hid.h (modified) (1 diff)
-
usb/include/usb/classes/hidparser.h (modified) (1 diff)
-
usb/include/usb/classes/hidut.h (modified) (1 diff)
-
usb/include/usb/classes/hidutkbd.h (modified) (1 diff)
-
usb/include/usb/classes/hub.h (modified) (2 diffs)
-
usb/include/usb/debug.h (modified) (2 diffs)
-
usb/include/usb/descriptor.h (modified) (1 diff)
-
usb/include/usb/devreq.h (modified) (1 diff)
-
usb/include/usb/hcd.h (modified) (2 diffs)
-
usb/include/usb/hcdhubd.h (modified) (1 diff)
-
usb/include/usb/usb.h (modified) (1 diff)
-
usb/include/usb/usbdrv.h (modified) (1 diff)
-
usb/src/addrkeep.c (modified) (1 diff)
-
usb/src/class.c (modified) (1 diff)
-
usb/src/debug.c (modified) (1 diff)
-
usb/src/dp.c (modified) (1 diff)
-
usb/src/drvpsync.c (modified) (1 diff)
-
usb/src/hcdhubd.c (modified) (1 diff)
-
usb/src/hcdhubd_private.h (modified) (1 diff)
-
usb/src/hcdrv.c (modified) (1 diff)
-
usb/src/hidparser.c (modified) (1 diff)
-
usb/src/localdrv.c (modified) (1 diff)
-
usb/src/recognise.c (modified) (4 diffs)
-
usb/src/remotedrv.c (modified) (1 diff)
-
usb/src/usb.c (modified) (1 diff)
-
usb/src/usbdrv.c (modified) (1 diff)
-
usb/src/usbdrvreq.c (modified) (2 diffs)
-
usbvirt/include/usbvirt/device.h (modified) (1 diff)
-
usbvirt/include/usbvirt/hub.h (modified) (1 diff)
-
usbvirt/src/callback.c (modified) (1 diff)
-
usbvirt/src/ctrlpipe.c (modified) (1 diff)
-
usbvirt/src/debug.c (modified) (1 diff)
-
usbvirt/src/main.c (modified) (2 diffs)
-
usbvirt/src/private.h (modified) (1 diff)
-
usbvirt/src/stdreq.c (modified) (1 diff)
-
usbvirt/src/transaction.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/stats.c
rc2020f7 r81c0854f 36 36 #include <stats.h> 37 37 #include <sysinfo.h> 38 #include <assert.h>39 38 #include <errno.h> 40 39 #include <stdio.h> 41 40 #include <inttypes.h> 41 #include <malloc.h> 42 42 43 43 #define SYSINFO_STATS_MAX_PATH 64 … … 71 71 (stats_cpu_t *) sysinfo_get_data("system.cpus", &size); 72 72 73 assert((size % sizeof(stats_cpu_t)) == 0); 73 if ((size % sizeof(stats_cpu_t)) != 0) { 74 if (stats_cpus != NULL) 75 free(stats_cpus); 76 *count = 0; 77 return NULL; 78 } 74 79 75 80 *count = size / sizeof(stats_cpu_t); … … 91 96 (stats_physmem_t *) sysinfo_get_data("system.physmem", &size); 92 97 93 assert((size == sizeof(stats_physmem_t)) || (size == 0)); 98 if (size != sizeof(stats_physmem_t)) { 99 if (stats_physmem != NULL) 100 free(stats_physmem); 101 return NULL; 102 } 94 103 95 104 return stats_physmem; … … 111 120 (stats_task_t *) sysinfo_get_data("system.tasks", &size); 112 121 113 assert((size % sizeof(stats_task_t)) == 0); 122 if ((size % sizeof(stats_task_t)) != 0) { 123 if (stats_tasks != NULL) 124 free(stats_tasks); 125 *count = 0; 126 return NULL; 127 } 114 128 115 129 *count = size / sizeof(stats_task_t); … … 135 149 (stats_task_t *) sysinfo_get_data(name, &size); 136 150 137 assert((size == sizeof(stats_task_t)) || (size == 0)); 151 if (size != sizeof(stats_task_t)) { 152 if (stats_task != NULL) 153 free(stats_task); 154 return NULL; 155 } 138 156 139 157 return stats_task; … … 155 173 (stats_thread_t *) sysinfo_get_data("system.threads", &size); 156 174 157 assert((size % sizeof(stats_thread_t)) == 0); 175 if ((size % sizeof(stats_thread_t)) != 0) { 176 if (stats_threads != NULL) 177 free(stats_threads); 178 *count = 0; 179 return NULL; 180 } 158 181 159 182 *count = size / sizeof(stats_thread_t); … … 179 202 (stats_thread_t *) sysinfo_get_data(name, &size); 180 203 181 assert((size == sizeof(stats_thread_t)) || (size == 0)); 204 if (size != sizeof(stats_thread_t)) { 205 if (stats_thread != NULL) 206 free(stats_thread); 207 return NULL; 208 } 182 209 183 210 return stats_thread; … … 199 226 (stats_exc_t *) sysinfo_get_data("system.exceptions", &size); 200 227 201 assert((size % sizeof(stats_exc_t)) == 0); 228 if ((size % sizeof(stats_exc_t)) != 0) { 229 if (stats_exceptions != NULL) 230 free(stats_exceptions); 231 *count = 0; 232 return NULL; 233 } 202 234 203 235 *count = size / sizeof(stats_exc_t); … … 217 249 { 218 250 char name[SYSINFO_STATS_MAX_PATH]; 219 snprintf(name, SYSINFO_STATS_MAX_PATH, "system.exceptions s.%u", excn);251 snprintf(name, SYSINFO_STATS_MAX_PATH, "system.exceptions.%u", excn); 220 252 221 253 size_t size = 0; … … 223 255 (stats_exc_t *) sysinfo_get_data(name, &size); 224 256 225 assert((size == sizeof(stats_exc_t)) || (size == 0)); 257 if (size != sizeof(stats_exc_t)) { 258 if (stats_exception != NULL) 259 free(stats_exception); 260 return NULL; 261 } 226 262 227 263 return stats_exception; … … 243 279 (load_t *) sysinfo_get_data("system.load", &size); 244 280 245 assert((size % sizeof(load_t)) == 0); 281 if ((size % sizeof(load_t)) != 0) { 282 if (load != NULL) 283 free(load); 284 *count = 0; 285 return NULL; 286 } 246 287 247 288 *count = size / sizeof(load_t); -
uspace/lib/c/generic/sysinfo.c
rc2020f7 r81c0854f 96 96 void *sysinfo_get_data(const char *path, size_t *size) 97 97 { 98 /* The binary data size might change during time. 99 Unfortunatelly we cannot allocate the buffer 100 and transfer the data as a single atomic operation. 98 /* 99 * The binary data size might change during time. 100 * Unfortunatelly we cannot allocate the buffer 101 * and transfer the data as a single atomic operation. 102 */ 101 103 102 Let's hope that the number of iterations is bounded 103 in common cases. */ 104 105 void *data = NULL; 106 107 while (true) { 108 /* Get the binary data size */ 109 int ret = sysinfo_get_data_size(path, size); 110 if ((ret != EOK) || (size == 0)) { 111 /* Not a binary data item 112 or an empty item */ 113 break; 114 } 115 116 data = realloc(data, *size); 117 if (data == NULL) 118 break; 119 120 /* Get the data */ 121 ret = __SYSCALL4(SYS_SYSINFO_GET_DATA, (sysarg_t) path, 122 (sysarg_t) str_size(path), (sysarg_t) data, (sysarg_t) *size); 123 if (ret == EOK) 124 return data; 125 126 if (ret != ENOMEM) { 127 /* The failure to get the data was not caused 128 by wrong buffer size */ 129 break; 130 } 104 /* Get the binary data size */ 105 int ret = sysinfo_get_data_size(path, size); 106 if ((ret != EOK) || (size == 0)) { 107 /* 108 * Not a binary data item 109 * or an empty item. 110 */ 111 *size = 0; 112 return NULL; 131 113 } 132 114 133 if (data != NULL) 134 free(data); 115 void *data = malloc(*size); 116 if (data == NULL) { 117 *size = 0; 118 return NULL; 119 } 135 120 121 /* Get the data */ 122 size_t sz; 123 ret = __SYSCALL5(SYS_SYSINFO_GET_DATA, (sysarg_t) path, 124 (sysarg_t) str_size(path), (sysarg_t) data, (sysarg_t) *size, 125 (sysarg_t) &sz); 126 if (ret == EOK) { 127 *size = sz; 128 return data; 129 } 130 131 free(data); 136 132 *size = 0; 137 133 return NULL; -
uspace/lib/drv/generic/remote_usbhc.c
rc2020f7 r81c0854f 243 243 244 244 // FIXME - answer according to outcome 245 ipc_answer_0(trans->caller, EOK);245 ipc_answer_0(trans->caller, outcome); 246 246 247 247 free(trans); … … 254 254 255 255 // FIXME - answer according to outcome 256 ipc_answer_1(trans->caller, EOK, (sysarg_t)trans);256 ipc_answer_1(trans->caller, outcome, (sysarg_t)trans); 257 257 258 258 trans->size = actual_size; -
uspace/lib/drv/include/usb_iface.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libdrv usb 29 /** @addtogroup libdrv 30 * @addtogroup usb 30 31 * @{ 31 32 */ -
uspace/lib/drv/include/usbhc_iface.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libdrv usb 29 /** @addtogroup libdrv 30 * @addtogroup usb 30 31 * @{ 31 32 */ -
uspace/lib/usb/include/usb/classes/classes.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/include/usb/classes/hid.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/include/usb/classes/hidparser.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/include/usb/classes/hidut.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/include/usb/classes/hidutkbd.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/include/usb/classes/hub.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ … … 68 68 * For more information see Universal Serial Bus Specification Revision 1.1 chapter 11.16.2 69 69 */ 70 typedef struct hub_descriptor_type{70 typedef struct usb_hub_descriptor_type { 71 71 /** Number of bytes in this descriptor, including this byte */ 72 72 //uint8_t bDescLength; -
uspace/lib/usb/include/usb/debug.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ … … 45 45 46 46 #endif 47 /** 48 * @} 49 */ 50 -
uspace/lib/usb/include/usb/descriptor.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/include/usb/devreq.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/include/usb/hcd.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ … … 81 81 devman_handle_t); 82 82 83 84 83 #endif 84 /** 85 * @} 86 */ -
uspace/lib/usb/include/usb/hcdhubd.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/include/usb/usb.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/include/usb/usbdrv.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/addrkeep.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/class.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/debug.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/dp.c
rc2020f7 r81c0854f 45 45 * @param data Parser data. 46 46 * @param ptr Pointer to be verified. 47 * @return Whether @p tr points inside <code>data->data</code> field.47 * @return Whether @p ptr points inside <code>data->data</code> field. 48 48 */ 49 49 static bool is_valid_descriptor_pointer(usb_dp_parser_data_t *data, -
uspace/lib/usb/src/drvpsync.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/hcdhubd.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/hcdhubd_private.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/hcdrv.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/hidparser.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/localdrv.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/recognise.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ … … 39 39 #include <errno.h> 40 40 41 /** Callback for getting host controller handle. 42 * 43 * @param dev Device in question. 44 * @param[out] handle Devman handle of the host controller. 45 * @return Error code. 46 */ 41 47 static int usb_iface_get_hc_handle(device_t *dev, devman_handle_t *handle) 42 48 { … … 237 243 * @param matches Match ids list to add matches to. 238 244 * @param address USB address of the attached device. 245 * @param config_count Number of configurations the device has. 239 246 * @return Error code. 240 247 */ … … 342 349 /** Probe for device kind and register it in devman. 343 350 * 344 * @param hc Open phone to the host controller. 345 * @param parent Parent device. 346 * @param address Address of the (unknown) attached device. 351 * @param[in] hc Open phone to the host controller. 352 * @param[in] parent Parent device. 353 * @param[in] address Address of the (unknown) attached device. 354 * @param[out] child_handle Handle of the child device. 347 355 * @return Error code. 348 356 */ -
uspace/lib/usb/src/remotedrv.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/usb.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/usbdrv.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/usbdrvreq.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ … … 188 188 * @param[in] phone Open phone to HC driver. 189 189 * @param[in] old_address Current address. 190 * @param[in] address Address to be set.190 * @param[in] new_address Address to be set. 191 191 * @return Error code. 192 192 */ -
uspace/lib/usbvirt/include/usbvirt/device.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusbvirt usb29 /** @addtogroup libusbvirt 30 30 * @{ 31 31 */ -
uspace/lib/usbvirt/include/usbvirt/hub.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusbvirt usb29 /** @addtogroup libusbvirt 30 30 * @{ 31 31 */ -
uspace/lib/usbvirt/src/callback.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusbvirt usb29 /** @addtogroup libusbvirt 30 30 * @{ 31 31 */ -
uspace/lib/usbvirt/src/ctrlpipe.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusbvirt usb29 /** @addtogroup libusbvirt 30 30 * @{ 31 31 */ -
uspace/lib/usbvirt/src/debug.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusbvirt usb29 /** @addtogroup libusbvirt 30 30 * @{ 31 31 */ -
uspace/lib/usbvirt/src/main.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusbvirt usb29 /** @addtogroup libusbvirt 30 30 * @{ 31 31 */ … … 183 183 /** Create necessary phones for communication with virtual HCD. 184 184 * This function wraps following calls: 185 * -# open <code>/dev/devices/\\virt\\usbhc for reading185 * -# open <code>/dev/devices/\\virt\\usbhc</code> for reading 186 186 * -# access phone of file opened in previous step 187 187 * -# create callback through just opened phone -
uspace/lib/usbvirt/src/private.h
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusbvirt usb29 /** @addtogroup libusbvirt 30 30 * @{ 31 31 */ -
uspace/lib/usbvirt/src/stdreq.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusbvirt usb29 /** @addtogroup libusbvirt 30 30 * @{ 31 31 */ -
uspace/lib/usbvirt/src/transaction.c
rc2020f7 r81c0854f 27 27 */ 28 28 29 /** @addtogroup libusbvirt usb29 /** @addtogroup libusbvirt 30 30 * @{ 31 31 */
Note:
See TracChangeset
for help on using the changeset viewer.
