---
title: IOUSBDescriptorHeader
framework: kernel
role: symbol
role_heading: Type Alias
path: kernel/iousbdescriptorheader
---

# IOUSBDescriptorHeader

The base descriptor header.

## Declaration

```occ
typedef struct IOUSBDescriptorHeader IOUSBDescriptorHeader;
```

## Discussion

Discussion This structure is the standard header for all USB descriptors. Use it to read the length of a descriptor so that it can allocate storage for the whole descriptor.

## Topics

### Getting the Descriptor Properties

- [bLength](kernel/iousbdescriptorheader/1546043-blength.md)
- [bDescriptorType](kernel/iousbdescriptorheader/1546469-bdescriptortype.md)

## See Also

### Descriptor Fundamentals

- [IOUSBDescriptor](kernel/iousbdescriptor.md)
- [tIOUSBDescriptorType](kernel/tiousbdescriptortype.md)
- [tIOUSBDescriptorSize](kernel/tiousbdescriptorsize.md)
- [IOUSBDescriptorHeaderPtr](kernel/iousbdescriptorheaderptr.md)

### Related Documentation

- [IOUSBDescriptorHeader](iokit/usb_h_user-space/iousbdescriptorheader.md)
