OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
AudioIo.h
Go to the documentation of this file.
1/*
2 * File: AudioIo.h
3 *
4 * Copyright (c) 2018 John Davis
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 * of this software and associated documentation files (the "Software"), to deal
8 * in the Software without restriction, including without limitation the rights
9 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 * copies of the Software, and to permit persons to whom the Software is
11 * furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be included in all
14 * copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 * SOFTWARE.
23 */
24
25#ifndef EFI_AUDIO_IO_H
26#define EFI_AUDIO_IO_H
27
28#include <Uefi.h>
29
34#define EFI_AUDIO_IO_PROTOCOL_GUID \
35 { 0x22266891, 0x2032, 0x4BAE, \
36 { 0xB7, 0xB5, 0x43, 0x74, 0xE7, 0x32, 0x09, 0x49 } }
37
39
40#define EFI_AUDIO_IO_PROTOCOL_REVISION 4
41
50
64
79
89
100
116
128
132#define EFI_AUDIO_IO_PROTOCOL_MAX_CHANNELS 16
133#define EFI_AUDIO_IO_PROTOCOL_MAX_VOLUME 100
134
138typedef
139VOID
140(EFIAPI *EFI_AUDIO_IO_CALLBACK)(
141 IN EFI_AUDIO_IO_PROTOCOL *AudioIo,
142 IN VOID *Context
143 );
144
155typedef
156EFI_STATUS
158 IN EFI_AUDIO_IO_PROTOCOL *This,
159 OUT EFI_AUDIO_IO_PROTOCOL_PORT **OutputPorts,
160 OUT UINTN *OutputPortsCount
161 );
162
178typedef
179EFI_STATUS
181 IN EFI_AUDIO_IO_PROTOCOL *This,
182 IN UINT64 OutputIndexMask,
183 IN UINT8 GainParam,
184 OUT INT8 *Gain
185 );
186
203typedef
204EFI_STATUS
206 IN EFI_AUDIO_IO_PROTOCOL *This,
207 IN UINT64 OutputIndexMask,
208 IN INT8 Gain,
211 IN UINT8 Channels,
212 IN UINTN PlaybackDelay
213 );
214
226typedef
227EFI_STATUS
229 IN EFI_AUDIO_IO_PROTOCOL *This,
230 IN VOID *Data,
231 IN UINTN DataLength,
232 IN UINTN Position OPTIONAL
233 );
234
249typedef
250EFI_STATUS
252 IN EFI_AUDIO_IO_PROTOCOL *This,
253 IN VOID *Data,
254 IN UINTN DataLength,
255 IN UINTN Position OPTIONAL,
256 IN EFI_AUDIO_IO_CALLBACK Callback OPTIONAL,
257 IN VOID *Context OPTIONAL
258 );
259
269typedef
270EFI_STATUS
272 IN EFI_AUDIO_IO_PROTOCOL *This
273 );
274
287
288extern EFI_GUID gEfiAudioIoProtocolGuid;
289
290#endif // EFI_AUDIO_IO_H
EFI_STATUS(EFIAPI * EFI_AUDIO_IO_START_PLAYBACK)(IN EFI_AUDIO_IO_PROTOCOL *This, IN VOID *Data, IN UINTN DataLength, IN UINTN Position OPTIONAL)
Definition AudioIo.h:228
EFI_STATUS(EFIAPI * EFI_AUDIO_IO_START_PLAYBACK_ASYNC)(IN EFI_AUDIO_IO_PROTOCOL *This, IN VOID *Data, IN UINTN DataLength, IN UINTN Position OPTIONAL, IN EFI_AUDIO_IO_CALLBACK Callback OPTIONAL, IN VOID *Context OPTIONAL)
Definition AudioIo.h:251
EFI_AUDIO_IO_PROTOCOL_DEVICE
Definition AudioIo.h:54
@ EfiAudioIoDeviceMic
Definition AudioIo.h:59
@ EfiAudioIoDeviceSpdif
Definition AudioIo.h:58
@ EfiAudioIoDeviceOther
Definition AudioIo.h:61
@ EfiAudioIoDeviceHdmi
Definition AudioIo.h:60
@ EfiAudioIoDeviceSpeaker
Definition AudioIo.h:56
@ EfiAudioIoDeviceMaximum
Definition AudioIo.h:62
@ EfiAudioIoDeviceLine
Definition AudioIo.h:55
@ EfiAudioIoDeviceHeadphones
Definition AudioIo.h:57
EFI_AUDIO_IO_PROTOCOL_SURFACE
Definition AudioIo.h:83
@ EfiAudioIoSurfaceOther
Definition AudioIo.h:86
@ EfiAudioIoSurfaceExternal
Definition AudioIo.h:84
@ EfiAudioIoSurfaceMaximum
Definition AudioIo.h:87
@ EfiAudioIoSurfaceInternal
Definition AudioIo.h:85
EFI_STATUS(EFIAPI * EFI_AUDIO_IO_RAW_GAIN_TO_DECIBELS)(IN EFI_AUDIO_IO_PROTOCOL *This, IN UINT64 OutputIndexMask, IN UINT8 GainParam, OUT INT8 *Gain)
Definition AudioIo.h:180
EFI_AUDIO_IO_PROTOCOL_LOCATION
Definition AudioIo.h:68
@ EfiAudioIoLocationNone
Definition AudioIo.h:69
@ EfiAudioIoLocationOther
Definition AudioIo.h:76
@ EfiAudioIoLocationMaximum
Definition AudioIo.h:77
@ EfiAudioIoLocationRear
Definition AudioIo.h:70
@ EfiAudioIoLocationRight
Definition AudioIo.h:73
@ EfiAudioIoLocationBottom
Definition AudioIo.h:75
@ EfiAudioIoLocationTop
Definition AudioIo.h:74
@ EfiAudioIoLocationFront
Definition AudioIo.h:71
@ EfiAudioIoLocationLeft
Definition AudioIo.h:72
EFI_STATUS(EFIAPI * EFI_AUDIO_IO_SETUP_PLAYBACK)(IN EFI_AUDIO_IO_PROTOCOL *This, IN UINT64 OutputIndexMask, IN INT8 Gain, IN EFI_AUDIO_IO_PROTOCOL_FREQ Freq, IN EFI_AUDIO_IO_PROTOCOL_BITS Bits, IN UINT8 Channels, IN UINTN PlaybackDelay)
Definition AudioIo.h:205
EFI_AUDIO_IO_PROTOCOL_FREQ
Definition AudioIo.h:104
@ EfiAudioIoFreq11kHz
Definition AudioIo.h:106
@ EfiAudioIoFreq96kHz
Definition AudioIo.h:113
@ EfiAudioIoFreq22kHz
Definition AudioIo.h:108
@ EfiAudioIoFreq44kHz
Definition AudioIo.h:110
@ EfiAudioIoFreq88kHz
Definition AudioIo.h:112
@ EfiAudioIoFreq192kHz
Definition AudioIo.h:114
@ EfiAudioIoFreq16kHz
Definition AudioIo.h:107
@ EfiAudioIoFreq48kHz
Definition AudioIo.h:111
@ EfiAudioIoFreq32kHz
Definition AudioIo.h:109
@ EfiAudioIoFreq8kHz
Definition AudioIo.h:105
VOID(EFIAPI * EFI_AUDIO_IO_CALLBACK)(IN EFI_AUDIO_IO_PROTOCOL *AudioIo, IN VOID *Context)
Definition AudioIo.h:140
EFI_STATUS(EFIAPI * EFI_AUDIO_IO_GET_OUTPUTS)(IN EFI_AUDIO_IO_PROTOCOL *This, OUT EFI_AUDIO_IO_PROTOCOL_PORT **OutputPorts, OUT UINTN *OutputPortsCount)
Definition AudioIo.h:157
EFI_AUDIO_IO_PROTOCOL_TYPE
Definition AudioIo.h:45
@ EfiAudioIoTypeMaximum
Definition AudioIo.h:48
@ EfiAudioIoTypeOutput
Definition AudioIo.h:46
@ EfiAudioIoTypeInput
Definition AudioIo.h:47
EFI_STATUS(EFIAPI * EFI_AUDIO_IO_STOP_PLAYBACK)(IN EFI_AUDIO_IO_PROTOCOL *This)
Definition AudioIo.h:271
EFI_GUID gEfiAudioIoProtocolGuid
EFI_AUDIO_IO_PROTOCOL_BITS
Definition AudioIo.h:93
@ EfiAudioIoBits24
Definition AudioIo.h:97
@ EfiAudioIoBits20
Definition AudioIo.h:96
@ EfiAudioIoBits16
Definition AudioIo.h:95
@ EfiAudioIoBits8
Definition AudioIo.h:94
@ EfiAudioIoBits32
Definition AudioIo.h:98
#define Freq
Definition deflate.h:79
EFI_AUDIO_IO_START_PLAYBACK StartPlayback
Definition AudioIo.h:283
EFI_AUDIO_IO_STOP_PLAYBACK StopPlayback
Definition AudioIo.h:285
EFI_AUDIO_IO_START_PLAYBACK_ASYNC StartPlaybackAsync
Definition AudioIo.h:284
EFI_AUDIO_IO_GET_OUTPUTS GetOutputs
Definition AudioIo.h:280
EFI_AUDIO_IO_SETUP_PLAYBACK SetupPlayback
Definition AudioIo.h:282
EFI_AUDIO_IO_RAW_GAIN_TO_DECIBELS RawGainToDecibels
Definition AudioIo.h:281
EFI_AUDIO_IO_PROTOCOL_BITS SupportedBits
Definition AudioIo.h:122
EFI_AUDIO_IO_PROTOCOL_SURFACE Surface
Definition AudioIo.h:126
EFI_AUDIO_IO_PROTOCOL_FREQ SupportedFreqs
Definition AudioIo.h:123
EFI_AUDIO_IO_PROTOCOL_LOCATION Location
Definition AudioIo.h:125
EFI_AUDIO_IO_PROTOCOL_TYPE Type
Definition AudioIo.h:121
EFI_AUDIO_IO_PROTOCOL_DEVICE Device
Definition AudioIo.h:124