diff options
Diffstat (limited to 'tmk_core/protocol/usb_types.h')
-rw-r--r-- | tmk_core/protocol/usb_types.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tmk_core/protocol/usb_types.h b/tmk_core/protocol/usb_types.h new file mode 100644 index 0000000000..019775a1c4 --- /dev/null +++ b/tmk_core/protocol/usb_types.h @@ -0,0 +1,23 @@ +// Copyright 2023 Stefan Kerkmann +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "util.h" + +/** + * @brief Common USB 2.0 control request structure + */ +typedef struct { + uint8_t bmRequestType; // [0] (Bitmask) + uint8_t bRequest; // [1] + union { + struct { + uint8_t lbyte; // [2] (LSB) + uint8_t hbyte; // [3] (MSB) + }; + uint16_t word; // [2,3] (LSB,MSB) + } wValue; + uint16_t wIndex; // [4,5] (LSB,MSB) + uint16_t wLength; // [6,7] (LSB,MSB) +} PACKED usb_control_request_t; |