Changeset e34e77a in mainline for uspace/lib/usb/include
- Timestamp:
- 2011-03-21T14:33:50Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1387692
- Parents:
- 68b5ed6e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usb/include/usb/host/device_keeper.h
r68b5ed6e re34e77a 31 31 */ 32 32 /** @file 33 * @brief UHCI driver 33 * Device keeper structure and functions. 34 * 35 * Typical USB host controller needs to keep track of various settings for 36 * each device that is connected to it. 37 * State of toggle bit, device speed etc. etc. 38 * This structure shall simplify the management. 34 39 */ 35 40 #ifndef LIBUSB_HOST_DEVICE_KEEPER_H … … 39 44 #include <usb/usb.h> 40 45 46 /** Number of USB address for array dimensions. */ 41 47 #define USB_ADDRESS_COUNT (USB11_ADDRESS_MAX + 1) 42 48 49 /** Information about attached USB device. */ 43 50 struct usb_device_info { 44 51 usb_speed_t speed; … … 48 55 }; 49 56 57 /** Host controller device keeper. 58 * You shall not access members directly but only using functions below. 59 */ 50 60 typedef struct { 51 61 struct usb_device_info devices[USB_ADDRESS_COUNT]; … … 57 67 void usb_device_keeper_init(usb_device_keeper_t *instance); 58 68 59 void usb_device_keeper_reserve_default_address( 60 usb_ device_keeper_t *instance, usb_speed_t speed);69 void usb_device_keeper_reserve_default_address(usb_device_keeper_t *instance, 70 usb_speed_t speed); 61 71 62 72 void usb_device_keeper_release_default_address(usb_device_keeper_t *instance); 63 73 64 void usb_device_keeper_reset_if_need( 65 usb_ device_keeper_t *instance, usb_target_t target,66 const u nsigned char*setup_data);74 void usb_device_keeper_reset_if_need(usb_device_keeper_t *instance, 75 usb_target_t target, 76 const uint8_t *setup_data); 67 77 68 int usb_device_keeper_get_toggle( 69 usb_ device_keeper_t *instance, usb_target_t target, usb_direction_t direction);78 int usb_device_keeper_get_toggle(usb_device_keeper_t *instance, 79 usb_target_t target, usb_direction_t direction); 70 80 71 81 int usb_device_keeper_set_toggle(usb_device_keeper_t *instance, 72 82 usb_target_t target, usb_direction_t direction, bool toggle); 73 83 74 usb_address_t device_keeper_get_free_address( 75 usb_ device_keeper_t *instance, usb_speed_t speed);84 usb_address_t device_keeper_get_free_address(usb_device_keeper_t *instance, 85 usb_speed_t speed); 76 86 77 void usb_device_keeper_bind( 78 usb_ device_keeper_t *instance, usb_address_t address, devman_handle_t handle);87 void usb_device_keeper_bind(usb_device_keeper_t *instance, 88 usb_address_t address, devman_handle_t handle); 79 89 80 void usb_device_keeper_release(usb_device_keeper_t *instance, usb_address_t address); 90 void usb_device_keeper_release(usb_device_keeper_t *instance, 91 usb_address_t address); 81 92 82 usb_address_t usb_device_keeper_find( 83 usb_device_keeper_t *instance,devman_handle_t handle);93 usb_address_t usb_device_keeper_find(usb_device_keeper_t *instance, 94 devman_handle_t handle); 84 95 85 usb_speed_t usb_device_keeper_get_speed( 86 usb_device_keeper_t *instance, usb_address_t address); 96 usb_speed_t usb_device_keeper_get_speed(usb_device_keeper_t *instance, 97 usb_address_t address); 98 87 99 #endif 88 100 /**
Note:
See TracChangeset
for help on using the changeset viewer.