usb_def.h 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /******************** (C) COPYRIGHT 2009 STMicroelectronics ********************
  2. * File Name : usb_def.h
  3. * Author : MCD Application Team
  4. * Version : V3.1.0
  5. * Date : 10/30/2009
  6. * Description : Definitions related to USB Core
  7. ********************************************************************************
  8. * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  9. * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
  10. * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
  11. * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
  12. * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
  13. * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  14. *******************************************************************************/
  15. /* Define to prevent recursive inclusion -------------------------------------*/
  16. #ifndef __USB_DEF_H
  17. #define __USB_DEF_H
  18. /* Includes ------------------------------------------------------------------*/
  19. /* Exported types ------------------------------------------------------------*/
  20. typedef enum _RECIPIENT_TYPE
  21. {
  22. DEVICE_RECIPIENT, /* Recipient device */
  23. INTERFACE_RECIPIENT, /* Recipient interface */
  24. ENDPOINT_RECIPIENT, /* Recipient endpoint */
  25. OTHER_RECIPIENT
  26. } RECIPIENT_TYPE;
  27. typedef enum _STANDARD_REQUESTS
  28. {
  29. GET_STATUS = 0,
  30. CLEAR_FEATURE,
  31. RESERVED1,
  32. SET_FEATURE,
  33. RESERVED2,
  34. SET_ADDRESS,
  35. GET_DESCRIPTOR,
  36. SET_DESCRIPTOR,
  37. GET_CONFIGURATION,
  38. SET_CONFIGURATION,
  39. GET_INTERFACE,
  40. SET_INTERFACE,
  41. TOTAL_sREQUEST, /* Total number of Standard request */
  42. SYNCH_FRAME = 12
  43. } STANDARD_REQUESTS;
  44. /* Definition of "USBwValue" */
  45. typedef enum _DESCRIPTOR_TYPE
  46. {
  47. DEVICE_DESCRIPTOR = 1,
  48. CONFIG_DESCRIPTOR,
  49. STRING_DESCRIPTOR,
  50. INTERFACE_DESCRIPTOR,
  51. ENDPOINT_DESCRIPTOR
  52. } DESCRIPTOR_TYPE;
  53. /* Feature selector of a SET_FEATURE or CLEAR_FEATURE */
  54. typedef enum _FEATURE_SELECTOR
  55. {
  56. ENDPOINT_STALL,
  57. DEVICE_REMOTE_WAKEUP
  58. } FEATURE_SELECTOR;
  59. /* Exported constants --------------------------------------------------------*/
  60. /* Definition of "USBbmRequestType" */
  61. #define REQUEST_TYPE 0x60 /* Mask to get request type */
  62. #define STANDARD_REQUEST 0x00 /* Standard request */
  63. #define CLASS_REQUEST 0x20 /* Class request */
  64. #define VENDOR_REQUEST 0x40 /* Vendor request */
  65. #define RECIPIENT 0x1F /* Mask to get recipient */
  66. /* Exported macro ------------------------------------------------------------*/
  67. /* Exported functions ------------------------------------------------------- */
  68. #endif /* __USB_DEF_H */
  69. /******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/