|
XenevaOS
|
#include <stdint.h>#include "xhci.h"#include <Hal\x86_64_sched.h>#include <list.h>#include <Sync\spinlock.h>

Go to the source code of this file.
Classes | |
| struct | _usb_dev_ |
| struct | __usb_msg__ |
| struct | USB_REQUEST_PACKET |
| struct | _dev_desc_ |
| struct | _interface_desc_ |
| struct | _qualifier_desc_ |
| struct | _config_desc_ |
| struct | _string_desc_ |
| struct | _endpoint_desc_ |
| struct | _usb_desc_ |
Typedefs | |
| typedef struct _usb_dev_ | USBDevice |
| typedef struct __usb_msg__ | USBMessage |
| typedef struct _dev_desc_ | usb_dev_desc_t |
| typedef struct _interface_desc_ | usb_if_desc_t |
| typedef struct _qualifier_desc_ | usb_qualifier_desc_t |
| typedef struct _config_desc_ | usb_config_desc_t |
| typedef struct _string_desc_ | usb_string_desc_t |
| typedef struct _endpoint_desc_ | usb_endpoint_desc_t |
| typedef struct _usb_desc_ | usb_descriptor_t |
| #define ENDPOINT_TRANSFER_TYPE_BULK 2 |
| #define ENDPOINT_TRANSFER_TYPE_CONTROL 0 |
| #define ENDPOINT_TRANSFER_TYPE_INT 3 |
| #define ENDPOINT_TRANSFER_TYPE_ISOCH 1 |
| #define USB_AUDIO_DEV_CLASS 0x01 |
| #define USB_AUDIO_VIDEO_DEV_CLASS 0x10 |
| #define USB_BILLBOARD_DEV_CLASS 0x11 |
| #define USB_BM_REQUEST_CLASS 0x20 |
| #define USB_BM_REQUEST_DEVICE 0 |
| #define USB_BM_REQUEST_ENDPOINT 2 |
| #define USB_BM_REQUEST_INPUT 0x80 |
| #define USB_BM_REQUEST_INTERFACE 1 |
| #define USB_BM_REQUEST_OTHER 3 |
| #define USB_BM_REQUEST_OUTPUT 0 |
| #define USB_BM_REQUEST_STANDARD 0 |
| #define USB_BM_REQUEST_VENDOR 0x40 |
| #define USB_BM_REQUEST_VENDORSPEC 0x1F |
| #define USB_BREQUEST_CLEAR_FEATURE 1 |
| #define USB_BREQUEST_GET_CONFIGURATION 8 |
| #define USB_BREQUEST_GET_DESCRIPTOR 6 |
| #define USB_BREQUEST_GET_INTERFACE 10 |
| #define USB_BREQUEST_GET_STATUS 0 |
| #define USB_BREQUEST_SET_ADDRESS 5 |
| #define USB_BREQUEST_SET_CONFIGURATION 9 |
| #define USB_BREQUEST_SET_DESCRIPTOR 7 |
| #define USB_BREQUEST_SET_FEATURE 3 |
| #define USB_BREQUEST_SET_INTERFACE 11 |
| #define USB_CDC_DATA_DEV_CLASS 0x0A |
| #define USB_COMMUNICATION_CDC_CTRL_CLASS 0x02 |
| #define USB_CONTENT_SECURITY_DEV_CLASS 0x0D |
| #define USB_DESCRIPTOR_CONFIGURATION 2 |
| #define USB_DESCRIPTOR_DEVICE 1 |
| #define USB_DESCRIPTOR_ENDPOINT 5 |
| #define USB_DESCRIPTOR_INTERFACE 4 |
| #define USB_DESCRIPTOR_STRING 3 |
| #define USB_DESCRIPTOR_SUPERSPEED_ENDP_CMP 48 |
| #define USB_DIAGNOSTIC_DEV_CLASS 0xDC |
| #define USB_HID_DEV_CLASS 0x03 |
| #define USB_HUB_DEV_CLASS 0x09 |
| #define USB_I3C_DEV_CLASS 0x3C |
| #define USB_IMAGE_DEV_CLASS 0x06 |
| #define USB_MASS_STORAGE_DEV_CLASS 0x08 |
| #define USB_MISCELLANEOUS_DEV_CLASS 0xEF |
| #define USB_PERSONAL_HEALTHCARE_DEV_CLASS 0x0F |
| #define USB_PHYSICAL_DEV_CLASS 0x05 |
| #define USB_PRINTER_DEV_CLASS 0x07 |
| #define USB_SMART_CARD_DEV_CLASS 0x0B |
| #define USB_TYPE_C_BRIDGE_CLASS 0x12 |
| #define USB_VIDEO_DEV_CLASS 0x0E |
| #define USB_WIRELESS_CONTROLLER_DEV_CLASS 0xE0 |
| typedef struct _config_desc_ usb_config_desc_t |
| typedef struct _usb_desc_ usb_descriptor_t |
| typedef struct _dev_desc_ usb_dev_desc_t |
| typedef struct _endpoint_desc_ usb_endpoint_desc_t |
| typedef struct _interface_desc_ usb_if_desc_t |
| typedef struct _qualifier_desc_ usb_qualifier_desc_t |
| typedef struct _string_desc_ usb_string_desc_t |
BSD 2-Clause License
Copyright (c) 2022-2023, Manas Kamal Choudhury All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| typedef struct __usb_msg__ USBMessage |
| void USBGetConfigDesc | ( | USBDevice * | dev, |
| XHCISlot * | slot, | ||
| uint8_t | slot_id, | ||
| uint64_t | buffer, | ||
| uint16_t | len, | ||
| uint8_t | id | ||
| ) |
|
extern |
|
extern |
BSD 2-Clause License
Copyright (c) 2022-2023, Manas Kamal Choudhury All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
| void XHCISendCommandEndpoint | ( | XHCISlot * | slot, |
| uint8_t | endp_num, | ||
| uint32_t | param1, | ||
| uint32_t | param2, | ||
| uint32_t | status, | ||
| uint32_t | ctrl | ||
| ) |
|
extern |
|
extern |
|
extern |
|
extern |
BSD 2-Clause License
Copyright (c) 2022-2025, Manas Kamal Choudhury All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
extern |