/* * Copyright (c) 2018-2019, Arm Limited and affiliates. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef USBDEVICE_TYPES_H #define USBDEVICE_TYPES_H /* Standard requests */ #define GET_STATUS (0) #define CLEAR_FEATURE (1) #define SET_FEATURE (3) #define SET_ADDRESS (5) #define GET_DESCRIPTOR (6) #define SET_DESCRIPTOR (7) #define GET_CONFIGURATION (8) #define SET_CONFIGURATION (9) #define GET_INTERFACE (10) #define SET_INTERFACE (11) /* bmRequestType.dataTransferDirection */ #define HOST_TO_DEVICE (0) #define DEVICE_TO_HOST (1) /* bmRequestType.Type*/ #define STANDARD_TYPE (0) #define CLASS_TYPE (1) #define VENDOR_TYPE (2) #define RESERVED_TYPE (3) /* bmRequestType.Recipient */ #define DEVICE_RECIPIENT (0) #define INTERFACE_RECIPIENT (1) #define ENDPOINT_RECIPIENT (2) #define OTHER_RECIPIENT (3) /* Descriptors */ #define DESCRIPTOR_TYPE(wValue) (wValue >> 8) #define DESCRIPTOR_INDEX(wValue) (wValue & 0xff) #endif