Sound Open Firmware
Loading...
Searching...
No Matches
sof_abi_hdr Struct Reference

Header for all non IPC ABI data. More...

#include <header.h>

Data Fields

uint32_t magic
 Magic number for validation.
uint32_t type
 module specific parameter
uint32_t size
 size in bytes of data excl.
uint32_t abi
 SOF ABI version.
uint32_t reserved [4]
 reserved for future use
uint32_t data []
 Component data - opaque to core.

Detailed Description

Header for all non IPC ABI data.

Identifies data type, size and ABI. Only in case of IPC3 the data header used for all component data structures and binary blobs sent to firmware as runtime data. This data is typically sent by userspace applications and tunnelled through any OS kernel (via binary kcontrol on Linux) to the firmware. With IPC4 the ABI header is used between user space and kernel for verification purposes and to provide information about the attached binary blob, like the param_id of it.

Field Documentation

◆ abi

uint32_t sof_abi_hdr::abi

SOF ABI version.

The version is valid in scope of the 'magic', IPC3 and IPC4 ABI version numbers have no relationship.

◆ data

uint32_t sof_abi_hdr::data[]

Component data - opaque to core.

◆ magic

uint32_t sof_abi_hdr::magic

Magic number for validation.

for IPC3 data: 0x00464F53 ('S', 'O', 'F', '\0') for IPC4 data: 0x34464F53 ('S', 'O', 'F', '4')

◆ reserved

uint32_t sof_abi_hdr::reserved[4]

reserved for future use

◆ size

uint32_t sof_abi_hdr::size

size in bytes of data excl.

this struct

◆ type

uint32_t sof_abi_hdr::type

module specific parameter

for IPC3: Component specific type for IPC4: parameter ID (param_id) of the data


The documentation for this struct was generated from the following file:
  • /home/lrg/work/sof-dox-work/src/include/kernel/header.h