OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
OcAudio.h File Reference
#include <Protocol/AudioIo.h>
#include <Protocol/AppleVoiceOver.h>
#include <Protocol/DevicePath.h>

Go to the source code of this file.

Data Structures

struct  OC_AUDIO_PROTOCOL_
 

Macros

#define OC_AUDIO_PROTOCOL_REVISION   0x070000
 
#define OC_AUDIO_PROTOCOL_GUID
 
#define OC_VOICE_OVER_AUDIO_BASE_TYPE_APPLE   "AXEFIAudio"
 
#define OC_VOICE_OVER_AUDIO_BASE_TYPE_OPEN_CORE   "OCEFIAudio"
 
#define OC_VOICE_OVER_AUDIO_FILE_ABORT_TIMEOUT   "AbortTimeout"
 
#define OC_VOICE_OVER_AUDIO_FILE_CHOOSE_OS   "ChooseOS"
 
#define OC_VOICE_OVER_AUDIO_FILE_DEFAULT   "Default"
 
#define OC_VOICE_OVER_AUDIO_FILE_DISK_IMAGE   "DiskImage"
 
#define OC_VOICE_OVER_AUDIO_FILE_ENTER_PASSWORD   "EnterPassword"
 
#define OC_VOICE_OVER_AUDIO_FILE_EXECUTION_FAILURE   "ExecutionFailure"
 
#define OC_VOICE_OVER_AUDIO_FILE_EXECUTION_SUCCESSFUL   "ExecutionSuccessful"
 
#define OC_VOICE_OVER_AUDIO_FILE_EXTERNAL   "External"
 
#define OC_VOICE_OVER_AUDIO_FILE_EXTERNAL_OS   "ExternalOS"
 
#define OC_VOICE_OVER_AUDIO_FILE_EXTERNAL_TOOL   "ExternalTool"
 
#define OC_VOICE_OVER_AUDIO_FILE_FIRMWARE_SETTINGS   "FirmwareSettings"
 
#define OC_VOICE_OVER_AUDIO_FILE_LOADING   "Loading"
 
#define OC_VOICE_OVER_AUDIO_FILE_MAC_OS   "macOS"
 
#define OC_VOICE_OVER_AUDIO_FILE_MAC_OS_RECOVERY   "macOS_Recovery"
 
#define OC_VOICE_OVER_AUDIO_FILE_MAC_OS_TIME_MACHINE   "macOS_TimeMachine"
 
#define OC_VOICE_OVER_AUDIO_FILE_MAC_OS_UPDATE_FW   "macOS_UpdateFw"
 
#define OC_VOICE_OVER_AUDIO_FILE_NETWORK_BOOT   "NetworkBoot"
 
#define OC_VOICE_OVER_AUDIO_FILE_OTHER_OS   "OtherOS"
 
#define OC_VOICE_OVER_AUDIO_FILE_PASSWORD_ACCEPTED   "PasswordAccepted"
 
#define OC_VOICE_OVER_AUDIO_FILE_PASSWORD_INCORRECT   "PasswordIncorrect"
 
#define OC_VOICE_OVER_AUDIO_FILE_PASSWORD_RETRY_LIMIT   "PasswordRetryLimit"
 
#define OC_VOICE_OVER_AUDIO_FILE_RELOADING   "Reloading"
 
#define OC_VOICE_OVER_AUDIO_FILE_RESET_NVRAM   "ResetNVRAM"
 
#define OC_VOICE_OVER_AUDIO_FILE_RESTART   "Restart"
 
#define OC_VOICE_OVER_AUDIO_FILE_SELECTED   "Selected"
 
#define OC_VOICE_OVER_AUDIO_FILE_SHOW_AUXILIARY   "ShowAuxiliary"
 
#define OC_VOICE_OVER_AUDIO_FILE_SHUT_DOWN   "ShutDown"
 
#define OC_VOICE_OVER_AUDIO_FILE_SIP_IS_DISABLED   "SIPIsDisabled"
 
#define OC_VOICE_OVER_AUDIO_FILE_SIP_IS_ENABLED   "SIPIsEnabled"
 
#define OC_VOICE_OVER_AUDIO_FILE_TIMEOUT   "Timeout"
 
