Sound Open Firmware
Loading...
Searching...
No Matches
abi.h File Reference

ABI definitions. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SOF_ABI_MAJOR   3
 SOF ABI version major, minor and patch numbers.
#define SOF_ABI_MINOR   29
#define SOF_ABI_PATCH   1
#define SOF_ABI_MAJOR_SHIFT   24
 SOF ABI version number.
#define SOF_ABI_MAJOR_MASK   0xff
#define SOF_ABI_MINOR_SHIFT   12
#define SOF_ABI_MINOR_MASK   0xfff
#define SOF_ABI_PATCH_SHIFT   0
#define SOF_ABI_PATCH_MASK   0xfff
#define SOF_ABI_VER(major, minor, patch)
#define SOF_ABI_VERSION_MAJOR(version)
#define SOF_ABI_VERSION_MINOR(version)
#define SOF_ABI_VERSION_PATCH(version)
#define SOF_ABI_VERSION_INCOMPATIBLE(sof_ver, client_ver)
#define SOF_ABI_VERSION   SOF_ABI_VER(SOF_ABI_MAJOR, SOF_ABI_MINOR, SOF_ABI_PATCH)
#define SOF_ABI_MAGIC   0x00464F53
 SOF ABI magic number "SOF\0".
#define SOF_IPC4_ABI_MAGIC   0x34464F53
 SOF IPC4 ABI magic number "SOF4".

Detailed Description

ABI definitions.

Author
Liam Girdwood liam..nosp@m.r.gi.nosp@m.rdwoo.nosp@m.d@li.nosp@m.nux.i.nosp@m.ntel.nosp@m..com

SOF ABI versioning is based on Semantic Versioning where we have a given MAJOR.MINOR.PATCH version number. See https://semver.org/

Rules for incrementing or changing version :-

1) Increment MAJOR version if you make incompatible API changes. MINOR and PATCH should be reset to 0.

2) Increment MINOR version if you add backwards compatible features or changes. PATCH should be reset to 0.

3) Increment PATCH version if you add backwards compatible bug fixes.

Macro Definition Documentation

◆ SOF_ABI_MAGIC

#define SOF_ABI_MAGIC   0x00464F53

SOF ABI magic number "SOF\0".

◆ SOF_ABI_MAJOR

#define SOF_ABI_MAJOR   3

SOF ABI version major, minor and patch numbers.

◆ SOF_ABI_MAJOR_MASK

#define SOF_ABI_MAJOR_MASK   0xff

◆ SOF_ABI_MAJOR_SHIFT

#define SOF_ABI_MAJOR_SHIFT   24

SOF ABI version number.

Format within 32bit word is MMmmmppp

◆ SOF_ABI_MINOR

#define SOF_ABI_MINOR   29

◆ SOF_ABI_MINOR_MASK

#define SOF_ABI_MINOR_MASK   0xfff

◆ SOF_ABI_MINOR_SHIFT

#define SOF_ABI_MINOR_SHIFT   12

◆ SOF_ABI_PATCH

#define SOF_ABI_PATCH   1

◆ SOF_ABI_PATCH_MASK

#define SOF_ABI_PATCH_MASK   0xfff

◆ SOF_ABI_PATCH_SHIFT

#define SOF_ABI_PATCH_SHIFT   0

◆ SOF_ABI_VER

#define SOF_ABI_VER ( major,
minor,
patch )
Value:
#define SOF_ABI_MAJOR_SHIFT
SOF ABI version number.
Definition abi.h:36
#define SOF_ABI_MINOR_SHIFT
Definition abi.h:38
#define SOF_ABI_PATCH_SHIFT
Definition abi.h:40
uint8_t patch
Definition auth_api_iface.h:0
uint8_t major
Definition auth_api_iface.h:2
uint8_t minor
Definition auth_api_iface.h:1

◆ SOF_ABI_VERSION

#define SOF_ABI_VERSION   SOF_ABI_VER(SOF_ABI_MAJOR, SOF_ABI_MINOR, SOF_ABI_PATCH)

◆ SOF_ABI_VERSION_INCOMPATIBLE

#define SOF_ABI_VERSION_INCOMPATIBLE ( sof_ver,
client_ver )
Value:
(SOF_ABI_VERSION_MAJOR((sof_ver)) != \
SOF_ABI_VERSION_MAJOR((client_ver)) \
)
#define SOF_ABI_VERSION_MAJOR(version)
Definition abi.h:48

◆ SOF_ABI_VERSION_MAJOR

#define SOF_ABI_VERSION_MAJOR ( version)
Value:
#define SOF_ABI_MAJOR_MASK
Definition abi.h:37

◆ SOF_ABI_VERSION_MINOR

#define SOF_ABI_VERSION_MINOR ( version)
Value:
#define SOF_ABI_MINOR_MASK
Definition abi.h:39

◆ SOF_ABI_VERSION_PATCH

#define SOF_ABI_VERSION_PATCH ( version)
Value:
#define SOF_ABI_PATCH_MASK
Definition abi.h:41

◆ SOF_IPC4_ABI_MAGIC

#define SOF_IPC4_ABI_MAGIC   0x34464F53

SOF IPC4 ABI magic number "SOF4".