OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
HdaIo.h File Reference
#include <Uefi.h>
#include <Protocol/DevicePath.h>

Go to the source code of this file.

Data Structures

struct  EFI_HDA_IO_VERB_LIST
 
struct  EFI_HDA_IO_PROTOCOL_
 
struct  EFI_HDA_IO_DEVICE_PATH
 

Macros

#define EFI_HDA_IO_PROTOCOL_GUID
 
#define EFI_HDA_IO_DEVICE_PATH_GUID
 
#define EFI_HDA_IO_DEVICE_PATH_TEMPLATE
 

Typedefs

typedef struct EFI_HDA_IO_PROTOCOL_ EFI_HDA_IO_PROTOCOL
 
typedef VOID(EFIAPI * EFI_HDA_IO_STREAM_CALLBACK) (IN EFI_HDA_IO_PROTOCOL_TYPE Type, IN VOID *Context1, IN VOID *Context2, IN VOID *Context3)
 
typedef EFI_STATUS(EFIAPI * EFI_HDA_IO_GET_ADDRESS) (IN EFI_HDA_IO_PROTOCOL *This, OUT UINT8 *CodecAddress)
 
typedef EFI_STATUS(EFIAPI * EFI_HDA_IO_SEND_COMMAND) (IN EFI_HDA_IO_PROTOCOL *This, IN UINT8 Node, IN UINT32 Verb, OUT UINT32 *Response)
 
typedef EFI_STATUS(EFIAPI * EFI_HDA_IO_SEND_COMMANDS) (IN EFI_HDA_IO_PROTOCOL *This, IN UINT8 Node, IN OUT EFI_HDA_IO_VERB_LIST *Verbs)
 
typedef EFI_STATUS(EFIAPI * EFI_HDA_IO_SETUP_STREAM) (IN EFI_HDA_IO_PROTOCOL *This, IN EFI_HDA_IO_PROTOCOL_TYPE Type, IN UINT16 Format, OUT UINT8 *StreamId)
 
typedef EFI_STATUS(EFIAPI * EFI_HDA_IO_CLOSE_STREAM) (IN EFI_HDA_IO_PROTOCOL *This, IN EFI_HDA_IO_PROTOCOL_TYPE Type)
 
typedef EFI_STATUS(EFIAPI * EFI_HDA_IO_GET_STREAM) (IN EFI_HDA_IO_PROTOCOL *This, IN EFI_HDA_IO_PROTOCOL_TYPE Type, OUT BOOLEAN *State)
 
typedef EFI_STATUS(EFIAPI * EFI_HDA_IO_START_STREAM) (IN EFI_HDA_IO_PROTOCOL *This, IN EFI_HDA_IO_PROTOCOL_TYPE Type, IN VOID *Buffer, IN UINTN BufferLength, IN UINTN BufferPosition OPTIONAL, IN EFI_HDA_IO_STREAM_CALLBACK Callback OPTIONAL, IN VOID *Context1 OPTIONAL, IN VOID *Context2 OPTIONAL, IN VOID *Context3 OPTIONAL)
 
typedef EFI_STATUS(EFIAPI * EFI_HDA_IO_STOP_STREAM) (IN EFI_HDA_IO_PROTOCOL *This, IN EFI_HDA_IO_PROTOCOL_TYPE Type)
 

Enumerations

enum  EFI_HDA_IO_PROTOCOL_TYPE { EfiHdaIoTypeInput , EfiHdaIoTypeOutput , EfiHdaIoTypeMaximum }
 

Functions

 STATIC_ASSERT (sizeof(EFI_HDA_IO_DEVICE_PATH)==sizeof(EFI_DEVICE_PATH_PROTOCOL)+sizeof(EFI_GUID)+sizeof(UINT32), "Unexpected EFI_HDA_IO_DEVICE_PATH size")
 

Variables

EFI_GUID gEfiHdaIoProtocolGuid
 
EFI_GUID gEfiHdaIoDevicePathGuid
 

Macro Definition Documentation

◆ EFI_HDA_IO_DEVICE_PATH_GUID

#define EFI_HDA_IO_DEVICE_PATH_GUID
Value:
{ 0xA9003FEB, 0xD806, 0x41DB, \
{ 0xA4, 0x91, 0x54, 0x05, 0xFE, 0xEF, 0x46, 0xC3 } }

HDA I/O Device Path GUID.

Definition at line 196 of file HdaIo.h.

◆ EFI_HDA_IO_DEVICE_PATH_TEMPLATE

#define EFI_HDA_IO_DEVICE_PATH_TEMPLATE
Value:
{ \
{ \
MESSAGING_DEVICE_PATH, \
MSG_VENDOR_DP, \
{ \
(UINT8) (sizeof (EFI_HDA_IO_DEVICE_PATH) & 0xFFU), \
(UINT8) ((sizeof (EFI_HDA_IO_DEVICE_PATH) >> 8U) & 0xFFU) \
} \
}, \
0 \
}
EFI_GUID gEfiHdaIoDevicePathGuid

Template for HDA I/O Device Path protocol.

Definition at line 226 of file HdaIo.h.

◆ EFI_HDA_IO_PROTOCOL_GUID

#define EFI_HDA_IO_PROTOCOL_GUID
Value:
{ 0xA090D7F9, 0xB50A, 0x4EA1, \
{ 0xBD, 0xE9, 0x1A, 0xA5, 0xE9, 0x81, 0x2F, 0x45 } }

Definition at line 38 of file HdaIo.h.

Typedef Documentation

◆ EFI_HDA_IO_CLOSE_STREAM