#define OC_VOICE_OVER_AUDIO_FILE_UEFI_SHELL   "UEFI_Shell"
 
#define OC_VOICE_OVER_AUDIO_FILE_VOICE_OVER_BOOT   "VoiceOver_Boot"
 
#define OC_VOICE_OVER_AUDIO_FILE_WELCOME   "Welcome"
 
#define OC_VOICE_OVER_AUDIO_FILE_WINDOWS   "Windows"
 

Typedefs

typedef struct OC_AUDIO_PROTOCOL_ OC_AUDIO_PROTOCOL
 
typedef EFI_STATUS(EFIAPI * OC_AUDIO_CONNECT) (IN OUT OC_AUDIO_PROTOCOL *This, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath OPTIONAL, IN UINT8 CodecAddress OPTIONAL, IN UINT64 OutputIndexMask)
 
typedef EFI_STATUS(EFIAPI * OC_AUDIO_SET_DEFAULT_GAIN) (IN OUT OC_AUDIO_PROTOCOL *This, IN INT8 Gain)
 
typedef EFI_STATUS(EFIAPI * OC_AUDIO_PROVIDER_ACQUIRE) (IN VOID *Context, IN CONST CHAR8 *BasePath, IN CONST CHAR8 *BaseType, IN BOOLEAN Localised, IN APPLE_VOICE_OVER_LANGUAGE_CODE LanguageCode, OUT UINT8 **Buffer, OUT UINT32 *BufferSize, OUT EFI_AUDIO_IO_PROTOCOL_FREQ *Frequency, OUT EFI_AUDIO_IO_PROTOCOL_BITS *Bits, OUT UINT8 *Channels)
 
typedef EFI_STATUS(EFIAPI * OC_AUDIO_PROVIDER_RELEASE) (IN VOID *Context, IN UINT8 *Buffer)
 
typedef EFI_STATUS(EFIAPI * OC_AUDIO_SET_PROVIDER) (IN OUT OC_AUDIO_PROTOCOL *This, IN OC_AUDIO_PROVIDER_ACQUIRE Acquire, IN OC_AUDIO_PROVIDER_RELEASE Release OPTIONAL, IN VOID *Context)
 
typedef EFI_STATUS(EFIAPI * OC_AUDIO_RAW_GAIN_TO_DECIBELS) (IN OUT OC_AUDIO_PROTOCOL *This, IN UINT8 GainParam, OUT INT8 *Gain)
 
typedef EFI_STATUS(EFIAPI * OC_AUDIO_PLAY_FILE) (IN OUT OC_AUDIO_PROTOCOL *This, IN CONST CHAR8 *BasePath, IN CONST CHAR8 *BaseType, IN BOOLEAN Localised, IN INT8 Gain OPTIONAL, IN BOOLEAN UseGain, IN BOOLEAN Wait)
 
typedef EFI_STATUS(EFIAPI * OC_AUDIO_STOP_PLAYBACK) (IN OUT OC_AUDIO_PROTOCOL *This, IN BOOLEAN Wait)
 
typedef UINTN(EFIAPI * OC_AUDIO_SET_DELAY) (IN OUT OC_AUDIO_PROTOCOL *This, IN UINTN Delay)
 

Variables

EFI_GUID gOcAudioProtocolGuid
 

Detailed Description

Copyright (C) 2020, vit9696. All rights reserved.

All rights reserved.

This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

Definition in file OcAudio.h.

Macro Definition Documentation

◆ OC_AUDIO_PROTOCOL_GUID

#define OC_AUDIO_PROTOCOL_GUID
Value:
{ 0x4B228577, 0x6274, 0x4A48, \
{ 0x82, 0xAE, 0x07, 0x13, 0xA1, 0x17, 0x19, 0x87 } }

Definition at line 28 of file OcAudio.h.

◆ OC_AUDIO_PROTOCOL_REVISION

#define OC_AUDIO_PROTOCOL_REVISION   0x070000

Definition at line 22 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_BASE_TYPE_APPLE

#define OC_VOICE_OVER_AUDIO_BASE_TYPE_APPLE   "AXEFIAudio"

Voice over base types.

Definition at line 37 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_BASE_TYPE_OPEN_CORE

