include/uapi/linux/usb/cdc.h
Source file repositories/reference/linux-study-clean/include/uapi/linux/usb/cdc.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/linux/usb/cdc.h- Extension
.h- Size
- 13495 bytes
- Lines
- 466
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.h
Detected Declarations
struct usb_cdc_header_descstruct usb_cdc_call_mgmt_descriptorstruct usb_cdc_acm_descriptorstruct usb_cdc_union_descstruct usb_cdc_country_functional_descstruct usb_cdc_network_terminal_descstruct usb_cdc_ether_descstruct usb_cdc_dmm_descstruct usb_cdc_mdlm_descstruct usb_cdc_mdlm_detail_descstruct usb_cdc_obex_descstruct usb_cdc_ncm_descstruct usb_cdc_mbim_descstruct usb_cdc_mbim_extended_descstruct usb_cdc_line_codingstruct usb_cdc_notificationstruct usb_cdc_speed_changestruct usb_cdc_ncm_ntb_parametersstruct usb_cdc_ncm_nth16struct usb_cdc_ncm_nth32struct usb_cdc_ncm_dpe16struct usb_cdc_ncm_ndp16struct usb_cdc_ncm_dpe32struct usb_cdc_ncm_ndp32struct usb_cdc_ncm_ndp_input_size
Annotated Snippet
struct usb_cdc_header_desc {
__u8 bLength;
__u8 bDescriptorType;
__u8 bDescriptorSubType;
__le16 bcdCDC;
} __attribute__ ((packed));
/* "Call Management Descriptor" from CDC spec 5.2.3.2 */
struct usb_cdc_call_mgmt_descriptor {
__u8 bLength;
__u8 bDescriptorType;
__u8 bDescriptorSubType;
__u8 bmCapabilities;
#define USB_CDC_CALL_MGMT_CAP_CALL_MGMT 0x01
#define USB_CDC_CALL_MGMT_CAP_DATA_INTF 0x02
__u8 bDataInterface;
} __attribute__ ((packed));
/* "Abstract Control Management Descriptor" from CDC spec 5.2.3.3 */
struct usb_cdc_acm_descriptor {
__u8 bLength;
__u8 bDescriptorType;
__u8 bDescriptorSubType;
__u8 bmCapabilities;
} __attribute__ ((packed));
/* capabilities from 5.2.3.3 */
#define USB_CDC_COMM_FEATURE 0x01
#define USB_CDC_CAP_LINE 0x02
#define USB_CDC_CAP_BRK 0x04
#define USB_CDC_CAP_NOTIFY 0x08
/* "Union Functional Descriptor" from CDC spec 5.2.3.8 */
struct usb_cdc_union_desc {
__u8 bLength;
__u8 bDescriptorType;
__u8 bDescriptorSubType;
__u8 bMasterInterface0;
union {
__u8 bSlaveInterface0;
__DECLARE_FLEX_ARRAY(__u8, bSlaveInterfaces);
};
} __attribute__ ((packed));
/* "Country Selection Functional Descriptor" from CDC spec 5.2.3.9 */
struct usb_cdc_country_functional_desc {
__u8 bLength;
__u8 bDescriptorType;
__u8 bDescriptorSubType;
__u8 iCountryCodeRelDate;
union {
__le16 wCountryCode0;
__DECLARE_FLEX_ARRAY(__le16, wCountryCodes);
};
} __attribute__ ((packed));
/* "Network Channel Terminal Functional Descriptor" from CDC spec 5.2.3.11 */
struct usb_cdc_network_terminal_desc {
__u8 bLength;
__u8 bDescriptorType;
__u8 bDescriptorSubType;
__u8 bEntityId;
__u8 iName;
__u8 bChannelIndex;
__u8 bPhysicalInterface;
} __attribute__ ((packed));
/* "Ethernet Networking Functional Descriptor" from CDC spec 5.2.3.16 */
struct usb_cdc_ether_desc {
__u8 bLength;
__u8 bDescriptorType;
__u8 bDescriptorSubType;
__u8 iMACAddress;
__le32 bmEthernetStatistics;
__le16 wMaxSegmentSize;
__le16 wNumberMCFilters;
__u8 bNumberPowerFilters;
} __attribute__ ((packed));
/* "Telephone Control Model Functional Descriptor" from CDC WMC spec 6.3..3 */
struct usb_cdc_dmm_desc {
Annotation
- Immediate include surface: `linux/types.h`.
- Detected declarations: `struct usb_cdc_header_desc`, `struct usb_cdc_call_mgmt_descriptor`, `struct usb_cdc_acm_descriptor`, `struct usb_cdc_union_desc`, `struct usb_cdc_country_functional_desc`, `struct usb_cdc_network_terminal_desc`, `struct usb_cdc_ether_desc`, `struct usb_cdc_dmm_desc`, `struct usb_cdc_mdlm_desc`, `struct usb_cdc_mdlm_detail_desc`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.