VSF Documented
vsf_usb_UAC.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Copyright(C)2009-2022 by VSF Team *
3 * *
4 * Licensed under the Apache License, Version 2.0 (the "License"); *
5 * you may not use this file except in compliance with the License. *
6 * You may obtain a copy of the License at *
7 * *
8 * http://www.apache.org/licenses/LICENSE-2.0 *
9 * *
10 * Unless required by applicable law or agreed to in writing, software *
11 * distributed under the License is distributed on an "AS IS" BASIS, *
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
13 * See the License for the specific language governing permissions and *
14 * limitations under the License. *
15 * *
16 ****************************************************************************/
17
18#ifndef __VSF_USB_UAC_H__
19#define __VSF_USB_UAC_H__
20
21/*============================ INCLUDES ======================================*/
22
24
25#if ((VSF_USE_USB_DEVICE == ENABLED) && (VSF_USBD_USE_UAC == ENABLED)) \
26 || ((VSF_USE_USB_HOST == ENABLED) && (VSF_USBH_USE_UAC == ENABLED))
27
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34/*============================ MACROS ========================================*/
35/*============================ MACROFIED FUNCTIONS ===========================*/
36/*============================ TYPES =========================================*/
37
38typedef enum usb_uac_req_t {
46
51
53 // USB Terminal Types
57 // Input Terminal Types
63 // Output Terminal Types
68 // Bi-directional Terminal Types
75 // Telephony Terminal Types
79 // External Terminal Types
80 // Embedded Function Terminal Types
82
86
97
107
120
121/*============================ GLOBAL VARIABLES ==============================*/
122/*============================ PROTOTYPES ====================================*/
123
124#ifdef __cplusplus
125}
126#endif
127
128#endif // (VSF_USE_USB_DEVICE && VSF_USBD_USE_UAC) || (VSF_USE_USB_HOST && VSF_USBH_USE_UAC)
129#endif // __VSFUSB_UAC_H__
unsigned short uint16_t
Definition stdint.h:7
unsigned char uint8_t
Definition stdint.h:5
Definition vsf_usb_UAC.h:88
uint16_t bcdADC
Definition vsf_usb_UAC.h:92
uint8_t bDescriptorType
Definition vsf_usb_UAC.h:90
uint8_t baInterfaceNr[1]
Definition vsf_usb_UAC.h:95
uint16_t wTotalLength
Definition vsf_usb_UAC.h:93
uint8_t bLength
Definition vsf_usb_UAC.h:89
uint8_t bDescriptorSubtype
Definition vsf_usb_UAC.h:91
uint8_t bInCollection
Definition vsf_usb_UAC.h:94
Definition vsf_usb_UAC.h:109
uint8_t bLength
Definition vsf_usb_UAC.h:110
uint8_t bSamFreqType
Definition vsf_usb_UAC.h:117
uint8_t bDescriptorType
Definition vsf_usb_UAC.h:111
uint8_t bBitResolution
Definition vsf_usb_UAC.h:116
uint8_t bDescriptorSubtype
Definition vsf_usb_UAC.h:112
uint8_t tSamFreq[1][3]
Definition vsf_usb_UAC.h:118
uint8_t bSubframeSize
Definition vsf_usb_UAC.h:115
uint8_t bNrChannels
Definition vsf_usb_UAC.h:114
uint8_t bFormatType
Definition vsf_usb_UAC.h:113
Definition vsf_usb_UAC.h:99
uint8_t bDelay
Definition vsf_usb_UAC.h:104
uint8_t bDescriptorType
Definition vsf_usb_UAC.h:101
uint16_t wFormatTag
Definition vsf_usb_UAC.h:105
uint8_t bLength
Definition vsf_usb_UAC.h:100
uint8_t bTerminalLink
Definition vsf_usb_UAC.h:103
uint8_t bDescriptorSubtype
Definition vsf_usb_UAC.h:102
struct usb_uac_ac_interface_header_desc_t VSF_CAL_PACKED
usb_uac_req_t
Definition vsf_usb_UAC.h:38
@ USB_UAC_REQ_RES
Definition vsf_usb_UAC.h:42
@ USB_UAC2_REQ_MEM
Definition vsf_usb_UAC.h:49
@ USB_UAC_REQ_SET
Definition vsf_usb_UAC.h:44
@ USB_UAC2_REQ_RANGE
Definition vsf_usb_UAC.h:48
@ USB_UAC_REQ_MAX
Definition vsf_usb_UAC.h:41
@ USB_UAC_REQ_GET
Definition vsf_usb_UAC.h:45
@ USB_UAC_REQ_MIN
Definition vsf_usb_UAC.h:40
@ USB_UAC_REQ_CUR
Definition vsf_usb_UAC.h:39
@ USB_UAC2_REQ_CUR
Definition vsf_usb_UAC.h:47
@ USB_UAC_REQ_MEM
Definition vsf_usb_UAC.h:43
usb_uac_format_tag_t
Definition vsf_usb_UAC.h:83
@ USB_UAC_FORMAT_PCM
Definition vsf_usb_UAC.h:84
usb_uac_terminal_types_t
Definition vsf_usb_UAC.h:52
@ USB_UAC_BTT_SPEAKERPHONE_EC
Definition vsf_usb_UAC.h:74
@ USB_UAC_OTT_UNDEFINED
Definition vsf_usb_UAC.h:64
@ USB_UAC_TTT_PHONE_LINE
Definition vsf_usb_UAC.h:77
@ USB_UAC_ITT_MIC
Definition vsf_usb_UAC.h:59
@ USB_UAC_BTT_HANDSET
Definition vsf_usb_UAC.h:70
@ USB_UAC_ITT_PERSONAL_MIC
Definition vsf_usb_UAC.h:61
@ USB_UAC_ITT_UNDEFINED
Definition vsf_usb_UAC.h:58
@ USB_UAC_ITT_MIC_ARRAY
Definition vsf_usb_UAC.h:62
@ USB_UAC_UTT_UNDEFINED
Definition vsf_usb_UAC.h:54
@ USB_UAC_UTT_STREAMING
Definition vsf_usb_UAC.h:55
@ USB_UAC_TTT_TELEPHONE
Definition vsf_usb_UAC.h:78
@ USB_UAC_BTT_SPEAKERPHONE_ES
Definition vsf_usb_UAC.h:73
@ USB_UAC_OTT_SPEAKER
Definition vsf_usb_UAC.h:65
@ USB_UAC_ITT_DESKTOP_MIC
Definition vsf_usb_UAC.h:60
@ USB_UAC_OTT_DESKTOP_SPEAKER
Definition vsf_usb_UAC.h:66
@ USB_UAC_OTT_ROOM_SPEAKER
Definition vsf_usb_UAC.h:67
@ USB_UAC_BTT_SPEAKERPHONE
Definition vsf_usb_UAC.h:72
@ USB_UAC_BTT_UNDEFINED
Definition vsf_usb_UAC.h:69
@ USB_UAC_BTT_HEADSET
Definition vsf_usb_UAC.h:71
@ USB_UAC_UTT_VENDOR
Definition vsf_usb_UAC.h:56
@ USB_UAC_TTT_UNDEFINED
Definition vsf_usb_UAC.h:76