#define OC_VOICE_OVER_AUDIO_BASE_TYPE_OPEN_CORE   "OCEFIAudio"

Definition at line 38 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_ABORT_TIMEOUT

#define OC_VOICE_OVER_AUDIO_FILE_ABORT_TIMEOUT   "AbortTimeout"

Custom OpenCore audio files.

Definition at line 43 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_CHOOSE_OS

#define OC_VOICE_OVER_AUDIO_FILE_CHOOSE_OS   "ChooseOS"

Definition at line 44 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_DEFAULT

#define OC_VOICE_OVER_AUDIO_FILE_DEFAULT   "Default"

Definition at line 45 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_DISK_IMAGE

#define OC_VOICE_OVER_AUDIO_FILE_DISK_IMAGE   "DiskImage"

Definition at line 46 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_ENTER_PASSWORD

#define OC_VOICE_OVER_AUDIO_FILE_ENTER_PASSWORD   "EnterPassword"

Definition at line 47 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_EXECUTION_FAILURE

#define OC_VOICE_OVER_AUDIO_FILE_EXECUTION_FAILURE   "ExecutionFailure"

Definition at line 48 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_EXECUTION_SUCCESSFUL

#define OC_VOICE_OVER_AUDIO_FILE_EXECUTION_SUCCESSFUL   "ExecutionSuccessful"

Definition at line 49 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_EXTERNAL

#define OC_VOICE_OVER_AUDIO_FILE_EXTERNAL   "External"

Definition at line 50 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_EXTERNAL_OS

#define OC_VOICE_OVER_AUDIO_FILE_EXTERNAL_OS   "ExternalOS"

Definition at line 51 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_EXTERNAL_TOOL

#define OC_VOICE_OVER_AUDIO_FILE_EXTERNAL_TOOL   "ExternalTool"

Definition at line 52 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_FIRMWARE_SETTINGS

#define OC_VOICE_OVER_AUDIO_FILE_FIRMWARE_SETTINGS   "FirmwareSettings"

Definition at line 53 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_LOADING

#define OC_VOICE_OVER_AUDIO_FILE_LOADING   "Loading"

Definition at line 54 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_MAC_OS

#define OC_VOICE_OVER_AUDIO_FILE_MAC_OS   "macOS"

Definition at line 55 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_MAC_OS_RECOVERY

#define OC_VOICE_OVER_AUDIO_FILE_MAC_OS_RECOVERY   "macOS_Recovery"

Definition at line 56 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_MAC_OS_TIME_MACHINE

#define OC_VOICE_OVER_AUDIO_FILE_MAC_OS_TIME_MACHINE   "macOS_TimeMachine"

Definition at line 57 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_MAC_OS_UPDATE_FW

#define OC_VOICE_OVER_AUDIO_FILE_MAC_OS_UPDATE_FW   "macOS_UpdateFw"

Definition at line 58 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_NETWORK_BOOT

#define OC_VOICE_OVER_AUDIO_FILE_NETWORK_BOOT   "NetworkBoot"

Definition at line 59 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_OTHER_OS

#define OC_VOICE_OVER_AUDIO_FILE_OTHER_OS   "OtherOS"

Definition at line 60 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_PASSWORD_ACCEPTED

#define OC_VOICE_OVER_AUDIO_FILE_PASSWORD_ACCEPTED   "PasswordAccepted"

Definition at line 61 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_PASSWORD_INCORRECT

#define OC_VOICE_OVER_AUDIO_FILE_PASSWORD_INCORRECT   "PasswordIncorrect"

Definition at line 62 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_PASSWORD_RETRY_LIMIT

#define OC_VOICE_OVER_AUDIO_FILE_PASSWORD_RETRY_LIMIT   "PasswordRetryLimit"

Definition at line 63 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_RELOADING

#define OC_VOICE_OVER_AUDIO_FILE_RELOADING   "Reloading"

Definition at line 64 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_RESET_NVRAM

#define OC_VOICE_OVER_AUDIO_FILE_RESET_NVRAM   "ResetNVRAM"

Definition at line 65 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_RESTART

#define OC_VOICE_OVER_AUDIO_FILE_RESTART   "Restart"

Definition at line 66 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_SELECTED

#define OC_VOICE_OVER_AUDIO_FILE_SELECTED   "Selected"

Definition at line 67 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_SHOW_AUXILIARY

#define OC_VOICE_OVER_AUDIO_FILE_SHOW_AUXILIARY   "ShowAuxiliary"

Definition at line 68 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_SHUT_DOWN

#define OC_VOICE_OVER_AUDIO_FILE_SHUT_DOWN   "ShutDown"

Definition at line 69 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_SIP_IS_DISABLED

#define OC_VOICE_OVER_AUDIO_FILE_SIP_IS_DISABLED   "SIPIsDisabled"

Definition at line 70 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_SIP_IS_ENABLED

#define OC_VOICE_OVER_AUDIO_FILE_SIP_IS_ENABLED   "SIPIsEnabled"

Definition at line 71 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_TIMEOUT

#define OC_VOICE_OVER_AUDIO_FILE_TIMEOUT   "Timeout"

Definition at line 72 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_UEFI_SHELL

#define OC_VOICE_OVER_AUDIO_FILE_UEFI_SHELL   "UEFI_Shell"

Definition at line 73 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_VOICE_OVER_BOOT

#define OC_VOICE_OVER_AUDIO_FILE_VOICE_OVER_BOOT   "VoiceOver_Boot"

Definition at line 74 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_WELCOME

#define OC_VOICE_OVER_AUDIO_FILE_WELCOME   "Welcome"

Definition at line 75 of file OcAudio.h.

◆ OC_VOICE_OVER_AUDIO_FILE_WINDOWS

#define OC_VOICE_OVER_AUDIO_FILE_WINDOWS   "Windows"

Definition at line 76 of file OcAudio.h.

Typedef Documentation

◆ OC_AUDIO_CONNECT

typedef EFI_STATUS(EFIAPI * OC_AUDIO_CONNECT) (IN OUT OC_AUDIO_PROTOCOL *This, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath OPTIONAL, IN UINT8 CodecAddress OPTIONAL, IN UINT64 OutputIndexMask)

Connect to Audio I/O.

Parameters
[in,out]ThisAudio protocol instance.
[in]DevicePathController device path, optional.
[in]CodecAddressCodec address, optional.
[in]OutputIndexMaskOutput index mask.
Return values
EFI_SUCESSon success.
EFI_NOT_FOUNDwhen missing.
EFI_UNSUPPORTEDon failure.

Definition at line 91 of file OcAudio.h.

◆ OC_AUDIO_PLAY_FILE

typedef EFI_STATUS(EFIAPI * OC_AUDIO_PLAY_FILE) (IN OUT OC_AUDIO_PROTOCOL *This, IN CONST CHAR8 *BasePath, IN CONST CHAR8 *BaseType, IN BOOLEAN Localised, IN INT8 Gain OPTIONAL, IN BOOLEAN UseGain, IN BOOLEAN Wait)

Play file.

Parameters
[in,out]ThisAudio protocol instance.
[in]BasePathFile base path.
[in]BaseTypeAudio base type.
[in]LocalisedIs file localised?
[in]GainThe amplifier gain (or attenuation if negative) in dB to use, relative to 0 dB level.
[in]UseGainIf TRUE use provided volume level, otherwise use stored global volume level.
[in]WaitWait for completion of the previous track.
Return values
EFI_SUCCESSon successful playback startup.

Definition at line 212 of file OcAudio.h.

◆ OC_AUDIO_PROTOCOL

Definition at line 32 of file OcAudio.h.

◆ OC_AUDIO_PROVIDER_ACQUIRE

typedef EFI_STATUS(EFIAPI * OC_AUDIO_PROVIDER_ACQUIRE) (IN VOID *Context, IN CONST CHAR8 *BasePath, IN CONST CHAR8 *BaseType, IN BOOLEAN Localised, IN APPLE_VOICE_OVER_LANGUAGE_CODE LanguageCode, OUT UINT8 **Buffer, OUT UINT32 *BufferSize, OUT EFI_AUDIO_IO_PROTOCOL_FREQ *Frequency, OUT EFI_AUDIO_IO_PROTOCOL_BITS *Bits, OUT UINT8 *Channels)

