#include <IOKit/audio/IOAudioTypes.h>
IOKit/audio/IOAudioTypes.h Kernel.framework 37 enums · 18 typedefs · 10 macros · 10 structs
@enum IOAudioEngineMemory
@abstract Used to identify the type of memory requested by a client process to be mapped into its process space
@discussion This is the parameter to the type field of IOMapMemory when called on an IOAudioEngine. This is
only intended for use by the Audio Device API library.
@constant kIOAudioSampleBuffer This requests the IOAudioEngine's sample buffer
@constant kIOAudioStatusBuffer This requests the IOAudioEngine's status buffer. It's type is IOAudioEngineStatus.
@constant kIOAudioMixBuffer This requests the IOAudioEngine's mix buffer
underlying type unsigned int
kIOAudioStatusBuffer 0 kIOAudioSampleBuffer 1 kIOAudioMixBuffer 2 kIOAudioBytesInInputBuffer 3 kIOAudioBytesInOutputBuffer 4
@enum IOAudioEngineCalls
@abstract The set of constants passed to IOAudioEngineUserClient::getExternalMethodForIndex() when making calls
from the IOAudioFamily user client code.
underlying type unsigned int
kIOAudioEngineCallRegisterClientBuffer 0 kIOAudioEngineCallUnregisterClientBuffer 1 kIOAudioEngineCallGetConnectionID 2 kIOAudioEngineCallStart 3 kIOAudioEngineCallStop 4 kIOAudioEngineCallGetNearestStartTime 5
@defined kIOAudioEngineNumCalls The number of elements in the IOAudioEngineCalls enum.
#define kIOAudioEngineNumCalls 6 underlying type unsigned int
kIOAudioEngineTrapPerformClientIO 0
underlying type unsigned int
kIOAudioEngineAllNotifications 0 kIOAudioEngineStreamFormatChangeNotification 1 kIOAudioEngineChangeNotification 2 kIOAudioEngineStartedNotification 3 kIOAudioEngineStoppedNotification 4 kIOAudioEnginePausedNotification 5 kIOAudioEngineResumedNotification 6
underlying type unsigned int
kIOAudioEngineStopped 0 kIOAudioEngineRunning 1 kIOAudioEnginePaused 2 kIOAudioEngineResumed 3
#define kIOAudioEngineCurrentStatusStructVersion 2 #define kFormatExtensionInvalidVersion 0 #define kFormatExtensionCurrentVersion 1 #define kStreamDataDescriptorInvalidVersion 0 #define kStreamDataDescriptorCurrentVersion 1 size 12, align 4
UInt32 fVersion UInt32 fNumberOfStreams UInt32 [1]fStreamLength Array with fNumberOfStreams number of entries
@struct SMPTETime
@abstract A structure for holding a SMPTE time.
@field fSubframes
The number of subframes in the full message.
@field fSubframeDivisor
The number of subframes per frame (typically 80).
@field fCounter
The total number of messages received.
@field fType
The kind of SMPTE time using the SMPTE time type constants.
@field fFlags
A set of flags that indicate the SMPTE state.
@field fHours
The number of hourse in the full message.
@field fMinutes
The number of minutes in the full message.
@field fSeconds
The number of seconds in the full message.
@field fFrames
The number of frames in the full message.
size 24, align 4
constants describing SMPTE types (taken from the MTC spec), <rdar://11955717>
underlying type unsigned int
kIOAudioSMPTETimeType24 0 kIOAudioSMPTETimeType25 1 kIOAudioSMPTETimeType30Drop 2 kIOAudioSMPTETimeType30 3 kIOAudioSMPTETimeType2997 4 kIOAudioSMPTETimeType2997Drop 5 kIOAudioSMPTETimeType60 6 kIOAudioSMPTETimeType5994 7 kIOAudioSMPTETimeType60Drop 8 kIOAudioSMPTETimeType5994Drop 9 kIOAudioSMPTETimeType50 10 kIOAudioSMPTETimeType2398 11
flags describing a SMPTE time stamp
underlying type unsigned int
kIOAudioSMPTETimeValid 1 the full time is valid kIOAudioSMPTETimeRunning 2 time is running
A struct for encapsulating the parts of a time stamp. The flags
say which fields are valid.
size 64, align 8
UInt64 fSampleTime the absolute sample time, was a Float64 UInt64 fHostTime the host's root timebase's time UInt64 fRateScalar the system rate scalar, was a Float64 UInt64 fWordClockTime the word clock time IOAudioSMPTETime fSMPTETime the SMPTE time UInt32 fFlags the flags indicate which fields are valid UInt32 fReserved reserved, pads the structure out to force 8 byte alignment
flags for the AudioTimeStamp sturcture
underlying type unsigned int
kIOAudioTimeStampSampleTimeValid 1 kIOAudioTimeStampHostTimeValid 2 kIOAudioTimeStampRateScalarValid 4 kIOAudioTimeStampWordClockTimeValid 8 kIOAudioTimeStampSMPTETimeValid 16
Some commonly used combinations of timestamp flags
underlying type unsigned int
kIOAudioTimeStampSampleHostTimeValid 3
underlying type unsigned int
kIOAudioStreamDirectionOutput 0 kIOAudioStreamDirectionInput 1
underlying type unsigned int
kIOAudioDeviceCanBeDefaultNothing 0 kIOAudioDeviceCanBeDefaultInput 1 kIOAudioDeviceCanBeDefaultOutput 2 kIOAudioDeviceCanBeSystemOutput 4
#define kIOAudioEngineDefaultMixBufferSampleSize sizeof(float) @enum IOAudioControlCalls
@abstract The set of constants passed to IOAudioControlUserClient::getExternalMethodForIndex() when making calls
from the IOAudioFamily user client code.
@constant kIOAudioControlCallSetValue Used to set the value of an IOAudioControl.
@constant kIOAudioControlCallGetValue Used to get the value of an IOAudioControl.
underlying type unsigned int
kIOAudioControlCallSetValue 0 kIOAudioControlCallGetValue 1
@defined kIOAudioControlNumCalls The number of elements in the IOAudioControlCalls enum.
#define kIOAudioControlNumCalls 2 @enum IOAudioControlNotifications
@abstract The set of constants passed in the type field of IOAudioControlUserClient::registerNotificaitonPort().
@constant kIOAudioControlValueChangeNotification Used to request value change notifications.
@constant kIOAudioControlRangeChangeNotification Used to request range change notifications.
underlying type unsigned int
kIOAudioControlValueChangeNotification 0 kIOAudioControlRangeChangeNotification 1
@struct IOAudioNotificationMessage
@abstract Used in the mach message for IOAudio notifications.
@field messageHeader Standard mach message header
@field ref The param passed to registerNotificationPort() in refCon.
size 48, align 8
#define kNoIdleAudioPowerDown 0xffffffffffffffffULL underlying type unsigned int
kIOAudioPortTypeOutput 1869968496 kIOAudioPortTypeInput 1768845428 kIOAudioPortTypeMixer 1835628658 kIOAudioPortTypePassThru 1885434739 kIOAudioPortTypeProcessing 1886547811
underlying type unsigned int
kIOAudioOutputPortSubTypeInternalSpeaker 1769173099 kIOAudioOutputPortSubTypeExternalSpeaker 1702064235 kIOAudioOutputPortSubTypeHeadphones 1751412846 kIOAudioOutputPortSubTypeLine 1818848869 kIOAudioOutputPortSubTypeSPDIF 1936745574 kIOAudioInputPortSubTypeInternalMicrophone 1768778083 kIOAudioInputPortSubTypeExternalMicrophone 1701669219 kIOAudioInputPortSubTypeCD 1667506208 kIOAudioInputPortSubTypeLine 1818848869 kIOAudioInputPortSubTypeSPDIF 1936745574
underlying type unsigned int
kIOAudioControlTypeLevel 1818588780 kIOAudioControlTypeToggle 1953458028 kIOAudioControlTypeJack 1784767339 kIOAudioControlTypeSelector 1936483188
<rdar://8325563> Added kIOAudioToggleControlSubTypePhantomPower, kIOAudioToggleControlSubTypePhaseInvert &
kIOAudioSelectorControlSubTypeChannelHighPassFilter
underlying type unsigned int
kIOAudioLevelControlSubTypeVolume 1986817381 kIOAudioLevelControlSubTypeLFEVolume 1937072758 kIOAudioLevelControlSubTypePRAMVolume 1886544237 kIOAudioToggleControlSubTypeMute 1836414053 kIOAudioToggleControlSubTypeSolo 1936682095 kIOAudioToggleControlSubTypeLFEMute 1937072749 kIOAudioToggleControlSubTypeiSubAttach 1635017576 kIOAudioToggleControlSubTypePhantomPower 1885888878 kIOAudioToggleControlSubTypePhaseInvert 1885893481 kIOAudioSelectorControlSubTypeOutput 1869968496 kIOAudioSelectorControlSubTypeInput 1768845428 kIOAudioSelectorControlSubTypeClockSource 1668047723 kIOAudioSelectorControlSubTypeDestination 1684370292 kIOAudioSelectorControlSubTypeChannelNominalLineLevel 1852597622 kIOAudioSelectorControlSubTypeChannelLevelPlus4dBu 878994037 kIOAudioSelectorControlSubTypeChannelLevelMinus10dBV 825255010 kIOAudioSelectorControlSubTypeChannelLevelMinus20dBV 842032226 kIOAudioSelectorControlSubTypeChannelLevelMicLevel 1835623276 kIOAudioSelectorControlSubTypeChannelLevelInstrumentLevel 1769174124 kIOAudioSelectorControlSubTypeChannelHighPassFilter 1751740518
underlying type unsigned int
kIOAudioControlUsageOutput 1869968496 kIOAudioControlUsageInput 1768845428 kIOAudioControlUsagePassThru 1885434739 kIOAudioControlUsageCoreAudioProperty 1886547824
underlying type int
kIOAudioControlChannelNumberInactive -1 kIOAudioControlChannelIDAll 0 kIOAudioControlChannelIDDefaultLeft 1 kIOAudioControlChannelIDDefaultRight 2 kIOAudioControlChannelIDDefaultCenter 3 kIOAudioControlChannelIDDefaultLeftRear 4 kIOAudioControlChannelIDDefaultRightRear 5 kIOAudioControlChannelIDDefaultSub 6 kIOAudioControlChannelIDDefaultFrontLeftCenter 7 kIOAudioControlChannelIDDefaultFrontRightCenter 8 kIOAudioControlChannelIDDefaultRearCenter 9 kIOAudioControlChannelIDDefaultSurroundLeft 10 kIOAudioControlChannelIDDefaultSurroundRight 11
underlying type unsigned int
kIOAudioSelectorControlSelectionValueNone 1852796517 kIOAudioSelectorControlSelectionValueInternalSpeaker 1769173099 Output-specific selection IDs kIOAudioSelectorControlSelectionValueExternalSpeaker 1702064235 kIOAudioSelectorControlSelectionValueHeadphones 1751412846 kIOAudioSelectorControlSelectionValueInternalMicrophone 1768778083 Input-specific selection IDs kIOAudioSelectorControlSelectionValueExternalMicrophone 1701669219 kIOAudioSelectorControlSelectionValueCD 1667506208 kIOAudioSelectorControlSelectionValueLine 1818848869 Common selection IDs kIOAudioSelectorControlSelectionValueSPDIF 1936745574
underlying type unsigned int
kIOAudioStreamSampleFormatLinearPCM 1819304813 kIOAudioStreamSampleFormatIEEEFloat 1768252773 kIOAudioStreamSampleFormatALaw 1634492791 kIOAudioStreamSampleFormatMuLaw 1970037111 kIOAudioStreamSampleFormatMPEG 1836082535 kIOAudioStreamSampleFormatAC3 1633889587 kIOAudioStreamSampleFormat1937AC3 1667326771 kIOAudioStreamSampleFormat1937MPEG1 1836082993 kIOAudioStreamSampleFormat1937MPEG2 1836082994 kIOAudioStreamSampleFormatTimeCode 1953066341 a stream of IOAudioTimeStamp structures that capture any incoming time code information
underlying type unsigned int
kIOAudioStreamNumericRepresentationSignedInt 1936289396 kIOAudioStreamNumericRepresentationUnsignedInt 1969843828 kIOAudioStreamNumericRepresentationIEEE754Float 1718382452
underlying type unsigned int
kIOAudioClockSelectorTypeInternal 1768846368 kIOAudioClockSelectorTypeExternal 1702392864 kIOAudioClockSelectorTypeAESEBU 1634951797 kIOAudioClockSelectorTypeTOSLink 1953461100 kIOAudioClockSelectorTypeSPDIF 1936745574 kIOAudioClockSelectorTypeADATOptical 1633973359 kIOAudioClockSelectorTypeADAT9Pin 1633973305 kIOAudioClockSelectorTypeSMPTE 1936552052 kIOAudioClockSelectorTypeVideo 1986291055 kIOAudioClockSelectorTypeControl 1668182636 kIOAudioClockSelectorTypeOther 1869899890
underlying type unsigned int
kIOAudioStreamAlignmentLowByte 0 kIOAudioStreamAlignmentHighByte 1
underlying type unsigned int
kIOAudioStreamByteOrderBigEndian 0 kIOAudioStreamByteOrderLittleEndian 1
underlying type unsigned int
kIOAudioLevelControlNegativeInfinity 4294967295
underlying type unsigned int
kIOAudioBuiltInSystemClockDomain 7567731 kIOAudioNewClockDomain 4294967295
<rdar://7130813> Added kIOAudioDeviceTransportTypeDisplayPort
underlying type unsigned int
kIOAudioDeviceTransportTypeBuiltIn 1651274862 kIOAudioDeviceTransportTypePCI 1885563168 kIOAudioDeviceTransportTypeUSB 1970496032 kIOAudioDeviceTransportTypeFireWire 825440564 kIOAudioDeviceTransportTypeNetwork 1853126507 kIOAudioDeviceTransportTypeWireless 2003987571 kIOAudioDeviceTransportTypeOther 1869899890 kIOAudioDeviceTransportTypeBluetooth 1651275109 kIOAudioDeviceTransportTypeVirtual 1986622068 kIOAudioDeviceTransportTypeDisplayPort 1685090932 kIOAudioDeviceTransportTypeHdmi 1751412073 kIOAudioDeviceTransportTypeAVB 1700886114 <rdar://10874672> kIOAudioDeviceTransportTypeThunderbolt 1953002862 <rdar://10874672>
types that go nowhere
underlying type unsigned int
OUTPUT_NULL 256 INPUT_NULL 257
Input terminal types
underlying type unsigned int
INPUT_UNDEFINED 512 INPUT_MICROPHONE 513 INPUT_DESKTOP_MICROPHONE 514 INPUT_PERSONAL_MICROPHONE 515 INPUT_OMNIDIRECTIONAL_MICROPHONE 516 INPUT_MICROPHONE_ARRAY 517 INPUT_PROCESSING_MICROPHONE_ARRAY 518 INPUT_MODEM_AUDIO 519
Output terminal types
underlying type unsigned int
OUTPUT_UNDEFINED 768 OUTPUT_SPEAKER 769 OUTPUT_HEADPHONES 770 OUTPUT_HEAD_MOUNTED_DISPLAY_AUDIO 771 OUTPUT_DESKTOP_SPEAKER 772 OUTPUT_ROOM_SPEAKER 773 OUTPUT_COMMUNICATION_SPEAKER 774 OUTPUT_LOW_FREQUENCY_EFFECTS_SPEAKER 775
Bi-directional terminal types
underlying type unsigned int
BIDIRECTIONAL_UNDEFINED 1024 BIDIRECTIONAL_HANDSET 1025 BIDIRECTIONAL_HEADSET 1026 BIDIRECTIONAL_SPEAKERPHONE_NO_ECHO_REDX 1027 BIDIRECTIONAL_ECHO_SUPPRESSING_SPEAKERPHONE 1028 BIDIRECTIONAL_ECHO_CANCELING_SPEAKERPHONE 1029
Telephony terminal types
underlying type unsigned int
TELEPHONY_UNDEFINED 1280 TELEPHONY_PHONE_LINE 1281 TELEPHONY_TELEPHONE 1282 TELEPHONY_DOWN_LINE_PHONE 1283
External terminal types
underlying type unsigned int
EXTERNAL_UNDEFINED 1536 EXTERNAL_ANALOG_CONNECTOR 1537 EXTERNAL_DIGITAL_AUDIO_INTERFACE 1538 EXTERNAL_LINE_CONNECTOR 1539 EXTERNAL_LEGACY_AUDIO_CONNECTOR 1540 EXTERNAL_SPDIF_INTERFACE 1541 EXTERNAL_1394_DA_STREAM 1542 EXTERNAL_1394_DV_STREAM_SOUNDTRACK 1543 EXTERNAL_ADAT 1544 EXTERNAL_TDIF 1545 EXTERNAL_MADI 1546
Embedded terminal types
underlying type unsigned int
EMBEDDED_UNDEFINED 1792 EMBEDDED_LEVEL_CALIBRATION_NOISE_SOURCE 1793 EMBEDDED_EQUALIZATION_NOISE 1794 EMBEDDED_CD_PLAYER 1795 EMBEDDED_DAT 1796 EMBEDDED_DCC 1797 EMBEDDED_MINIDISK 1798 EMBEDDED_ANALOG_TAPE 1799 EMBEDDED_PHONOGRAPH 1800 EMBEDDED_VCR_AUDIO 1801 EMBEDDED_VIDEO_DISC_AUDIO 1802 EMBEDDED_DVD_AUDIO 1803 EMBEDDED_TV_TUNER_AUDIO 1804 EMBEDDED_SATELLITE_RECEIVER_AUDIO 1805 EMBEDDED_CABLE_TUNER_AUDIO 1806 EMBEDDED_DSS_AUDIO 1807 EMBEDDED_RADIO_RECEIVER 1808 EMBEDDED_RADIO_TRANSMITTER 1809 EMBEDDED_MULTITRACK_RECORDER 1810 EMBEDDED_SYNTHESIZER 1811
Processing terminal types
underlying type unsigned int
PROCESSOR_UNDEFINED 2048 PROCESSOR_GENERAL 2049
#define kIOAudioChannelLabel_Discrete_field_ba 16 underlying type unsigned int
kIOAudioChannelLabel_Unknown 4294967295 unknown or unspecified other use kIOAudioChannelLabel_Unused 0 channel is present, but has no intended use or destination kIOAudioChannelLabel_UseCoordinates 100 channel is described by the mCoordinates fields. kIOAudioChannelLabel_Left 1 kIOAudioChannelLabel_Right 2 kIOAudioChannelLabel_Center 3 kIOAudioChannelLabel_LFEScreen 4 kIOAudioChannelLabel_LeftSurround 5 WAVE: "Back Left" kIOAudioChannelLabel_RightSurround 6 WAVE: "Back Right" kIOAudioChannelLabel_LeftCenter 7 kIOAudioChannelLabel_RightCenter 8 kIOAudioChannelLabel_CenterSurround 9 WAVE: "Back Center" or plain "Rear Surround" kIOAudioChannelLabel_LeftSurroundDirect 10 WAVE: "Side Left" kIOAudioChannelLabel_RightSurroundDirect 11 WAVE: "Side Right" kIOAudioChannelLabel_TopCenterSurround 12 kIOAudioChannelLabel_VerticalHeightLeft 13 WAVE: "Top Front Left" kIOAudioChannelLabel_VerticalHeightCenter 14 WAVE: "Top Front Center" kIOAudioChannelLabel_VerticalHeightRight 15 WAVE: "Top Front Right" kIOAudioChannelLabel_TopBackLeft 16 kIOAudioChannelLabel_TopBackCenter 17 kIOAudioChannelLabel_TopBackRight 18 kIOAudioChannelLabel_RearSurroundLeft 33 kIOAudioChannelLabel_RearSurroundRight 34 kIOAudioChannelLabel_LeftWide 35 kIOAudioChannelLabel_RightWide 36 kIOAudioChannelLabel_LFE2 37 kIOAudioChannelLabel_LeftTotal 38 matrix encoded 4 channels kIOAudioChannelLabel_RightTotal 39 matrix encoded 4 channels kIOAudioChannelLabel_HearingImpaired 40 kIOAudioChannelLabel_Narration 41 kIOAudioChannelLabel_Mono 42 kIOAudioChannelLabel_DialogCentricMix 43 kIOAudioChannelLabel_CenterSurroundDirect 44 back center, non diffuse kIOAudioChannelLabel_Haptic 45 kIOAudioChannelLabel_LeftTopFront 13 kIOAudioChannelLabel_CenterTopFront 14 kIOAudioChannelLabel_RightTopFront 15 kIOAudioChannelLabel_LeftTopMiddle 49 kIOAudioChannelLabel_CenterTopMiddle 12 kIOAudioChannelLabel_RightTopMiddle 51 kIOAudioChannelLabel_LeftTopRear 52 kIOAudioChannelLabel_CenterTopRear 53 kIOAudioChannelLabel_RightTopRear 54 kIOAudioChannelLabel_Ambisonic_W 200 first order ambisonic channels kIOAudioChannelLabel_Ambisonic_X 201 kIOAudioChannelLabel_Ambisonic_Y 202 kIOAudioChannelLabel_Ambisonic_Z 203 kIOAudioChannelLabel_MS_Mid 204 Mid/Side Recording kIOAudioChannelLabel_MS_Side 205 kIOAudioChannelLabel_XY_X 206 X-Y Recording kIOAudioChannelLabel_XY_Y 207 kIOAudioChannelLabel_HeadphonesLeft 301 other kIOAudioChannelLabel_HeadphonesRight 302 kIOAudioChannelLabel_ClickTrack 304 kIOAudioChannelLabel_ForeignLanguage 305 kIOAudioChannelLabel_Discrete 400 generic discrete channel kIOAudioChannelLabel_Discrete_0 65536 numbered discrete channel kIOAudioChannelLabel_Discrete_1 65537 kIOAudioChannelLabel_Discrete_2 65538 kIOAudioChannelLabel_Discrete_3 65539 kIOAudioChannelLabel_Discrete_4 65540 kIOAudioChannelLabel_Discrete_5 65541 kIOAudioChannelLabel_Discrete_6 65542 kIOAudioChannelLabel_Discrete_7 65543 kIOAudioChannelLabel_Discrete_8 65544 kIOAudioChannelLabel_Discrete_9 65545 kIOAudioChannelLabel_Discrete_10 65546 kIOAudioChannelLabel_Discrete_11 65547 kIOAudioChannelLabel_Discrete_12 65548 kIOAudioChannelLabel_Discrete_13 65549 kIOAudioChannelLabel_Discrete_14 65550 kIOAudioChannelLabel_Discrete_15 65551 kIOAudioChannelLabel_Discrete_65535 131071
Generated 2026-09-08 from the headers of one specific machine (macOS 26.4.1, SDK 26.4, arm64) — not official documentation. About & caveats