---
title: Workflow and Control
framework: kernel
role: collectionGroup
role_heading: API Collection
path: kernel/iokit_fundamentals/workflow_and_control
---

# Workflow and Control

## Topics

### Work Loops

- [IOWorkLoop](kernel/ioworkloop.md)

### Timers

- [IOTimerEventSource](kernel/iotimereventsource.md)
- [IOWatchDogTimer](kernel/iowatchdogtimer.md)
- [IOGetTime](kernel/1575332-iogettime.md)
- [IOTimeStampConstant](kernel/1535203-iotimestampconstant.md)
- [IOTimeStampEndConstant](kernel/1535232-iotimestampendconstant.md)
- [IOTimeStampStartConstant](kernel/1535234-iotimestampstartconstant.md)

### Sleep

- [IODelay](kernel/1575328-iodelay.md)
- [IOPause](kernel/1575333-iopause.md)
- [IOSleep](kernel/1575320-iosleep.md)
- [IOSleepWithLeeway](kernel/1575303-iosleepwithleeway.md)

### Dispatch Queues

- [IODispatchQueueInterface](kernel/iodispatchqueueinterface.md)
- [IODispatchSourceInterface](kernel/iodispatchsourceinterface.md)
- [IODispatchQueue](kernel/iodispatchqueue.md)

### Data Queues

- [IODataQueueDispatchSource](kernel/iodataqueuedispatchsource.md)
- [IODataQueueDispatchSourceInterface](kernel/iodataqueuedispatchsourceinterface.md)
- [IODataQueue](kernel/iodataqueue.md)

### Output Queues

- [IOGatedOutputQueue](kernel/iogatedoutputqueue.md)
- [IOBasicOutputQueue](kernel/iobasicoutputqueue.md)
- [IOOutputQueue](kernel/iooutputqueue.md)

### Notifications

- [IOServiceNotificationDispatchSource](kernel/ioservicenotificationdispatchsource.md)
- [IOServiceNotificationDispatchSourceInterface](kernel/ioservicenotificationdispatchsourceinterface.md)
- [IONotifier](kernel/ionotifier.md)

### Interrupts

- [IOInterruptDispatchSource](kernel/iointerruptdispatchsource.md)
- [IOInterruptDispatchSourceInterface](kernel/iointerruptdispatchsourceinterface.md)
- [IOFilterInterruptEventSource](kernel/iofilterinterrupteventsource.md)
- [IOInterruptEventSource](kernel/iointerrupteventsource.md)
- [IOInterruptController](kernel/iointerruptcontroller.md)
- [PassthruInterruptController](kernel/passthruinterruptcontroller.md)
- [IOInterruptSource](kernel/iointerruptsource.md)
- [IOInterruptVector](kernel/iointerruptvector.md)

### Base Types

- [IOCommandPool](kernel/iocommandpool.md)
- [IOCommandGate](kernel/iocommandgate.md)
- [IOCommand](kernel/iocommand.md)
- [IODispatchSource](kernel/iodispatchsource.md)
- [IOEventSource](kernel/ioeventsource.md)

## See Also

### Resources

- [Memory](kernel/iokit_fundamentals/memory.md)
- [Locks](kernel/iokit_fundamentals/locks.md)
- [Data Types](kernel/libkern/data_types.md)