typedef EFI_STATUS(EFIAPI * EFI_HDA_IO_CLOSE_STREAM) (IN EFI_HDA_IO_PROTOCOL *This, IN EFI_HDA_IO_PROTOCOL_TYPE Type)

Definition at line 138 of file HdaIo.h.

◆ EFI_HDA_IO_GET_ADDRESS

typedef EFI_STATUS(EFIAPI * EFI_HDA_IO_GET_ADDRESS) (IN EFI_HDA_IO_PROTOCOL *This, OUT UINT8 *CodecAddress)

Retrieves this codec's address.

Parameters
[in]ThisA pointer to the HDA_IO_PROTOCOL instance.
[out]CodecAddressThe codec's address.
Return values
EFI_SUCCESSThe codec's address was returned.
EFI_INVALID_PARAMETEROne or more parameters are invalid.

Definition at line 84 of file HdaIo.h.

◆ EFI_HDA_IO_GET_STREAM

typedef EFI_STATUS(EFIAPI * EFI_HDA_IO_GET_STREAM) (IN EFI_HDA_IO_PROTOCOL *This, IN EFI_HDA_IO_PROTOCOL_TYPE Type, OUT BOOLEAN *State)

Definition at line 145 of file HdaIo.h.

◆ EFI_HDA_IO_PROTOCOL

Definition at line 42 of file HdaIo.h.

◆ EFI_HDA_IO_SEND_COMMAND

typedef EFI_STATUS(EFIAPI * EFI_HDA_IO_SEND_COMMAND) (IN EFI_HDA_IO_PROTOCOL *This, IN UINT8 Node, IN UINT32 Verb, OUT UINT32 *Response)

Sends a single command to the codec.

Parameters
[in]ThisA pointer to the HDA_IO_PROTOCOL instance.
[in]NodeThe destination node.
[in]VerbThe verb to send.
[out]ResponseThe response received.
Return values
EFI_SUCCESSThe verb was sent successfully and a response received.
EFI_INVALID_PARAMETEROne or more parameters are invalid.

Definition at line 102 of file HdaIo.h.

◆ EFI_HDA_IO_SEND_COMMANDS

typedef EFI_STATUS(EFIAPI * EFI_HDA_IO_SEND_COMMANDS) (IN EFI_HDA_IO_PROTOCOL *This, IN UINT8 Node, IN OUT EFI_HDA_IO_VERB_LIST *Verbs)

Sends a set of commands to the codec.

Parameters
[in]ThisA pointer to the HDA_IO_PROTOCOL instance.
[in]NodeThe destination node.
[in]VerbsThe verbs to send. Responses will be delievered in the same list.
Return values
EFI_SUCCESSThe verbs were sent successfully and all responses received.
EFI_INVALID_PARAMETEROne or more parameters are invalid.

Definition at line 121 of file HdaIo.h.

◆ EFI_HDA_IO_SETUP_STREAM

typedef EFI_STATUS(EFIAPI * EFI_HDA_IO_SETUP_STREAM) (IN EFI_HDA_IO_PROTOCOL *This, IN EFI_HDA_IO_PROTOCOL_TYPE Type, IN UINT16 Format, OUT UINT8 *StreamId)

Definition at line 129 of file HdaIo.h.

◆ EFI_HDA_IO_START_STREAM

typedef EFI_STATUS(EFIAPI * EFI_HDA_IO_START_STREAM) (IN EFI_HDA_IO_PROTOCOL *This, IN EFI_HDA_IO_PROTOCOL_TYPE Type, IN VOID *Buffer, IN UINTN BufferLength, IN UINTN BufferPosition OPTIONAL, IN EFI_HDA_IO_STREAM_CALLBACK Callback OPTIONAL, IN VOID *Context1 OPTIONAL, IN VOID *Context2 OPTIONAL, IN VOID *Context3 OPTIONAL)

Definition at line 153 of file HdaIo.h.

◆ EFI_HDA_IO_STOP_STREAM

typedef EFI_STATUS(EFIAPI * EFI_HDA_IO_STOP_STREAM) (IN EFI_HDA_IO_PROTOCOL *This, IN EFI_HDA_IO_PROTOCOL_TYPE Type)

Definition at line 167 of file HdaIo.h.

◆ EFI_HDA_IO_STREAM_CALLBACK

typedef VOID(EFIAPI * EFI_HDA_IO_STREAM_CALLBACK) (IN EFI_HDA_IO_PROTOCOL_TYPE Type, IN VOID *Context1, IN VOID *Context2, IN VOID *Context3)

Callback function.

Definition at line 66 of file HdaIo.h.

Enumeration Type Documentation

◆ EFI_HDA_IO_PROTOCOL_TYPE

Stream type.

Enumerator
EfiHdaIoTypeInput 
EfiHdaIoTypeOutput 
EfiHdaIoTypeMaximum 

Definition at line 47 of file HdaIo.h.

Function Documentation

◆ STATIC_ASSERT()

STATIC_ASSERT ( sizeof(EFI_HDA_IO_DEVICE_PATH) = =sizeof(EFI_DEVICE_PATH_PROTOCOL)+sizeof(EFI_GUID)+sizeof(UINT32),
"Unexpected EFI_HDA_IO_DEVICE_PATH size"  )

Variable Documentation

◆ gEfiHdaIoDevicePathGuid

EFI_GUID gEfiHdaIoDevicePathGuid
extern

Definition at line 29 of file HdaControllerHdaIo.c.

◆ gEfiHdaIoProtocolGuid

EFI_GUID gEfiHdaIoProtocolGuid
extern