---
title: IOUSBHostInterface
framework: iousbhost
role: symbol
role_heading: Class
path: iousbhost/iousbhostinterface
---

# IOUSBHostInterface

The class for accessing USB-related services.

## Declaration

```swift
class IOUSBHostInterface
```

## Overview

Overview Use this class to create pipes, retrieve descriptors, send device requests, and enable power savings. Create an instance of the class with initWithIOService:options:queue:error:interestHandler:.

## Topics

### Retrieving Function Descriptors

- [configurationDescriptor](iousbhost/iousbhostinterface/configurationdescriptor.md)
- [interfaceDescriptor](iousbhost/iousbhostinterface/interfacedescriptor.md)

### Managing Pipes

- [selectAlternateSetting(_:)](iousbhost/iousbhostinterface/selectalternatesetting(_:).md)
- [copyPipe(withAddress:)](iousbhost/iousbhostinterface/copypipe(withaddress:).md)

### Enabling Power Savings

- [idleTimeout](iousbhost/iousbhostinterface/idletimeout.md)
- [setIdleTimeout(_:)](iousbhost/iousbhostinterface/setidletimeout(_:).md)

## Relationships

### Inherits From

- [IOUSBHostObject](iousbhost/iousbhostobject.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Function Drivers

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