/*
|
* Copyright (c) 2014, STMicroelectronics International N.V.
|
*
|
* This program is free software; you can redistribute it and/or modify
|
* it under the terms of the GNU General Public License Version 2 as
|
* published by the Free Software Foundation.
|
*
|
* 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 __TEE_CORE_PRIV_H__
|
#define __TEE_CORE_PRIV_H__
|
|
#include "linux/tee_core.h"
|
#include "linux/tee_ioc.h"
|
|
/* from tee_core_module.c */
|
int tee_get(struct tee *tee);
|
int tee_put(struct tee *tee);
|
|
void tee_inc_stats(struct tee_stats_entry *entry);
|
void tee_dec_stats(struct tee_stats_entry *entry);
|
|
/* from tee_context.c */
|
int tee_context_dump(struct tee *tee, char *buff, size_t len);
|
|
struct tee_context *tee_context_create(struct tee *tee);
|
void tee_context_destroy(struct tee_context *ctx);
|
|
void tee_context_get(struct tee_context *ctx);
|
void tee_context_put(struct tee_context *ctx);
|
|
struct tee_shm *tee_context_create_tmpref_buffer(struct tee_context *ctx,
|
size_t size,
|
const void *buffer, int type);
|
struct tee_shm *tee_context_alloc_shm_tmp(struct tee_context *ctx, size_t size,
|
const void *data, int type);
|
int tee_context_copy_from_client(const struct tee_context *ctx, void *dest,
|
const void *src, size_t size);
|
|
/* from tee_session.c */
|
int tee_session_create_fd(struct tee_context *ctx, struct tee_cmd_io *cmd_io);
|
struct tee_session *tee_session_create_and_open(struct tee_context *ctx,
|
struct tee_cmd_io *cmd_io);
|
int tee_session_close_and_destroy(struct tee_session *sess);
|
|
struct tee *tee_get_tee(const char *devname);
|
int tee_session_invoke_be(struct tee_session *sess, struct tee_cmd_io *cmd_io);
|
|
#endif
|