![]() |
|
|||
0001 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ 0002 /* 0003 * This file is provided under a dual BSD/GPLv2 license. When using or 0004 * redistributing this file, you may do so under either license. 0005 * 0006 * Copyright(c) 2018 Intel Corporation. All rights reserved. 0007 */ 0008 0009 #ifndef __INCLUDE_UAPI_SOUND_SOF_USER_HEADER_H__ 0010 #define __INCLUDE_UAPI_SOUND_SOF_USER_HEADER_H__ 0011 0012 #include <linux/types.h> 0013 0014 /* 0015 * Header for all non IPC ABI data. 0016 * 0017 * Identifies data type, size and ABI. 0018 * Used by any bespoke component data structures or binary blobs. 0019 */ 0020 struct sof_abi_hdr { 0021 __u32 magic; /**< 'S', 'O', 'F', '\0' */ 0022 __u32 type; /**< component specific type */ 0023 __u32 size; /**< size in bytes of data excl. this struct */ 0024 __u32 abi; /**< SOF ABI version */ 0025 __u32 reserved[4]; /**< reserved for future use */ 0026 __u32 data[]; /**< Component data - opaque to core */ 0027 } __packed; 0028 0029 #define SOF_MANIFEST_DATA_TYPE_NHLT 1 0030 0031 /** 0032 * struct sof_manifest_tlv - SOF manifest TLV data 0033 * @type: type of data 0034 * @size: data size (not including the size of this struct) 0035 * @data: payload data 0036 */ 0037 struct sof_manifest_tlv { 0038 __le32 type; 0039 __le32 size; 0040 __u8 data[]; 0041 }; 0042 0043 /** 0044 * struct sof_manifest - SOF topology manifest 0045 * @abi_major: Major ABI version 0046 * @abi_minor: Minor ABI version 0047 * @abi_patch: ABI patch 0048 * @count: count of tlv items 0049 * @items: consecutive variable size tlv items 0050 */ 0051 struct sof_manifest { 0052 __le16 abi_major; 0053 __le16 abi_minor; 0054 __le16 abi_patch; 0055 __le16 count; 0056 struct sof_manifest_tlv items[]; 0057 }; 0058 0059 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |