---
title: IOUSBHostPipe
framework: iousbhost
role: symbol
role_heading: Class
path: iousbhost/iousbhostpipe
---

# IOUSBHostPipe

The class that sends control, bulk, interrupt, and isochronous input/output requests for function drivers, and manages stream capabilities.

## Declaration

```swift
class IOUSBHostPipe
```

## Overview

Overview The client creates pipe objects using copyPipe(withAddress:).

## Topics

### Sending Bulk and Interrupt I/O

- [IOUSBHostCompletionHandler](iousbhost/iousbhostcompletionhandler.md)
- [IOUSBHostDefaultControlCompletionTimeout](iousbhost/iousbhostdefaultcontrolcompletiontimeout.md)
- [enqueueIORequest(with:completionTimeout:completionHandler:)](iousbhost/iousbhostpipe/enqueueiorequest(with:completiontimeout:completionhandler:).md)
- [clearStall()](iousbhost/iousbhostpipe/clearstall().md)

### Sending Isochronous I/O

- [IOUSBHostIsochronousCompletionHandler](iousbhost/iousbhostisochronouscompletionhandler.md)
- [IOUSBHostTime](iousbhost/iousbhosttime.md)
- [IOUSBHostIsochronousFrame](iousbhost/iousbhostisochronousframe.md)
- [enqueueIORequest(with:frameList:frameListCount:firstFrameNumber:completionHandler:)](iousbhost/iousbhostpipe/enqueueiorequest(with:framelist:framelistcount:firstframenumber:completionhandler:).md)
- [sendIORequest(with:frameList:frameListCount:firstFrameNumber:)](iousbhost/iousbhostpipe/sendiorequest(with:framelist:framelistcount:firstframenumber:).md)

### Sending Control Requests

- [IOUSBHostDeviceRequestType(_:_:_:)](iousbhost/iousbhostdevicerequesttype(_:_:_:).md)
- [IOUSBHostDefaultControlCompletionTimeout](iousbhost/iousbhostdefaultcontrolcompletiontimeout.md)
- [IOUSBHostCompletionHandler](iousbhost/iousbhostcompletionhandler.md)

### Managing Periodic Bandwidth

- [IOUSBHostIOSourceDescriptors](iousbhost/iousbhostiosourcedescriptors.md)
- [adjust(with:)](iousbhost/iousbhostpipe/adjust(with:).md)
- [descriptors](iousbhost/iousbhostpipe/descriptors.md)
- [originalDescriptors](iousbhost/iousbhostpipe/originaldescriptors.md)

### Enabling Power Savings

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

### Managing Streams

- [enableStreams()](iousbhost/iousbhostpipe/enablestreams().md)
- [copyStream(withStreamID:)](iousbhost/iousbhostpipe/copystream(withstreamid:).md)
- [disableStreams()](iousbhost/iousbhostpipe/disablestreams().md)

### Instance Methods

- [enqueueIORequest(with:transactionList:transactionListCount:firstFrameNumber:options:completionHandler:)](iousbhost/iousbhostpipe/enqueueiorequest(with:transactionlist:transactionlistcount:firstframenumber:options:completionhandler:).md)
- [sendIORequest(with:transactionList:transactionListCount:firstFrameNumber:options:)](iousbhost/iousbhostpipe/sendiorequest(with:transactionlist:transactionlistcount:firstframenumber:options:).md)

## Relationships

### Inherits From

- [IOUSBHostIOSource](iousbhost/iousbhostiosource.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

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