Changeset d017cea in mainline for uspace/lib/usb
- Timestamp:
- 2011-04-12T10:09:56Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 508a0ca
- Parents:
- f13381b
- Location:
- uspace/lib/usb
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usb/include/usb/host/batch.h
rf13381b rd017cea 43 43 typedef struct usb_transfer_batch usb_transfer_batch_t; 44 44 struct usb_transfer_batch { 45 endpoint_t *ep; 45 46 link_t link; 46 usb_target_t target;47 usb_transfer_type_t transfer_type;48 usb_speed_t speed;49 usb_direction_t direction;50 47 usbhc_iface_transfer_in_callback_t callback_in; 51 48 usbhc_iface_transfer_out_callback_t callback_out; 49 void *arg; 52 50 char *buffer; 53 char * transport_buffer;51 char *data_buffer; 54 52 size_t buffer_size; 55 53 char *setup_buffer; 56 54 size_t setup_size; 57 size_t max_packet_size;58 55 size_t transfered_size; 59 56 void (*next_step)(usb_transfer_batch_t *); 60 57 int error; 61 58 ddf_fun_t *fun; 62 void *arg;63 endpoint_t *ep;64 59 void *private_data; 65 60 }; … … 67 62 void usb_transfer_batch_init( 68 63 usb_transfer_batch_t *instance, 69 usb_target_t target, 70 usb_transfer_type_t transfer_type, 71 usb_speed_t speed, 72 size_t max_packet_size, 64 endpoint_t *ep, 73 65 char *buffer, 74 char * transport_buffer,66 char *data_buffer, 75 67 size_t buffer_size, 76 68 char *setup_buffer, … … 80 72 void *arg, 81 73 ddf_fun_t *fun, 82 endpoint_t *ep,83 74 void *private_data 84 75 ); -
uspace/lib/usb/src/host/batch.c
rf13381b rd017cea 41 41 void usb_transfer_batch_init( 42 42 usb_transfer_batch_t *instance, 43 usb_target_t target, 44 usb_transfer_type_t transfer_type, 45 usb_speed_t speed, 46 size_t max_packet_size, 43 endpoint_t *ep, 47 44 char *buffer, 48 char * transport_buffer,45 char *data_buffer, 49 46 size_t buffer_size, 50 47 char *setup_buffer, … … 54 51 void *arg, 55 52 ddf_fun_t *fun, 56 endpoint_t *ep,57 53 void *private_data 58 54 ) … … 60 56 assert(instance); 61 57 link_initialize(&instance->link); 62 instance->target = target; 63 instance->transfer_type = transfer_type; 64 instance->speed = speed; 65 instance->direction = ep->direction; 58 instance->ep = ep; 66 59 instance->callback_in = func_in; 67 60 instance->callback_out = func_out; 68 61 instance->arg = arg; 69 62 instance->buffer = buffer; 70 instance-> transport_buffer = transport_buffer;63 instance->data_buffer = data_buffer; 71 64 instance->buffer_size = buffer_size; 72 65 instance->setup_buffer = setup_buffer; 73 66 instance->setup_size = setup_size; 74 instance->max_packet_size = max_packet_size;75 67 instance->fun = fun; 76 68 instance->private_data = private_data; … … 78 70 instance->next_step = NULL; 79 71 instance->error = EOK; 80 instance->ep = ep;81 72 endpoint_use(instance->ep); 82 73 } … … 105 96 assert(instance); 106 97 assert(instance->callback_in); 98 assert(instance->ep); 107 99 108 100 /* We are data in, we need data */ 109 memcpy(instance->buffer, instance->transport_buffer, 110 instance->buffer_size); 101 memcpy(instance->buffer, instance->data_buffer, instance->buffer_size); 111 102 112 103 usb_log_debug("Batch %p done (T%d.%d, %s %s in, %zuB): %s (%d).\n", 113 instance, 114 instance->target.address, instance->target.endpoint, 115 usb_str_speed(instance->speed), 116 usb_str_transfer_type_short(instance->transfer_type), 117 instance->transfered_size, 118 str_error(instance->error), instance->error); 104 instance, instance->ep->address, instance->ep->endpoint, 105 usb_str_speed(instance->ep->speed), 106 usb_str_transfer_type_short(instance->ep->transfer_type), 107 instance->transfered_size, str_error(instance->error), instance->error); 119 108 120 109 instance->callback_in(instance->fun, instance->error, … … 132 121 133 122 usb_log_debug("Batch %p done (T%d.%d, %s %s out): %s (%d).\n", 134 instance, 135 instance->target.address, instance->target.endpoint, 136 usb_str_speed(instance->speed), 137 usb_str_transfer_type_short(instance->transfer_type), 123 instance, instance->ep->address, instance->ep->endpoint, 124 usb_str_speed(instance->ep->speed), 125 usb_str_transfer_type_short(instance->ep->transfer_type), 138 126 str_error(instance->error), instance->error); 139 127
Note:
See TracChangeset
for help on using the changeset viewer.