uint8_tbLength;///< Size of this descriptor in bytes.
uint8_tbDescriptorType;///< Descriptor Type, must be Class-Specific
uint8_tbDescriptorSubType;///< Descriptor SubType one of above CDC_FUCN_DESC_
struct{
uint8_thandle_call:1;///< 0 - Device sends/receives call management information only over the Communications Class interface. 1 - Device can send/receive call management information over a Data Class interface.
uint8_tsend_recv_call:1;///< 0 - Device does not handle call management itself. 1 - Device handles call management itself.
uint8_t:0;
}bmCapabilities;
uint8_tbDataInterface;
}cdc_desc_func_call_management_t;
typedefATTR_PACKED_STRUCT(struct){
uint8_tsupport_comm_request:1;///< Device supports the request combination of Set_Comm_Feature, Clear_Comm_Feature, and Get_Comm_Feature.
uint8_tsupport_line_request:1;///< Device supports the request combination of Set_Line_Coding, Set_Control_Line_State, Get_Line_Coding, and the notification Serial_State.
uint8_tsupport_send_break:1;///< Device supports the request Send_Break
uint8_tsupport_notification_network_connection:1;///< Device supports the notification Network_Connection.
uint8_t:0;
}cdc_acm_capability_t;
STATIC_ASSERT(sizeof(cdc_acm_capability_t)==1,"mostly problem with compiler");
typedefATTR_PACKED_STRUCT(struct){
uint8_tbLength;///< Size of this descriptor in bytes.
uint8_tbDescriptorType;///< Descriptor Type, must be Class-Specific
uint8_tbDescriptorSubType;///< Descriptor SubType one of above CDC_FUCN_DESC_
cdc_acm_capability_tbmCapabilities;
}cdc_desc_func_abstract_control_management_t;
typedefATTR_PACKED_STRUCT(struct){
uint8_tbLength;///< Size of this descriptor in bytes.
uint8_tbDescriptorType;///< Descriptor Type, must be Class-Specific
uint8_tbDescriptorSubType;///< Descriptor SubType one of above CDC_FUCN_DESC_
struct{
uint8_trequire_pulse_setup:1;///< Device requires extra Pulse_Setup request during pulse dialing sequence to disengage holding circuit.
uint8_tsupport_aux_request:1;///< Device supports the request combination of Set_Aux_Line_State, Ring_Aux_Jack, and notification Aux_Jack_Hook_State.
uint8_tsupport_pulse_request:1;///< Device supports the request combination of Pulse_Setup, Send_Pulse, and Set_Pulse_Time.
uint8_t:0;
}bmCapabilities;
}cdc_desc_func_direct_line_management_t;
typedefATTR_PACKED_STRUCT(struct){
uint8_tbLength;///< Size of this descriptor in bytes.
uint8_tbDescriptorType;///< Descriptor Type, must be Class-Specific
uint8_tbDescriptorSubType;///< Descriptor SubType one of above CDC_FUCN_DESC_
uint8_tbRingerVolSteps;
uint8_tbNumRingerPatterns;
}cdc_desc_func_telephone_ringer_t;
typedefATTR_PACKED_STRUCT(struct){
uint8_tbLength;///< Size of this descriptor in bytes.
uint8_tbDescriptorType;///< Descriptor Type, must be Class-Specific
uint8_tbDescriptorSubType;///< Descriptor SubType one of above CDC_FUCN_DESC_
struct{
uint8_tsimple_mode:1;
uint8_tstandalone_mode:1;
uint8_tcomputer_centric_mode:1;
uint8_t:0;
}bmCapabilities;
}cdc_desc_func_telephone_operational_modes_t;
typedefATTR_PACKED_STRUCT(struct){
uint8_tbLength;///< Size of this descriptor in bytes.
uint8_tbDescriptorType;///< Descriptor Type, must be Class-Specific
uint8_tbDescriptorSubType;///< Descriptor SubType one of above CDC_FUCN_DESC_
struct{
uint32_tinterrupted_dialtone:1;///< 0 : Reports only dialtone (does not differentiate between normal and interrupted dialtone). 1 : Reports interrupted dialtone in addition to normal dialtone
uint32_tringback_busy_fastbusy:1;///< 0 : Reports only dialing state. 1 : Reports ringback, busy, and fast busy states.
uint32_tcaller_id:1;///< 0 : Does not report caller ID. 1 : Reports caller ID information.
uint32_tdual_tone_multi_freq:1;///< 0 : Cannot report dual tone multi-frequency (DTMF) digits input remotely over the telephone line. 1 : Can report DTMF digits input remotely over the telephone line.
uint32_tline_state_change:1;///< 0 : Does not support line state change notification. 1 : Does support line state change notification