1 /* 2 * Copyright (C) 2022 Huawei Technologies Co., Ltd. 3 * Licensed under the Mulan PSL v2. 4 * You can use this software according to the terms and conditions of the Mulan PSL v2. 5 * You may obtain a copy of Mulan PSL v2 at: 6 * http://license.coscl.org.cn/MulanPSL2 7 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR 8 * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR 9 * PURPOSE. 10 * See the Mulan PSL v2 for more details. 11 */ 12 13 #ifndef __TEE_MSG_TYPE_H_ 14 #define __TEE_MSG_TYPE_H_ 15 #include <stdint.h> 16 17 #ifndef ARRAY_SIZE 18 #define ARRAY_SIZE(a) (sizeof(a) / sizeof ((a)[0])) 19 #endif 20 typedef union { 21 struct { 22 uint8_t msg_class; 23 uint8_t msg_flags; 24 uint16_t msg_id; 25 uint32_t msg_size; 26 } __attribute__((packed)) send; 27 28 struct { 29 int64_t ret_val; 30 uint32_t msg_size; 31 uint32_t reserve; 32 } __attribute__((packed)) reply; 33 } msg_header; 34 35 #endif