Changeset d93f5afb in mainline for uspace/lib/usbdev/src/pipes.c
- Timestamp:
- 2013-08-02T15:59:51Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- dcbda00
- Parents:
- 3969a42
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbdev/src/pipes.c
r3969a42 rd93f5afb 38 38 #include <assert.h> 39 39 40 /** Prepare pipe for a long transfer.41 *42 * Long transfer is transfer consisting of several requests to the HC.43 * Calling this function is optional and it has positive effect of44 * improved performance because IPC session is initiated only once.45 *46 * @param pipe Pipe over which the transfer will happen.47 * @return Error code.48 */49 int usb_pipe_start_long_transfer(usb_pipe_t *pipe)50 {51 assert(pipe);52 assert(pipe->wire);53 assert(pipe->wire->hc_connection);54 return usb_hc_connection_open(pipe->wire->hc_connection);55 }56 57 /** Terminate a long transfer on a pipe.58 * @param pipe Pipe where to end the long transfer.59 * @return Error code.60 * @see usb_pipe_start_long_transfer61 */62 int usb_pipe_end_long_transfer(usb_pipe_t *pipe)63 {64 assert(pipe);65 assert(pipe->wire);66 assert(pipe->wire->hc_connection);67 return usb_hc_connection_close(pipe->wire->hc_connection);68 }69 70 40 /** Try to clear endpoint halt of default control pipe. 71 41 * … … 271 241 * 272 242 * @param pipe Endpoint pipe to be initialized. 273 * @param connection Connection to the USB device backing this pipe (the wire).274 243 * @param endpoint_no Endpoint number (in USB 1.1 in range 0 to 15). 275 244 * @param transfer_type Transfer type (e.g. interrupt or bulk). … … 278 247 * @return Error code. 279 248 */ 280 int usb_pipe_initialize(usb_pipe_t *pipe, 281 usb_device_connection_t *connection, usb_endpoint_t endpoint_no, 249 int usb_pipe_initialize(usb_pipe_t *pipe, usb_endpoint_t endpoint_no, 282 250 usb_transfer_type_t transfer_type, size_t max_packet_size, 283 251 usb_direction_t direction, usb_dev_session_t *bus_session) 284 252 { 285 253 assert(pipe); 286 assert(connection); 287 288 pipe->wire = connection; 254 289 255 pipe->endpoint_no = endpoint_no; 290 256 pipe->transfer_type = transfer_type; … … 300 266 * 301 267 * @param pipe Endpoint pipe to be initialized. 302 * @param connection Connection to the USB device backing this pipe (the wire).303 268 * @return Error code. 304 269 */ 305 270 int usb_pipe_initialize_default_control(usb_pipe_t *pipe, 306 usb_device_connection_t *connection, usb_dev_session_t *bus_session) 307 { 308 assert(pipe); 309 assert(connection); 310 311 int rc = usb_pipe_initialize(pipe, connection, 0, USB_TRANSFER_CONTROL, 271 usb_dev_session_t *bus_session) 272 { 273 assert(pipe); 274 275 const int rc = usb_pipe_initialize(pipe, 0, USB_TRANSFER_CONTROL, 312 276 CTRL_PIPE_MIN_PACKET_SIZE, USB_DIRECTION_BOTH, bus_session); 313 277
Note:
See TracChangeset
for help on using the changeset viewer.