#ifndef COMM_STRUCTS_H
#define COMM_STRUCTS_H
#include <linux/types.h>
#include "tc_ns_client.h"
#include "teek_ns_client.h"
#define CERT_BUF_MAX_SIZE 2048
#define TC_NS_CLIENT_DEV_FLAG 3
#define TC_PRIVATE_DEV_FLAG 4
#define TC_CVM_DEV_FLAG 5
#define TLOG_DEV_FLAG 6
#define TLOG_DEV_THD_FLAG 7
#define VTZF_OPEN_TZD 15
#define VTZF_CLOSE_TZD 17
#define VTZF_LOG_IN_NHIDL 19
#define VTZF_GET_TEE_VERSION 21
#define VTZF_GET_TEE_INFO 23
#define VTZF_LATE_INIT 25
#define VTZF_SYNC_TIME 27
#define VTZF_LOG_IN 29
#define VTZF_OPEN_SESSION 31
#define VTZF_SEND_CMD 33
#define VTZF_CANCEL_CMD 35
#define VTZF_MMAP 37
#define VTZF_MUNMAP 39
#define VTZF_CLOSE_SESSION 41
#define VTZF_CLOSE_PTZDEV 43
#define VTZ_REGISTER_AGENT 45
#define VTZ_UNREGISTER_AGENT 47
#define VTZF_WAIT_EVENT 49
#define VTZF_SEND_EVENT_RESPONSE 51
#define VTZF_LOAD_SEC 53
#define VTZF_GET_TEEOS_VER 55
#define VTZF_SET_READER_CUR 57
#define VTZF_SET_TLOGCAT_STAT 59
#define VTZF_GET_TLOGCAT_STAT 61
#define VTZF_GET_LOG 63
#define VTZF_TEST 65
#define VTZ_NOTHING 67
#define VTZF_REGISTER_VM_VMID_NSID 69
#define VTZF_UNREGISTER_VM_VMID_NSID 71
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
} struct_packet_cmd_general;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
} struct_packet_rsp_general;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
} struct_packet_cmd_test;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
} struct_packet_rsp_test;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
uint32_t vmid;
uint32_t flag;
uint32_t nsid;
} struct_packet_cmd_open_tzd;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
int32_t ptzfd;
int32_t vmid;
} struct_packet_rsp_open_tzd;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
int32_t ptzfd;
} struct_packet_cmd_close_tzd;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
} struct_packet_rsp_close_tzd;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
int32_t ptzfd;
} struct_packet_cmd_getteever;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
uint32_t tee_ver;
} struct_packet_rsp_getteever;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
int32_t ptzfd;
bool istlog;
} struct_packet_cmd_getteeinfo;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
struct tc_ns_tee_info info;
} struct_packet_rsp_getteeinfo;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
int32_t ptzfd;
void *phyaddr;
struct agent_ioctl_args args;
} struct_packet_cmd_regagent;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
struct agent_ioctl_args args;
} struct_packet_rsp_regagent;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
int32_t ptzfd;
} struct_packet_cmd_unregagent;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
} struct_packet_rsp_unregagent;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
int32_t ptzfd;
uint32_t agent_id;
} struct_packet_cmd_event;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
uint32_t index;
} struct_packet_cmd_lateinit;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
} struct_packet_rsp_lateinit;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
int32_t ptzfd;
struct tc_ns_client_time tcNsTime;
} struct_packet_cmd_synctime;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
} struct_packet_rsp_synctime;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
int32_t ptzfd;
uint8_t cert_buffer[];
} struct_packet_cmd_login;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
int32_t ptzfd;
} struct_packet_cmd_login_non;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
} struct_packet_rsp_login;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
int32_t ptzfd;
__s32 cpu_index;
struct load_secfile_ioctl_struct ioctlArg;
} struct_packet_cmd_load_sec;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
struct load_secfile_ioctl_struct ioctlArg;
} struct_packet_rsp_load_sec;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
int32_t ptzfd;
__s32 cpu_index;
int32_t err_flag;
uint32_t fragment_block_num;
uint32_t total_fragment_block_num;
uint32_t vm_page_size;
uint64_t block_addrs[TEE_PARAM_NUM];
uint32_t block_size[TEE_PARAM_NUM];
unsigned long long addrs[TEE_PARAM_NUM];
uint32_t nsid;
struct tc_ns_client_context cliContext;
} struct_packet_cmd_session;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
struct tc_ns_client_context cliContext;
} struct_packet_rsp_session;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
int32_t ptzfd;
int32_t err_flag;
uint32_t fragment_block_num;
uint32_t total_fragment_block_num;
uint32_t vm_page_size;
uint64_t block_addrs[TEE_PARAM_NUM];
uint32_t block_size[TEE_PARAM_NUM];
unsigned long long addrs[TEE_PARAM_NUM];
struct tc_ns_client_context cliContext;
} struct_packet_cmd_send_cmd;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
struct tc_ns_client_context cliContext;
} struct_packet_rsp_send_cmd;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
int32_t ptzfd;
__s32 cpu_index;
struct tc_ns_client_context cliContext;
pid_t pid;
} struct_packet_cmd_cancel_cmd;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
struct tc_ns_client_context cliContext;
} struct_packet_rsp_cancel_cmd;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
int32_t ptzfd;
uint64_t buffer;
uint32_t size;
uint32_t offset;
} struct_packet_cmd_mmap;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
} struct_packet_rsp_mmap;
typedef struct {
uint32_t packet_size;
uint32_t cmd;
uint32_t seq_num;
} struct_packet_cmd_nothing;
typedef struct {
uint32_t packet_size;
uint32_t seq_num;
uint32_t ret;
} struct_packet_rsp_nothing;
#endif