A USB request. More...
#include <request.h>

Data Fields | |
| struct slist | buf_list |
| List of buffers associated with this request. | |
| struct slist_node | node |
| List node on the controller queue. | |
| uint8_t | flags |
| A bitwise combination of the bits defined by enum usb_request_flag. | |
| void(* | req_done )(struct udc *udc, struct usb_request *req) |
| Function to be called when this request is completed. | |
| void * | context |
| Arbitrary data pointer associated with this request, for use by the submitter. | |
| enum status_code | status |
| Status code set by the UDC driver upon completion of this request. | |
| size_t | bytes_xfered |
| The number of bytes actually transfered. | |
A USB request.
This structure keeps track of the data associated with a USB request for use in asynchronous transfers.
Definition at line 78 of file request.h.
| struct slist usb_request::buf_list |
List of buffers associated with this request.
Definition at line 80 of file request.h.
Referenced by at90usb_ep0_tx_complete(), at90usb_udc_ep0_worker(), at90usb_udc_ep_flush(), at90usb_udc_submit_in_queue(), at90usb_udc_submit_out_queue(), msc_submit_write_data_req(), udc_fifo_read_data(), udc_fifo_write_data(), usb_req_add_buffer(), usb_req_get_first_buffer(), and usb_req_init().
| size_t usb_request::bytes_xfered |
The number of bytes actually transfered.
May be less than len if an error occurred, or if the UDC received a short packet.
Definition at line 110 of file request.h.
Referenced by at90usb_ep0_tx_complete(), at90usb_udc_ep0_worker(), at90usb_udc_submit_in_queue(), at90usb_udc_submit_out_queue(), and usb_req_init().
| void* usb_request::context |
Arbitrary data pointer associated with this request, for use by the submitter.
Definition at line 98 of file request.h.
Referenced by msc_submit_write_data_req().
A bitwise combination of the bits defined by enum usb_request_flag.
Definition at line 87 of file request.h.
Referenced by at90usb_udc_ep0_worker(), udc_fifo_write_data(), and usb_req_init().
| struct slist_node usb_request::node |
List node on the controller queue.
Definition at line 82 of file request.h.
Referenced by at90usb_ep0_tx_flush(), at90usb_udc_ep_flush(), at90usb_udc_submit_in_queue(), and at90usb_udc_submit_out_queue().
| void(* usb_request::req_done)(struct udc *udc, struct usb_request *req) |
Function to be called when this request is completed.
| udc | The USB Device Controller that did the request | |
| req | The request that was completed. |
Definition at line 93 of file request.h.
Referenced by at90usb_udc_req_done(), and msc_submit_write_data_req().
Status code set by the UDC driver upon completion of this request.
Definition at line 103 of file request.h.
Referenced by at90usb_udc_req_done(), and udc_lib_standard_request().
1.6.3