📄 cdc_desc.h
字号:
/*************************************************************************
*
* Used with ICCARM and AARM.
*
* (c) Copyright IAR Systems 2006
*
* File name : cdc_desc.h
* Description : Communication Device Class descriptors definitions
*
* History :
* 1. Date : June 30, 2006
* Author : Stanimir Bonev
* Description : Create
*
* $Revision: 7196 $
**************************************************************************/
#ifndef __CDC_DESC_H
#define __CDC_DESC_H
#include "arm_comm.h"
#include "usb_desc.h"
#define CommInterfaceClassCode 2
#define DataInterfaceClassCodes 0xA
typedef enum
{
DirectLineControlModel = 1, AbstractControlModel, TelephoneControlModel,
MultiChannelControlModel, CAPI_ControlModel, EthernetNetworkingControlModel,
ATM_NetworkingControlModel,
} CommInterfaceClassSubClassCodes_t;
typedef enum
{
USB_SpecificationNoClass = 1, V_0_25ter, USB_SpecificationVendorSpecClass = 255
} CommInterfaceClassControlProtocolCodes_t;
typedef enum
{
CS_INTERFACE = 0x24,CS_ENDPOINT,
} CD_FunctionalDescriptorTypes_t;
typedef enum
{
Header = 0, CallManagement, AbstractControlManagement, DirectLineManagement,
TelephoneRinger, TelephoneCallLineCapabilities, Union, CountrySelection,
TelephoneOperationalModes, USB_Terminal, NetworkChannelTerminal, ProtocolUnit,
ExtensionUnit, MultiChannelManagement, CAPI_ControlManagement, EthernetNetworking,
ATMNetworking,
} CD_FunctionalcDDescriptorSubTypes_t;
typedef struct _ManCallManCap_t
{
Int8U NoCapability : 1;
Int8U OverDataClassInterface: 1;
Int8U : 6;
} ManCallManCap_t, *pManCallManCap_t;
typedef struct _AbsCntlCap_t
{
Int8U Comm_Feature : 1;
Int8U Control_Line : 1;
Int8U Send_Break : 1;
Int8U Network_Connection : 1;
Int8U : 4;
} AbsCntlCap_t, *pAbsCntlCap_t;
#pragma pack(1)
typedef struct _CDC_FuncDescriptor_t
{
Int8U bFunctionLength;
Int8U bDescriptorType;
Int8U bDescriptorSubtype;
} CDC_FuncDescriptor_t,*pCDC_FuncDescriptor_t;
typedef struct _CDC_HeaderFuncDescriptor_t
{
Int8U bFunctionLength;
Int8U bDescriptorType;
Int8U bDescriptorSubtype;
Int16U bcdCDC;
} CDC_HeaderFuncDescriptor_t, *pCDC_HeaderFuncDescriptor_t;
typedef struct _CDC_CallManagementFuncDescriptor_t
{
Int8U bFunctionLength;
Int8U bDescriptorType;
Int8U bDescriptorSubtype;
ManCallManCap_t bmCapabilities;
Int8U bDataInterface;
} CDC_CallManagementFuncDescriptor_t, *pCDC_CallManagementFuncDescriptor_t;
typedef struct _CDC_AbstrCtrlFuncDescriptor_t
{
Int8U bFunctionLength;
Int8U bDescriptorType;
Int8U bDescriptorSubtype;
AbsCntlCap_t bmCapabilities;
} CDC_AbstrCtrlFuncDescriptor_t, *pCDC_CDC_AbstrCtrlFuncDescriptor_t;
typedef struct _CDC_UnionFuncDescriptor_t
{
Int8U bFunctionLength;
Int8U bDescriptorType;
Int8U bDescriptorSubtype;
Int8U bMasterInterface;
} CDC_UnionFuncDescriptor_t, *pCDC_UnionFuncDescriptor_t;
#pragma pack()
#endif //__CDC_DESC_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -