15#ifndef OC_AUDIO_PROTOCOL_H
16#define OC_AUDIO_PROTOCOL_H
20#include <Protocol/DevicePath.h>
22#define OC_AUDIO_PROTOCOL_REVISION 0x070000
28#define OC_AUDIO_PROTOCOL_GUID \
29 { 0x4B228577, 0x6274, 0x4A48, \
30 { 0x82, 0xAE, 0x07, 0x13, 0xA1, 0x17, 0x19, 0x87 } }
37#define OC_VOICE_OVER_AUDIO_BASE_TYPE_APPLE "AXEFIAudio"
38#define OC_VOICE_OVER_AUDIO_BASE_TYPE_OPEN_CORE "OCEFIAudio"
43#define OC_VOICE_OVER_AUDIO_FILE_ABORT_TIMEOUT "AbortTimeout"
44#define OC_VOICE_OVER_AUDIO_FILE_CHOOSE_OS "ChooseOS"
45#define OC_VOICE_OVER_AUDIO_FILE_DEFAULT "Default"
46#define OC_VOICE_OVER_AUDIO_FILE_DISK_IMAGE "DiskImage"
47#define OC_VOICE_OVER_AUDIO_FILE_ENTER_PASSWORD "EnterPassword"
48#define OC_VOICE_OVER_AUDIO_FILE_EXECUTION_FAILURE "ExecutionFailure"
49#define OC_VOICE_OVER_AUDIO_FILE_EXECUTION_SUCCESSFUL "ExecutionSuccessful"
50#define OC_VOICE_OVER_AUDIO_FILE_EXTERNAL "External"
51#define OC_VOICE_OVER_AUDIO_FILE_EXTERNAL_OS "ExternalOS"
52#define OC_VOICE_OVER_AUDIO_FILE_EXTERNAL_TOOL "ExternalTool"
53#define OC_VOICE_OVER_AUDIO_FILE_FIRMWARE_SETTINGS "FirmwareSettings"
54#define OC_VOICE_OVER_AUDIO_FILE_LOADING "Loading"
55#define OC_VOICE_OVER_AUDIO_FILE_MAC_OS "macOS"
56#define OC_VOICE_OVER_AUDIO_FILE_MAC_OS_RECOVERY "macOS_Recovery"
57#define OC_VOICE_OVER_AUDIO_FILE_MAC_OS_TIME_MACHINE "macOS_TimeMachine"
58#define OC_VOICE_OVER_AUDIO_FILE_MAC_OS_UPDATE_FW "macOS_UpdateFw"
59#define OC_VOICE_OVER_AUDIO_FILE_NETWORK_BOOT "NetworkBoot"
60#define OC_VOICE_OVER_AUDIO_FILE_OTHER_OS "OtherOS"
61#define OC_VOICE_OVER_AUDIO_FILE_PASSWORD_ACCEPTED "PasswordAccepted"
62#define OC_VOICE_OVER_AUDIO_FILE_PASSWORD_INCORRECT "PasswordIncorrect"
63#define OC_VOICE_OVER_AUDIO_FILE_PASSWORD_RETRY_LIMIT "PasswordRetryLimit"
64#define OC_VOICE_OVER_AUDIO_FILE_RELOADING "Reloading"
65#define OC_VOICE_OVER_AUDIO_FILE_RESET_NVRAM "ResetNVRAM"
66#define OC_VOICE_OVER_AUDIO_FILE_RESTART "Restart"
67#define OC_VOICE_OVER_AUDIO_FILE_SELECTED "Selected"
68#define OC_VOICE_OVER_AUDIO_FILE_SHOW_AUXILIARY "ShowAuxiliary"
69#define OC_VOICE_OVER_AUDIO_FILE_SHUT_DOWN "ShutDown"
70#define OC_VOICE_OVER_AUDIO_FILE_SIP_IS_DISABLED "SIPIsDisabled"
71#define OC_VOICE_OVER_AUDIO_FILE_SIP_IS_ENABLED "SIPIsEnabled"
72#define OC_VOICE_OVER_AUDIO_FILE_TIMEOUT "Timeout"
73#define OC_VOICE_OVER_AUDIO_FILE_UEFI_SHELL "UEFI_Shell"
74#define OC_VOICE_OVER_AUDIO_FILE_VOICE_OVER_BOOT "VoiceOver_Boot"
75#define OC_VOICE_OVER_AUDIO_FILE_WELCOME "Welcome"
76#define OC_VOICE_OVER_AUDIO_FILE_WINDOWS "Windows"
94 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath OPTIONAL,
95 IN UINT8 CodecAddress OPTIONAL,
96 IN UINT64 OutputIndexMask
135 IN CONST CHAR8 *BasePath,
136 IN CONST CHAR8 *BaseType,
137 IN BOOLEAN Localised,
140 OUT UINT32 *BufferSize,
215 IN CONST CHAR8 *BasePath,
216 IN CONST CHAR8 *BaseType,
217 IN BOOLEAN Localised,
218 IN INT8 Gain OPTIONAL,
APPLE_VOICE_OVER_LANGUAGE_CODE
EFI_AUDIO_IO_PROTOCOL_FREQ
EFI_AUDIO_IO_PROTOCOL_BITS
EFI_GUID gOcAudioProtocolGuid
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)
UINTN(EFIAPI * OC_AUDIO_SET_DELAY)(IN OUT OC_AUDIO_PROTOCOL *This, IN UINTN Delay)
EFI_STATUS(EFIAPI * OC_AUDIO_RAW_GAIN_TO_DECIBELS)(IN OUT OC_AUDIO_PROTOCOL *This, IN UINT8 GainParam, OUT INT8 *Gain)
EFI_STATUS(EFIAPI * OC_AUDIO_STOP_PLAYBACK)(IN OUT OC_AUDIO_PROTOCOL *This, IN BOOLEAN Wait)
EFI_STATUS(EFIAPI * OC_AUDIO_PROVIDER_RELEASE)(IN VOID *Context, IN UINT8 *Buffer)
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)
EFI_STATUS(EFIAPI * OC_AUDIO_SET_DEFAULT_GAIN)(IN OUT OC_AUDIO_PROTOCOL *This, IN INT8 Gain)
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)
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)
OC_TYPING_BUFFER_ENTRY Buffer[OC_TYPING_BUFFER_SIZE]
OC_AUDIO_SET_DELAY SetDelay
OC_AUDIO_STOP_PLAYBACK StopPlayback
OC_AUDIO_RAW_GAIN_TO_DECIBELS RawGainToDecibels
OC_AUDIO_PLAY_FILE PlayFile
OC_AUDIO_SET_DEFAULT_GAIN SetDefaultGain
OC_AUDIO_SET_PROVIDER SetProvider