GPTEE中的Storage API的使用
文章目录
- 1、Storage API 函数的介绍
- 2、代码使用示例
1、Storage API 函数的介绍
TEE中关于storage API的函数,如下表所示
TEE_CloseObject:
TEE_TruncateObjectData: (Truncate /trʌŋˈkeɪt/ 截断)
- 如果size小于当前size,那么超出的size将会删除;
- 如果size大于当前size,那么将补0;
2、代码使用示例
TEE_Result write_raw_object(char *obj_id,size_t obj_id_sz,char *data,size_t data_sz)
{TEE_ObjectHandle object;TEE_Result res;EMSG("%s : enter", __func__);EMSG("%s : obj_id=[%s], obj_id_sz=[%d], data_sz=[%d]", __func__, obj_id, obj_id_sz, data_sz);res = TEE_CreatePersistentObject(TEE_STORAGE_PRIVATE, obj_id, obj_id_sz, WRITE_FLAG, TEE_HANDLE_NULL, NULL, 0, &object);if (res != TEE_SUCCESS) {EMSG("TEE_CreatePersistentObject failed 0x%08x", res);return res;}res = TEE_WriteObjectData(object, data, data_sz);if (res != TEE_SUCCESS) {EMSG("TEE_WriteObjectData failed 0x%08x", res);TEE_CloseAndDeletePersistentObject1(object);} else {TEE_CloseObject(object);}EMSG("%s : exit", __func__);return res;
}TEE_Result read_raw_object(char *obj_id,size_t obj_id_sz,char *data,size_t *data_sz)
{TEE_ObjectHandle object;TEE_ObjectInfo object_info;TEE_Result res;EMSG("%s : enter", __func__);EMSG("%s : obj_id=[%s], obj_id_sz=[%d], data_sz=[%d]", __func__, obj_id, obj_id_sz, *data_sz);res = TEE_OpenPersistentObject(TEE_STORAGE_PRIVATE, obj_id, obj_id_sz, READ_FLAG, &object);if (res != TEE_SUCCESS) {EMSG("Failed to open persistent object, res=0x%08x", res);return res;}res = TEE_GetObjectInfo1(object, &object_info);if (res != TEE_SUCCESS) {EMSG("Failed to create persistent object, res=0x%08x", res);TEE_CloseObject(object);return res;}EMSG("%s : object_info.dataSize=[%d], data_sz=[%d]", __func__, object_info.dataSize, *data_sz);if (object_info.dataSize > data_sz) {TEE_CloseObject(object);return TEE_ERROR_SHORT_BUFFER;}res = TEE_ReadObjectData(object, data, object_info.dataSize, data_sz);if (res != TEE_SUCCESS || *data_sz != object_info.dataSize) {EMSG("TEE_ReadObjectData failed 0x%08x, read %" PRIu32 " over %u", res, *data_sz, object_info.dataSize);TEE_CloseObject(object);return res;}TEE_CloseObject(object);EMSG("%s : exit", __func__);return res;
}
GPTEE中的Storage API的使用相关推荐
- GPTEE中的Crypto API的使用
文章目录 1.Crypto API函数总结 2.使用示例 2.1 RSA 2.2 AES 2.3 hash 1.Crypto API函数总结 TEE_AllocateOperation: 2.使用示例 ...
- Storage API简介和存储限制与逐出策略
文章目录 简介 常用的客户端存储方式 data storage的类型 逐出策略 Storage API estimate persist persisted 综合使用 总结 简介 对于现代浏览器来说, ...
- Web Storage API的介绍和使用
文章目录 简介 浏览器的本地存储技术 Web Storage相关接口 浏览器兼容性 隐身模式 使用Web Storage API 总结 简介 Web Storage为浏览器提供了方便的key valu ...
- HTML5 Web Storage API
Web Storage API Web Storage 是以键值对(key-value)的形式存储数据,要存储的数据需要一个名字作为键,然后就可以使用这个键来读取它的值.键是一个字符串.值可以是 Ja ...
- C#中调用Windows API时的数据类型对应关系
C#中调用Windows API时的数据类型对应关系 原文 C#中调用Windows API时的数据类型对应关系 BOOL=System.Int32 BOOLEAN=System.Int32 BYTE ...
- C#中调用Windows API的要点
在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的.本文将C#中调用API的要点汇集如下,希 ...
- ASP.NET MVC4中调用WEB API的四个方法
当今的软件开发中,设计软件的服务并将其通过网络对外发布,让各种客户端去使用服务已经是十分普遍的做法.就.NET而言,目前提供了Remoting,WebService和WCF服务,这都能开发出功能十分强 ...
- SAP WM中阶Storage Type的Capacity Check – Usage check based on material
SAP WM中阶Storage Type的Capacity Check – Usage check based on material 1, Storage type Z03激活了Capacity C ...
- SAP WM中阶Storage Type的Capacity Check – Check based on maximum quantity per bin in storage type.
SAP WM中阶Storage Type的Capacity Check – Check based on maximum quantity per bin in storage type. 1, St ...
最新文章
- Android杂谈--layout的横竖屏处理
- Android:如何使用addJavaScriptInterface
- canvas三环加载进度条
- 不修改数组找出重复的数字
- 音视频技术开发周刊 | 216
- postgres 判断null_PostgreSQL NULLIF()用法及代码示例
- 如何在家访问公司的文件服务器,企业的共享文件,该怎么高效管理?
- USACO3.1.1最短网络
- asp.net 性能调较
- Linux中Docker部署Tomcat
- JEECG中datagrid方法自定义查询条件
- AS3多线程快速入门(一):Hello World[
- paip.使用WORD进行拆分段落单个汉字转表格.txt
- 异步FIFO中格雷码和二进制数据的转换
- 【python基础】第02回 计算机基础2
- 新浪微博开放平台接入
- Android 安卓开发板 读取串口
- 作为成年人的基本道德之一,就是不…
- Python 保留小数位
- 宿舍管理系统(Java毕业设计)
热门文章
- 成功解决sub_div.insert(points)cv2.error: OpenCV(3.4.1) C:\projects\opencv-python\opencv\modules\imgproc
- 第八九章 正态分布与超越正态
- 逻辑回归模型详解(Logistic Regression)
- 浅谈linux命令大全
- discuz二次开发笔记(一)------$_G全解析,discuz_g_PHP教程
- 物联网网络编程和web编程
- CozyRSS开发记录3-标题栏再加强
- jx problem
- AutoHotkey热键脚本语言文件
- as3 内容自适应容器大小