---
title: SerialDriverKit
framework: SerialDriverKit
role: collection
role_heading: Framework
platforms: [driverkit 19.0+]
path: serialdriverkit
---

# SerialDriverKit

Develop drivers for serial I/O devices connected to your Mac.

## Overview

Overview The SerialDriverKit framework supports the development of drivers for devices that communicate using a serial interface. The framework lets you build drivers to support modem hardware or a universal asynchronous receiver/transmitter (UART). To create a driver that communicates serially with a USB device, use the USBSerialDriverKit framework instead. Package your driver in an app that uses the System Extensions framework to install and upgrade the driver on the user’s Mac. note: SerialDriverKit is available on macOS.

## Topics

### Samples

- [DriverKit sample code](driverkit/driverkit-sample-code.md)

### Serial Interface

- [com.apple.developer.driverkit.family.serial](bundleresources/entitlements/com.apple.developer.driverkit.family.serial.md)
- [IOUserSerial](serialdriverkit/iouserserial.md)

### Reference

- [SerialDriverKit Enumerations](serialdriverkit/serialdriverkit-enumerations.md)
- [SerialDriverKit Data Types](serialdriverkit/serialdriverkit-data-types.md)

### Namespaces

- [driverkit](serialdriverkit/driverkit.md)

### Macros

- [PD_RS232_S_LE](serialdriverkit/pd_rs232_s_le.md)
- [PD_RS232_S_RNG](serialdriverkit/pd_rs232_s_rng.md)
- [kIOTTYBaseNameKey](serialdriverkit/kiottybasenamekey.md)
- [kIOTTYSuffixKey](serialdriverkit/kiottysuffixkey.md)

### Enumeration Cases

- [kIOSerialMemoryArena](serialdriverkit/kioserialmemoryarena.md)
- [kIOSerialMemoryRxBuf](serialdriverkit/kioserialmemoryrxbuf.md)
- [kIOSerialMemoryTxBuf](serialdriverkit/kioserialmemorytxbuf.md)
- [kIOSerialPTYMaster](serialdriverkit/kioserialptymaster.md)
- [kIOSerialUserClient](serialdriverkit/kioserialuserclient.md)
- [kIOSerialUserClientIoctl](serialdriverkit/kioserialuserclientioctl.md)
- [kIOSerialUserClientOpen](serialdriverkit/kioserialuserclientopen.md)
- [kIOSerialUserClientPoll](serialdriverkit/kioserialuserclientpoll.md)
