---
title: IOKit
framework: IOKit
role: collection
role_heading: Framework
platforms: [iOS 16.0+, iPadOS 16.0+, Mac Catalyst 13.0+, macOS 10.0+, visionOS 1.0+]
path: iokit
---

# IOKit

Access hardware devices and drivers from your apps and services.

## Overview

Overview The IOKit framework implements nonkernel access to IOKit objects such drivers and nubs through the device-interface mechanism. important: Devices supported on macOS 11 and later require DriverKit. Use IOKit in your apps and services to discover and use devices.

## Topics

### Serial Ports

- [Communicating with a Modem on a Serial Port](iokit/communicating_with_a_modem_on_a_serial_port.md)

### Reference

- [IODataQueueClient.h](iokit/iodataqueueclient_h.md)
- [IOKitLib.h](iokit/iokitlib_h.md)
- [IOTypes.h User-Space](iokit/iotypes_h_user-space.md)
- [IOKit Structures](iokit/iokit_structures.md)
- [IOKit Enumerations](iokit/iokit_enumerations.md)
- [IOKit Constants](iokit/iokit_constants.md)
- [IOKit Functions](iokit/iokit_functions.md)
- [IOKit Data Types](iokit/iokit_data_types.md)

## See Also

### Related Documentation

- [IOKit Fundamentals](apple-archive/documentation/DeviceDrivers/Conceptual/IOKitFundamentals/Introduction.md)
