Changeset 1d1f894 in mainline for uspace/lib/usb/hcd.h
- Timestamp:
- 2010-11-03T15:05:41Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- d70a463
- Parents:
- af894a21
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usb/hcd.h
raf894a21 r1d1f894 133 133 * OUT transactions buffers can be freed immediatelly after call is dispatched 134 134 * (i.e. after return from wrapping function). 135 * 136 * Async methods for retrieving data from device: 137 */ 138 typedef enum { 139 /** Send data over USB to a function. 140 * This method initializes large data transfer that must follow 141 * immediatelly. 142 * The recipient of this method must issue immediately data reception 143 * and answer this call after data buffer was transfered. 144 * 145 * Arguments of the call: 146 * - USB address of the function 147 * - endpoint of the function 148 * - transfer type 149 * - flags (not used) 150 * 151 * Answer: 152 * - EOK - ready to accept the data buffer 153 * - ELIMIT - too many transactions for current connection 154 * - ENOENT - callback connection does not exist 155 * - EINVAL - other kind of error 156 * 157 * Arguments of the answer: 158 * - opaque transaction handle (used in callbacks) 159 */ 160 IPC_M_USB_HCD_SEND_DATA = IPC_FIRST_USER_METHOD, 161 162 /** Initiate data receive from a function. 163 * This method announces the HCD that some data will come. 164 * When this data arrives, the HCD will call back with 165 * IPC_M_USB_HCD_DATA_RECEIVED. 166 * 167 * Arguments of the call: 168 * - USB address of the function 169 * - endpoint of the function 170 * - transfer type 171 * - buffer size 172 * - flags (not used) 173 * 174 * Answer: 175 * - EOK - HCD accepted the request 176 * - ELIMIT - too many transactions for current connection 177 * - ENOENT - callback connection does not exist 178 * 179 * Arguments of the answer: 180 * - opaque transaction handle (used in callbacks) 181 */ 182 IPC_M_USB_HCD_RECEIVE_DATA, 183 135 * 136 */ 137 typedef enum { 184 138 /** Tell maximum size of the transaction buffer (payload). 185 139 * … … 193 147 * - buffer size (in bytes): 194 148 */ 195 IPC_M_USB_HCD_TRANSACTION_SIZE, 196 197 198 IPC_M_USB_HCD_INTERRUPT_OUT, 199 IPC_M_USB_HCD_INTERRUPT_IN, 200 201 IPC_M_USB_HCD_CONTROL_WRITE_SETUP, 202 IPC_M_USB_HCD_CONTROL_WRITE_DATA, 203 IPC_M_USB_HCD_CONTROL_WRITE_STATUS, 204 205 IPC_M_USB_HCD_CONTROL_READ_SETUP, 206 IPC_M_USB_HCD_CONTROL_READ_DATA, 207 IPC_M_USB_HCD_CONTROL_READ_STATUS, 208 209 /* async methods */ 149 IPC_M_USB_HCD_TRANSACTION_SIZE = IPC_FIRST_USER_METHOD, 210 150 211 151 /** Asks for data buffer. … … 293 233 294 234 295 int usb_hcd_create_phones(const char *, async_client_conn_t); 296 int usb_hcd_send_data_to_function(int, usb_target_t, usb_transfer_type_t, 297 void *, size_t, usb_transaction_handle_t *); 298 int usb_hcd_prepare_data_reception(int, usb_target_t, usb_transfer_type_t, 299 size_t, usb_transaction_handle_t *); 300 301 302 int usb_hcd_transfer_interrupt_out(int, usb_target_t, 303 void *, size_t, usb_transaction_handle_t *); 304 int usb_hcd_transfer_interrupt_in(int, usb_target_t, 305 size_t, usb_transaction_handle_t *); 306 307 int usb_hcd_transfer_control_write_setup(int, usb_target_t, 308 void *, size_t, usb_transaction_handle_t *); 309 int usb_hcd_transfer_control_write_data(int, usb_target_t, 310 void *, size_t, usb_transaction_handle_t *); 311 int usb_hcd_transfer_control_write_status(int, usb_target_t, 312 usb_transaction_handle_t *); 313 314 int usb_hcd_transfer_control_read_setup(int, usb_target_t, 315 void *, size_t, usb_transaction_handle_t *); 316 int usb_hcd_transfer_control_read_data(int, usb_target_t, 317 size_t, usb_transaction_handle_t *); 318 int usb_hcd_transfer_control_read_status(int, usb_target_t, 319 usb_transaction_handle_t *); 235 int usb_hcd_connect(const char *); 320 236 321 237 int usb_hcd_async_transfer_interrupt_out(int, usb_target_t,
Note:
See TracChangeset
for help on using the changeset viewer.