---
title: IOUSBHost
framework: IOUSBHost
role: collection
role_heading: Framework
platforms: [Mac Catalyst 14.0+, macOS 10.15+]
path: iousbhost
---

# IOUSBHost

Create host-mode user space drivers for USB devices.

## Overview

Overview With the IOUSBHost framework, you can access custom and non–class-compliant USB devices from within your apps. Use this framework to connect to cameras, audio devices, scanners, printers, keyboards, mouse devices, MIDI keyboards, and USB hubs. This framework refers to the USB Implementers Forum (USB-IF) Universal Serial Bus 3.2 Specification, Revision 1.0, September 22, 2017. You can view this specification at http://www.usb.org/.

## Topics

### Function Drivers

- [IOUSBHostInterface](iousbhost/iousbhostinterface.md)
- [IOUSBHostPipe](iousbhost/iousbhostpipe.md)
- [IOUSBHostStream](iousbhost/iousbhoststream.md)

### Device Drivers

- [IOUSBHostDevice](iousbhost/iousbhostdevice.md)

### Base Classes

- [IOUSBHostObject](iousbhost/iousbhostobject.md)
- [IOUSBHostIOSource](iousbhost/iousbhostiosource.md)

### IOServicePlane Properties

- [IOUSBHostInterfacePropertyKey](iousbhost/iousbhostinterfacepropertykey.md)
- [IOUSBHostDevicePropertyKey](iousbhost/iousbhostdevicepropertykey.md)
- [IOUSBHostMatchingPropertyKey](iousbhost/iousbhostmatchingpropertykey.md)
- [IOUSBHostPropertyKey](iousbhost/iousbhostpropertykey.md)

### Error Domain

- [IOUSBHostErrorDomain](iousbhost/iousbhosterrordomain.md)

### Classes

- [IOUSBHostCIControllerStateMachine](iousbhost/iousbhostcicontrollerstatemachine.md)
- [IOUSBHostCIDeviceStateMachine](iousbhost/iousbhostcidevicestatemachine.md)
- [IOUSBHostCIEndpointStateMachine](iousbhost/iousbhostciendpointstatemachine.md)
- [IOUSBHostCIPortStateMachine](iousbhost/iousbhostciportstatemachine.md)
- [IOUSBHostControllerInterface](iousbhost/iousbhostcontrollerinterface.md)

### Reference

- [IOUSBHost Structures](iousbhost/iousbhost-structures.md)
- [IOUSBHost Enumerations](iousbhost/iousbhost-enumerations.md)
- [IOUSBHost Constants](iousbhost/iousbhost-constants.md)
- [IOUSBHost Functions](iousbhost/iousbhost-functions.md)
- [IOUSBHost Data Types](iousbhost/iousbhost-data-types.md)

### Structures

- [IOUSBHostObjectDataOptions](iousbhost/iousbhostobjectdataoptions.md)

### Variables

- [IOUSBHostCIDeviceSpeedOther](iousbhost/iousbhostcidevicespeedother.md)