Retrieve file contents callback.

Parameters
[in,out]ContextExternally specified context.
[in]BasePathFile base path.
[in]BaseTypeAudio base type.
[in]LocalisedIs file localised?
[in]LanguageCodeLanguage code for the file.
[out]BufferPointer to buffer.
[out]BufferSizePointer to buffer size.
[out]FrequencyDecoded PCM frequency.
[out]BitsDecoded bit count.
[out]ChannelsDecoded amount of channels.
Return values
EFI_SUCCESSon successful file lookup.

Definition at line 132 of file OcAudio.h.

◆ OC_AUDIO_PROVIDER_RELEASE

typedef EFI_STATUS(EFIAPI * OC_AUDIO_PROVIDER_RELEASE) (IN VOID *Context, IN UINT8 *Buffer)

Release file contents given by acquire callback.

Parameters
[in,out]ContextExternally specified context.
[out]BufferPointer to buffer.
Return values
EFI_SUCCESSon successful release.

Definition at line 155 of file OcAudio.h.

◆ OC_AUDIO_RAW_GAIN_TO_DECIBELS

typedef EFI_STATUS(EFIAPI * OC_AUDIO_RAW_GAIN_TO_DECIBELS) (IN OUT OC_AUDIO_PROTOCOL *This, IN UINT8 GainParam, OUT INT8 *Gain)

Convert raw amplifier gain setting to decibel gain value; converts using the parameters of the first channel specified for sound on the current codec which has non-zero amp capabilities.

Parameters
[in,out]ThisAudio protocol instance.
[in]GainParamRaw codec gain param.
[out]GainThe amplifier gain (or attenuation if negative) in dB to use, relative to 0 dB level.
Return values
EFI_SUCCESSon successful conversion.

Definition at line 191 of file OcAudio.h.

◆ OC_AUDIO_SET_DEFAULT_GAIN

typedef EFI_STATUS(EFIAPI * OC_AUDIO_SET_DEFAULT_GAIN) (IN OUT OC_AUDIO_PROTOCOL *This, IN INT8 Gain)

Set Audio I/O default gain.

Parameters
[in,out]ThisAudio protocol instance.
[in]GainThe amplifier gain (or attenuation if negative) in dB to use, relative to 0 dB level (0 dB is usually at at or near max available volume, but is not required to be so in the spec).
Return values
EFI_SUCESSon success.

Definition at line 109 of file OcAudio.h.

◆ OC_AUDIO_SET_DELAY

typedef UINTN(EFIAPI * OC_AUDIO_SET_DELAY) (IN OUT OC_AUDIO_PROTOCOL *This, IN UINTN Delay)

Set playback delay.

Parameters
[in,out]ThisAudio protocol instance.
[in]DelayDelay after audio configuration in milliseconds.
Returns
previous delay, defaults to 0.

Definition at line 247 of file OcAudio.h.

◆ OC_AUDIO_SET_PROVIDER

typedef EFI_STATUS(EFIAPI * OC_AUDIO_SET_PROVIDER) (IN OUT OC_AUDIO_PROTOCOL *This, IN OC_AUDIO_PROVIDER_ACQUIRE Acquire, IN OC_AUDIO_PROVIDER_RELEASE Release OPTIONAL, IN VOID *Context)

Set resource provider.

Parameters
[in,out]ThisAudio protocol instance.
[in]AcquireResource acquire handler.
[in]ReleaseResource release handler, optional.
[in]ContextResource handler context.
Return values
EFI_SUCCESSon successful provider update.

Definition at line 172 of file OcAudio.h.

◆ OC_AUDIO_STOP_PLAYBACK

typedef EFI_STATUS(EFIAPI * OC_AUDIO_STOP_PLAYBACK) (IN OUT OC_AUDIO_PROTOCOL *This, IN BOOLEAN Wait)

Stop playback.

Parameters
[in,out]ThisAudio protocol instance.
[in]WaitWait for audio completion.
Return values
EFI_SUCCESSon successful playback stop.

Definition at line 232 of file OcAudio.h.

Variable Documentation

◆ gOcAudioProtocolGuid

EFI_GUID gOcAudioProtocolGuid
extern

Definition at line 197 of file UserGlobalVar.c.