kernel_samsung_a34x-permissive/drivers/tee/tzdev/4.2.0/teec/misc.h
2024-04-28 15:51:13 +02:00

47 lines
1.7 KiB
C

/*
* Copyright (C) 2012-2017, Samsung Electronics Co., Ltd.
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __TZDEV_TEEC_MISC_H__
#define __TZDEV_TEEC_MISC_H__
#include <linux/types.h>
#include "iw_messages.h"
#include "core/iwsock.h"
#define PARAM_TYPE_GET(types, nr) (((types) >> ((nr) * 4)) & 0xF)
#define PARAM_TYPE_SET(types, nr) (((types) & 0xF) << ((nr) * 4))
#define MAX_PARAM_COUNT 4
int tzdev_teec_connect(struct sock_desc *socket, char *name,
uint32_t *result, uint32_t *origin);
void tzdev_teec_disconnect(struct sock_desc *socket);
int tzdev_teec_send(struct sock_desc *socket, void *data, uint32_t size, int flags,
uint32_t *result, uint32_t *origin);
int tzdev_teec_recv(struct sock_desc *socket, void *data, uint32_t size, int flags,
uint32_t *result, uint32_t *origin);
int tzdev_teec_send_then_recv(struct sock_desc *socket,
void *send_data, uint32_t send_size, int send_flags,
void *recv_data, uint32_t recv_size, int recv_flags,
uint32_t *result, uint32_t *origin);
int tzdev_teec_check_reply(struct cmd_reply *reply, uint32_t cmd,
uint32_t serial, uint32_t *result, uint32_t *origin);
uint32_t tzdev_teec_error_to_tee_error(int error);
void tzdev_teec_fixup_origin(uint32_t result, uint32_t *origin);
#endif /* __TZDEV_TEEC_MISC_H__ */