未验证 提交 f9b89c7d 编写于 作者: O openharmony_ci 提交者: Gitee

!1597 修改格式问题--不涉及翻译

Merge pull request !1597 from Austin/master
......@@ -23,18 +23,18 @@
| **功能分类** | **接口名** | **描述** |
| -------- | -------- | -------- |
| 初始化链表 | LOS_ListInit | 将指定双向链表节点初始化为双向链表 |
| LOS_DL_LIST_HEAD | 定义一个双向链表节点并以该节点初始化为双向链表 |
| | LOS_DL_LIST_HEAD | 定义一个双向链表节点并以该节点初始化为双向链表 |
| 增加节点 | LOS_ListAdd | 将指定节点插入到双向链表头端 |
| LOS_ListTailInsert | 将指定节点插入到双向链表尾端 |
| | LOS_ListTailInsert | 将指定节点插入到双向链表尾端 |
| 删除节点 | LOS_ListDelete | 将指定节点从链表中删除 |
| LOS_ListDelInit | 将指定节点从链表中删除,并使用该节点初始化链表 |
| | LOS_ListDelInit | 将指定节点从链表中删除,并使用该节点初始化链表 |
| 判断双向链表是否为空 | LOS_ListEmpty | 判断链表是否为空 |
| 获取结构体信息 | LOS_DL_LIST_ENTRY | 获取包含链表的结构体地址,接口的第一个入参表示的是链表中的某个节点,第二个入参是要获取的结构体名称,第三个入参是链表在该结构体中的名称 |
| LOS_OFF_SET_OF | 获取指定结构体内的成员相对于结构体起始地址的偏移量 |
| | LOS_OFF_SET_OF | 获取指定结构体内的成员相对于结构体起始地址的偏移量 |
| 遍历双向链表 | LOS_DL_LIST_FOR_EACH | 遍历双向链表 |
| LOS_DL_LIST_FOR_EACH_SAFE | 遍历双向链表,并存储当前节点的后继节点用于安全校验 |
| | LOS_DL_LIST_FOR_EACH_SAFE | 遍历双向链表,并存储当前节点的后继节点用于安全校验 |
| 遍历包含双向链表的结构体 | LOS_DL_LIST_FOR_EACH_ENTRY | 遍历指定双向链表,获取包含该链表节点的结构体地址 |
| LOS_DL_LIST_FOR_EACH_ENTRY_SAFE | 遍历指定双向链表,获取包含该链表节点的结构体地址,并存储包含当前节点的后继节点的结构体地址 |
| | LOS_DL_LIST_FOR_EACH_ENTRY_SAFE | 遍历指定双向链表,获取包含该链表节点的结构体地址,并存储包含当前节点的后继节点的结构体地址 |
## 开发流程
......
......@@ -35,9 +35,9 @@
| 功能分类 | 接口名 | 描述 |
| -------- | -------- | -------- |
| 互斥锁的创建和删除 | LOS_MuxCreate | 创建互斥锁 |
| LOS_MuxDelete | 删除指定的互斥锁 |
| | LOS_MuxDelete | 删除指定的互斥锁 |
| 互斥锁的申请和释放 | LOS_MuxPend | 申请指定的互斥锁 |
| LOS_MuxPost | 释放指定的互斥锁 |
| | LOS_MuxPost | 释放指定的互斥锁 |
## 开发流程
......
......@@ -92,13 +92,13 @@ typedef struct
| 功能分类 | 接口名 | 描述 |
| -------- | -------- | -------- |
| 创建/删除消息队列 | LOS_QueueCreate | 创建一个消息队列,由系统动态申请队列空间。 |
| LOS_QueueDelete | 根据队列ID删除一个指定队列。 |
| | LOS_QueueDelete | 根据队列ID删除一个指定队列。 |
| 读/写队列(不带拷贝) | LOS_QueueRead | 读取指定队列头节点中的数据(队列节点中的数据实际上是一个地址)。 |
| LOS_QueueWrite | 向指定队列尾节点中写入入参bufferAddr的值(即buffer的地址)。 |
| LOS_QueueWriteHead | 向指定队列头节点中写入入参bufferAddr的值(即buffer的地址)。 |
| | LOS_QueueWrite | 向指定队列尾节点中写入入参bufferAddr的值(即buffer的地址)。 |
| | LOS_QueueWriteHead | 向指定队列头节点中写入入参bufferAddr的值(即buffer的地址)。 |
| 读/写队列(带拷贝) | LOS_QueueReadCopy | 读取指定队列头节点中的数据。 |
| LOS_QueueWriteCopy | 向指定队列尾节点中写入入参bufferAddr中保存的数据。 |
| LOS_QueueWriteHeadCopy | 向指定队列头节点中写入入参bufferAddr中保存的数据。 |
| | LOS_QueueWriteCopy | 向指定队列尾节点中写入入参bufferAddr中保存的数据。 |
| | LOS_QueueWriteHeadCopy | 向指定队列头节点中写入入参bufferAddr中保存的数据。 |
| 获取队列信息 | LOS_QueueInfoGet | 获取指定队列的信息,包括队列ID、队列长度、消息节点大小、头节点、尾节点、可读节点数量、可写节点数量、等待读操作的任务、等待写操作的任务。 |
......
......@@ -34,7 +34,15 @@
### 信号量控制块
```
/** * 信号量控制块数据结构*/typedefstruct { UINT16 semStat; /*信号量状态 */ UINT16 semType; /*信号量类型 */ UINT16 semCount; /*信号量计数 */ UINT16 semId; /*信号量索引号 */ LOS_DL_LIST semList; /*用于插入阻塞于信号量的任务 */} LosSemCB;
/**
* 信号量控制块数据结构
*/
typedef struct {
UINT16 semStat; /* 信号量状态 */
UINT16 semType; /* 信号量类型 */
UINT16 semCount; /* 信号量计数 */
UINT16 semId; /* 信号量索引号 */
LOS_DL_LIST semList; /* 用于插入阻塞于信号量的任务 */} LosSemCB;
```
......@@ -61,10 +69,10 @@
| 功能分类 | 接口名 | 描述 |
| -------- | -------- | -------- |
| 创建/删除信号量 | LOS_SemCreate | 创建信号量,返回信号量ID |
| LOS_BinarySemCreate | 创建二值信号量,其计数值最大为1 |
| LOS_SemDelete | 删除指定的信号量 |
| | LOS_BinarySemCreate | 创建二值信号量,其计数值最大为1 |
| | LOS_SemDelete | 删除指定的信号量 |
| 申请/释放信号量 | LOS_SemPend | 申请指定的信号量,并设置超时时间 |
| LOS_SemPost | 释放指定的信号量 |
| | LOS_SemPost | 释放指定的信号量 |
## 开发流程
......
......@@ -71,17 +71,17 @@ OpenHarmony LiteOS-M的动态内存管理主要为用户提供以下功能,接
| 功能分类 | 接口名 | 描述 |
| -------- | -------- | -------- |
| 初始化和删除内存池 | LOS_MemInit | 初始化一块指定的动态内存池,大小为size。 |
| LOS_MemDeInit | 删除指定内存池,仅打开LOSCFG_MEM_MUL_POOL时有效。 |
| | LOS_MemDeInit | 删除指定内存池,仅打开LOSCFG_MEM_MUL_POOL时有效。 |
| 申请、释放动态内存 | LOS_MemAlloc | 从指定动态内存池中申请size长度的内存。 |
| LOS_MemFree | 释放从指定动态内存中申请的内存。 |
| LOS_MemRealloc | 按size大小重新分配内存块,并将原内存块内容拷贝到新内存块。如果新内存块申请成功,则释放原内存块。 |
| LOS_MemAllocAlign | 从指定动态内存池中申请长度为size且地址按boundary字节对齐的内存。 |
| | LOS_MemFree | 释放从指定动态内存中申请的内存。 |
| | LOS_MemRealloc | 按size大小重新分配内存块,并将原内存块内容拷贝到新内存块。如果新内存块申请成功,则释放原内存块。 |
| | LOS_MemAllocAlign | 从指定动态内存池中申请长度为size且地址按boundary字节对齐的内存。 |
| 获取内存池信息 | LOS_MemPoolSizeGet | 获取指定动态内存池的总大小。 |
| LOS_MemTotalUsedGet | 获取指定动态内存池的总使用量大小。 |
| LOS_MemInfoGet | 获取指定内存池的内存结构信息,包括空闲内存大小、已使用内存大小、空闲内存块数量、已使用的内存块数量、最大的空闲内存块大小。 |
| LOS_MemPoolList | 打印系统中已初始化的所有内存池,包括内存池的起始地址、内存池大小、空闲内存总大小、已使用内存总大小、最大的空闲内存块大小、空闲内存块数量、已使用的内存块数量。仅打开LOSCFG_MEM_MUL_POOL时有效。 |
| | LOS_MemTotalUsedGet | 获取指定动态内存池的总使用量大小。 |
| | LOS_MemInfoGet | 获取指定内存池的内存结构信息,包括空闲内存大小、已使用内存大小、空闲内存块数量、已使用的内存块数量、最大的空闲内存块大小。 |
| | LOS_MemPoolList | 打印系统中已初始化的所有内存池,包括内存池的起始地址、内存池大小、空闲内存总大小、已使用内存总大小、最大的空闲内存块大小、空闲内存块数量、已使用的内存块数量。仅打开LOSCFG_MEM_MUL_POOL时有效。 |
| 获取内存块信息 | LOS_MemFreeNodeShow | 打印指定内存池的空闲内存块的大小及数量。 |
| LOS_MemUsedNodeShow | 打印指定内存池的已使用内存块的大小及数量。 |
| | LOS_MemUsedNodeShow | 打印指定内存池的已使用内存块的大小及数量。 |
| 检查指定内存池的完整性 | LOS_MemIntegrityCheck | 对指定内存池做完整性检查,仅打开LOSCFG_BASE_MEM_NODE_INTEGRITY_CHECK时有效。 |
| 增加非连续性内存区域 | LOS_MemRegionsAdd | 支持多段非连续性内存区域,把非连续性内存区域逻辑上整合为一个统一的内存池。仅打开LOSCFG_MEM_MUL_REGIONS时有效。如果内存池指针参数pool为空,则使用多段内存的第一个初始化为内存池,其他内存区域,作为空闲节点插入;如果内存池指针参数pool不为空,则把多段内存作为空闲节点,插入到指定的内存池。 |
......
......@@ -37,9 +37,9 @@ OpenHarmony LiteOS-M的静态内存管理主要为用户提供以下功能,接
| 初始化静态内存池 | LOS_MemboxInit | 初始化一个静态内存池,根据入参设定其起始地址、总大小及每个内存块大小。 |
| 清除静态内存块内容 | LOS_MemboxClr | 清零从静态内存池中申请的静态内存块的内容。 |
| 申请、释放静态内存 | LOS_MemboxAlloc | 从指定的静态内存池中申请一块静态内存块。 |
| LOS_MemboxFree | 释放从静态内存池中申请的一块静态内存块。 |
| | LOS_MemboxFree | 释放从静态内存池中申请的一块静态内存块。 |
| 获取、打印静态内存池信息 | LOS_MemboxStatisticsGet | 获取指定静态内存池的信息,包括内存池中总内存块数量、已经分配出去的内存块数量、每个内存块的大小。 |
| LOS_ShowBox | 打印指定静态内存池所有节点信息(打印等级是LOS_INFO_LEVEL),包括内存池起始地址、内存块大小、总内存块数量、每个空闲内存块的起始地址、所有内存块的起始地址。 |
| | LOS_ShowBox | 打印指定静态内存池所有节点信息(打印等级是LOS_INFO_LEVEL),包括内存池起始地址、内存块大小、总内存块数量、每个空闲内存块的起始地址、所有内存块的起始地址。 |
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 初始化后的内存池的内存块数量,不等于总大小除于内存块大小,因为内存池的控制块和每个内存块的控制头,都存在内存开销,设置总大小时,需要将这些因素考虑进去。
......
......@@ -77,9 +77,9 @@ OpenHarmony LiteOS-M内核的软件定时器模块提供下面几种功能,接
| 功能分类 | 接口名 | 描述 |
| -------- | -------- | -------- |
| 创建、删除定时器 | LOS_SwtmrCreate | 创建定时器 |
| LOS_SwtmrDelete | 删除定时器 |
| | LOS_SwtmrDelete | 删除定时器 |
| 启动、停止定时器 | LOS_SwtmrStart | 启动定时器 |
| LOS_SwtmrStop | 停止定时器 |
| | LOS_SwtmrStop | 停止定时器 |
| 获得软件定时器剩余Tick数 | LOS_SwtmrTimeGet | 获得软件定时器剩余Tick数 |
......
......@@ -48,10 +48,10 @@ OpenHarmony LiteOS-M提供以下两种CPU占用率的信息查询:
| 功能分类 | 接口名 | 描述 |
| -------- | -------- | -------- |
| 获取系统CPU占用率 | LOS_SysCpuUsage | 获取当前系统CPU占用率 |
| LOS_HistorySysCpuUsage | 获取系统历史CPU占用率 |
| | LOS_HistorySysCpuUsage | 获取系统历史CPU占用率 |
| 获取任务CPU占用率 | LOS_TaskCpuUsage | 获取指定任务CPU占用率 |
| LOS_HistoryTaskCpuUsage | 获取指定任务历史CPU占用率 |
| LOS_AllCpuUsage | 获取所有任务CPU占用率 |
| | LOS_HistoryTaskCpuUsage | 获取指定任务历史CPU占用率 |
| | LOS_AllCpuUsage | 获取所有任务CPU占用率 |
| 输出任务CPU占用率 | LOS_CpupUsageMonitor | 输出任务历史CPU占用率 |
......
......@@ -8,24 +8,24 @@ M核的文件系统子系统当前支持的文件系统有FATFS与LittleFS。同
| 功能分类 | 接口名 | 描述 | FATFS | LITTLEFS |
| -------- | -------- | -------- | -------- | -------- |
| 文件操作 | open | 打开文件 | 支持 | 支持 |
| close | 关闭文件 | 支持 | 支持 |
| read | 读取文件内容 | 支持 | 支持 |
| write | 往文件写入内容 | 支持 | 支持 |
| lseek | 设置文件偏移位置 | 支持 | 支持 |
| unlink | 删除文件 | 支持 | 支持 |
| rename | 重命名文件 | 支持 | 支持 |
| fstat | 通过文件句柄获取文件信息 | 支持 | 支持 |
| stat | 通过文件路径名获取文件信息 | 支持 | 支持 |
| fsync | 文件内容刷入存储设备 | 支持 | 支持 |
| | close | 关闭文件 | 支持 | 支持 |
| | read | 读取文件内容 | 支持 | 支持 |
| | write | 往文件写入内容 | 支持 | 支持 |
| | lseek | 设置文件偏移位置 | 支持 | 支持 |
| | unlink | 删除文件 | 支持 | 支持 |
| | rename | 重命名文件 | 支持 | 支持 |
| | fstat | 通过文件句柄获取文件信息 | 支持 | 支持 |
| | stat | 通过文件路径名获取文件信息 | 支持 | 支持 |
| | fsync | 文件内容刷入存储设备 | 支持 | 支持 |
| 目录操作 | mkdir | 创建目录 | 支持 | 支持 |
| opendir | 打开目录 | 支持 | 支持 |
| readdir | 读取目录项内容 | 支持 | 支持 |
| closedir | 关闭目录 | 支持 | 支持 |
| rmdir | 删除目录 | 支持 | 支持 |
| | opendir | 打开目录 | 支持 | 支持 |
| | readdir | 读取目录项内容 | 支持 | 支持 |
| | closedir | 关闭目录 | 支持 | 支持 |
| | rmdir | 删除目录 | 支持 | 支持 |
| 分区操作 | mount | 分区挂载 | 支持 | 支持 |
| umount | 分区卸载 | 支持 | 支持 |
| umount2 | 分区卸载,可通过MNT_FORCE参数进行强制卸载 | 支持 | 不支持 |
| statfs | 获取分区信息 | 支持 | 不支持 |
| | umount | 分区卸载 | 支持 | 支持 |
| | umount2 | 分区卸载,可通过MNT_FORCE参数进行强制卸载 | 支持 | 不支持 |
| | statfs | 获取分区信息 | 支持 | 不支持 |
- **[FAT](kernel-mini-extend-file-fat.md)**
......
......@@ -35,7 +35,7 @@ OpenHarmony LiteOS-M内核的回溯栈模块提供下面几种功能,接口详
| 功能分类 | 接口名 | 描述 |
| -------- | -------- | -------- |
| 回溯栈接口 | LOS_BackTrace | 打印调用处的函数调用栈关系。 |
| LOS_RecordLR | 在无法打印的场景,用该接口获取调用处的函数调用栈关系。 |
| | LOS_RecordLR | 在无法打印的场景,用该接口获取调用处的函数调用栈关系。 |
## 使用指导
......
......@@ -41,11 +41,11 @@ OpenHarmony LiteOS-A内核的Perf模块提供下面几种功能,接口详细
| 功能分类 | 接口名 | 描述 |
| -------- | -------- | -------- |
| 开启/停止Perf采样 | LOS_PerfStart | 开启采样 |
| LOS_PerfStop | 停止采样 |
| | LOS_PerfStop | 停止采样 |
| 配置Perf采样事件 | LOS_PerfConfig | 配置采样事件的类型、周期等 |
| 读取采样数据 | LOS_PerfDataRead | 读取采样数据到指定地址 |
| 注册采样数据缓冲区的钩子函数 | LOS_PerfNotifyHookReg | 注册缓冲区水线到达的处理钩子 |
| LOS_PerfFlushHookReg | 注册缓冲区刷cache的钩子 |
| | LOS_PerfFlushHookReg | 注册缓冲区刷cache的钩子 |
1. Perf采样事件的结构体为PerfConfigAttr,详细字段含义及取值详见kernel\include\los_perf.h。
......
......@@ -38,14 +38,14 @@ OpenHarmony LiteOS-M内核的Trace模块提供下面几种功能,接口详细
| 功能分类 | 接口名 | 描述 |
| -------- | -------- | -------- |
| 启停控制 | LOS_TraceStart | 启动Trace |
| LOS_TraceStop | 停止Trace |
| | LOS_TraceStop | 停止Trace |
| 操作Trace记录的数据 | LOS_TraceRecordDump | 输出Trace缓冲区数据 |
| LOS_TraceRecordGet | 获取Trace缓冲区的首地址 |
| LOS_TraceReset | 清除Trace缓冲区中的事件 |
| | LOS_TraceRecordGet | 获取Trace缓冲区的首地址 |
| | LOS_TraceReset | 清除Trace缓冲区中的事件 |
| 过滤Trace记录的数据 | LOS_TraceEventMaskSet | 设置事件掩码,仅记录某些模块的事件 |
| 屏蔽某些中断号事件 | LOS_TraceHwiFilterHookReg | 注册过滤特定中断号事件的钩子函数 |
| 插桩函数 | LOS_TRACE_EASY | 简易插桩 |
| LOS_TRACE | 标准插桩 |
| | LOS_TRACE | 标准插桩 |
- 当用户需要针对自定义事件进行追踪时,可按规则在目标源代码中进行插桩,系统提供如下2种插桩接口:
- LOS_TRACE_EASY(TYPE, IDENTITY, params...) 简易插桩。
......
......@@ -20,12 +20,12 @@
| **功能分类** | **接口名称** | **描述** |
| -------- | -------- | -------- |
| 置1/清0标志位 | LOS_BitmapSet | 对状态字的某一标志位进行置1操作 |
| LOS_BitmapClr | 对状态字的某一标志位进行清0操作 |
| | LOS_BitmapClr | 对状态字的某一标志位进行清0操作 |
| 获取标志位为1的bit位 | LOS_HighBitGet | 获取状态字中为1的最高位 |
| LOS_LowBitGet | 获取状态字中为1的最低位 |
| | LOS_LowBitGet | 获取状态字中为1的最低位 |
| 连续bit位操作 | LOS_BitmapSetNBits | 对状态字的连续标志位进行置1操作 |
| LOS_BitmapClrNBits | 对状态字的连续标志位进行清0操作 |
| LOS_BitmapFfz | 获取从最低有效位开始的第一个0的bit位 |
| | LOS_BitmapClrNBits | 对状态字的连续标志位进行清0操作 |
| | LOS_BitmapFfz | 获取从最低有效位开始的第一个0的bit位 |
## 编程实例
......
......@@ -17,27 +17,27 @@
| **功能分类** | **接口名** | **描述** |
| -------- | -------- | -------- |
| 初始化链表 | LOS_ListInit | 将指定节点初始化为双向链表节点 |
| LOS_DL_LIST_HEAD | 定义一个节点并初始化为双向链表节点 |
| | LOS_DL_LIST_HEAD | 定义一个节点并初始化为双向链表节点 |
| 增加节点 | LOS_ListAdd | 将指定节点插入到双向链表头端 |
| LOS_ListHeadInsert | 将指定节点插入到双向链表头端,同LOS_ListAdd |
| LOS_ListTailInsert | 将指定节点插入到双向链表尾端 |
| | LOS_ListHeadInsert | 将指定节点插入到双向链表头端,同LOS_ListAdd |
| | LOS_ListTailInsert | 将指定节点插入到双向链表尾端 |
| 增加链表 | LOS_ListAddList | 将指定链表的头端插入到双向链表头端 |
| LOS_ListHeadInsertList | 将指定链表的头端插入到双向链表头端,同LOS_ListAddList |
| LOS_ListTailInsertList | 将指定链表的尾端插入到双向链表头端 |
| | LOS_ListHeadInsertList | 将指定链表的头端插入到双向链表头端,同LOS_ListAddList |
| | LOS_ListTailInsertList | 将指定链表的尾端插入到双向链表头端 |
| 删除节点 | LOS_ListDelete | 将指定节点从链表中删除 |
| LOS_ListDelInit | 将指定节点从链表中删除,并使用该节点初始化链表 |
| | LOS_ListDelInit | 将指定节点从链表中删除,并使用该节点初始化链表 |
| 判断双向链表 | LOS_ListEmpty | 判断链表是否为空 |
| LOS_DL_LIST_IS_END | 判断指定链表节点是否为链表尾端 |
| LOS_DL_LIST_IS_ON_QUEUE | 判断链表节点是否在双向链表里 |
| | LOS_DL_LIST_IS_END | 判断指定链表节点是否为链表尾端 |
| | LOS_DL_LIST_IS_ON_QUEUE | 判断链表节点是否在双向链表里 |
| 获取结构体信息 | LOS_OFF_SET_OF | 获取指定结构体内的成员相对于结构体起始地址的偏移量 |
| LOS_DL_LIST_ENTRY | 获取双向链表中第一个链表节点所在的结构体地址,接口的第一个入参表示的是链表中的头节点,第二个入参是要获取的结构体名称,第三个入参是链表在该结构体中的名称 |
| LOS_ListPeekHeadType | 获取双向链表中第一个链表节点所在的结构体地址,接口的第一个入参表示的是链表中的头节点,第二个入参是要获取的结构体名称,第三个入参是链表在该结构体中的名称。如果链表为空,返回NULL。 |
| LOS_ListRemoveHeadType | 获取双向链表中第一个链表节点所在的结构体地址,并把第一个链表节点从链表中删除。接口的第一个入参表示的是链表中的头节点,第二个入参是要获取的结构体名称,第三个入参是链表在该结构体中的名称。如果链表为空,返回NULL。 |
| LOS_ListNextType | 获取双向链表中指定链表节点的下一个节点所在的结构体地址。接口的第一个入参表示的是链表中的头节点,第二个入参是指定的链表节点,第三个入参是要获取的结构体名称,第四个入参是链表在该结构体中的名称。如果链表节点下一个为链表头结点为空,返回NULL。 |
| | LOS_DL_LIST_ENTRY | 获取双向链表中第一个链表节点所在的结构体地址,接口的第一个入参表示的是链表中的头节点,第二个入参是要获取的结构体名称,第三个入参是链表在该结构体中的名称 |
| | LOS_ListPeekHeadType | 获取双向链表中第一个链表节点所在的结构体地址,接口的第一个入参表示的是链表中的头节点,第二个入参是要获取的结构体名称,第三个入参是链表在该结构体中的名称。如果链表为空,返回NULL。 |
| | LOS_ListRemoveHeadType | 获取双向链表中第一个链表节点所在的结构体地址,并把第一个链表节点从链表中删除。接口的第一个入参表示的是链表中的头节点,第二个入参是要获取的结构体名称,第三个入参是链表在该结构体中的名称。如果链表为空,返回NULL。 |
| | LOS_ListNextType | 获取双向链表中指定链表节点的下一个节点所在的结构体地址。接口的第一个入参表示的是链表中的头节点,第二个入参是指定的链表节点,第三个入参是要获取的结构体名称,第四个入参是链表在该结构体中的名称。如果链表节点下一个为链表头结点为空,返回NULL。 |
| 遍历双向链表 | LOS_DL_LIST_FOR_EACH | 遍历双向链表 |
| LOS_DL_LIST_FOR_EACH_SAFE | 遍历双向链表,并存储当前节点的后继节点用于安全校验 |
| | LOS_DL_LIST_FOR_EACH_SAFE | 遍历双向链表,并存储当前节点的后继节点用于安全校验 |
| 遍历包含双向链表的结构体 | LOS_DL_LIST_FOR_EACH_ENTRY | 遍历指定双向链表,获取包含该链表节点的结构体地址 |
| LOS_DL_LIST_FOR_EACH_ENTRY_SAFE | 遍历指定双向链表,获取包含该链表节点的结构体地址,并存储包含当前节点的后继节点的结构体地址 |
| | LOS_DL_LIST_FOR_EACH_ENTRY_SAFE | 遍历指定双向链表,获取包含该链表节点的结构体地址,并存储包含当前节点的后继节点的结构体地址 |
## 开发流程
......
......@@ -15,6 +15,7 @@ OpenHarmony内核使用musl libc库,支持标准POSIX接口,开发者可基
## 标准库接口框架
**图1** POSIX接口框架
![zh-cn_image_0000001172904117](figures/zh-cn_image_0000001172904117.png)
musl libc库支持POSIX标准,涉及的系统调用相关接口由OpenHarmony内核适配支持 ,以满足接口对外描述的功能要求。
......
......@@ -62,43 +62,43 @@ OpenHarmony内核中,VFS框架是通过在内存中的树结构来实现的,
| 分类 | 接口**名称** | 功能 | FAT | JFFS2 | NFS | TMPFS | PROCFS |
| -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
| 文件操作 | open | 打开文件 | √ | √ | √ | √ | √ |
| read/pread/readv/preadv | 读取文件 | √ | √ | √ | √ | √ |
| write/pwrite/writev/pwritev | 写入文件 | √ | √ | √ | √ | √ |
| lseek | 设置文件偏移 | √ | √ | √ | √ | × |
| close | 关闭文件 | √ | √ | √ | √ | √ |
| unlink | 删除文件 | √ | √ | √ | √ | × |
| fstat | 查询文件信息 | √ | √ | √ | √ | √ |
| fallocate | 预分配大小 | √ | × | × | × | × |
| truncate | 文件截断 | √ | √ | × | √ | × |
| link | 创建硬链接 | × | √ | × | × | × |
| symlink | 创建软链接 | √ | √ | × | × | × |
| readlink | 读取软链接 | √ | √ | × | × | × |
| dup | 复制文件句柄 | √ | √ | √ | √ | √ |
| fsync | 文件内容刷入设备 | √ | × | × | × | × |
| ioctl | 设备控制 | × | × | × | √ | × |
| fcntl | 文件控制操作 | √ | √ | √ | √ | √ |
| | read/pread/readv/preadv | 读取文件 | √ | √ | √ | √ | √ |
| | write/pwrite/writev/pwritev | 写入文件 | √ | √ | √ | √ | √ |
| | lseek | 设置文件偏移 | √ | √ | √ | √ | × |
| | close | 关闭文件 | √ | √ | √ | √ | √ |
| | unlink | 删除文件 | √ | √ | √ | √ | × |
| | fstat | 查询文件信息 | √ | √ | √ | √ | √ |
| | fallocate | 预分配大小 | √ | × | × | × | × |
| | truncate | 文件截断 | √ | √ | × | √ | × |
| | link | 创建硬链接 | × | √ | × | × | × |
| | symlink | 创建软链接 | √ | √ | × | × | × |
| | readlink | 读取软链接 | √ | √ | × | × | × |
| | dup | 复制文件句柄 | √ | √ | √ | √ | √ |
| | fsync | 文件内容刷入设备 | √ | × | × | × | × |
| | ioctl | 设备控制 | × | × | × | √ | × |
| | fcntl | 文件控制操作 | √ | √ | √ | √ | √ |
| 目录操作 | mkdir | 创建目录 | √ | √ | √ | √ | × |
| opendir | 打开目录 | √ | √ | √ | √ | √ |
| readdir | 读取目录 | √ | √ | √ | √ | √ |
| closedir | 关闭目录 | √ | √ | √ | √ | √ |
| telldir | 获取目录偏移 | √ | √ | √ | √ | √ |
| seekdir | 设置目录偏移 | √ | √ | √ | √ | √ |
| rewinddir | 重置目录偏移 | √ | √ | √ | √ | × |
| scandir | 读取目录数据 | √ | √ | √ | √ | √ |
| rmdir | 删除目录 | √ | √ | √ | √ | × |
| chdir | 切换当前路径 | √ | √ | √ | √ | √ |
| getcwd | 获取当前路径 | √ | √ | √ | √ | √ |
| realpath | 相对/绝对路径转换 | √ | √ | √ | √ | √ |
| rename | 文件/目录重命名 | √ | √ | √ | √ | × |
| chmod | 修改文件/目录属性 | √ | √ | × | × | × |
| chown | 修改文件/目录所有者 | √ | √ | × | × | × |
| stat/lstat | 查询文件/目录信息 | √ | √ | √ | √ | √ |
| access | 查询文件/目录访问权限 | √ | √ | √ | √ | √ |
| | opendir | 打开目录 | √ | √ | √ | √ | √ |
| | readdir | 读取目录 | √ | √ | √ | √ | √ |
| | closedir | 关闭目录 | √ | √ | √ | √ | √ |
| | telldir | 获取目录偏移 | √ | √ | √ | √ | √ |
| | seekdir | 设置目录偏移 | √ | √ | √ | √ | √ |
| | rewinddir | 重置目录偏移 | √ | √ | √ | √ | × |
| | scandir | 读取目录数据 | √ | √ | √ | √ | √ |
| | rmdir | 删除目录 | √ | √ | √ | √ | × |
| | chdir | 切换当前路径 | √ | √ | √ | √ | √ |
| | getcwd | 获取当前路径 | √ | √ | √ | √ | √ |
| | realpath | 相对/绝对路径转换 | √ | √ | √ | √ | √ |
| | rename | 文件/目录重命名 | √ | √ | √ | √ | × |
| | chmod | 修改文件/目录属性 | √ | √ | × | × | × |
| | chown | 修改文件/目录所有者 | √ | √ | × | × | × |
| | stat/lstat | 查询文件/目录信息 | √ | √ | √ | √ | √ |
| | access | 查询文件/目录访问权限 | √ | √ | √ | √ | √ |
| 分区操作 | mount | 挂载分区 | √ | √ | √ | √ | √ |
| umount | 卸载分区 | √ | √ | √ | √ | × |
| statfs | 查询挂载分区信息 | √ | √ | √ | √ | √ |
| format | 格式化分区 | √ | × | × | × | × |
| sync | 分区内容刷入设备 | √ | × | × | × | × |
| | umount | 卸载分区 | √ | √ | √ | √ | × |
| | statfs | 查询挂载分区信息 | √ | √ | √ | √ | √ |
| | format | 格式化分区 | √ | × | × | × | × |
| | sync | 分区内容刷入设备 | √ | × | × | × | × |
### 开发流程
......
......@@ -8,65 +8,65 @@
1. 导入需要的包
```
#include "sensor_agent.h"
#include "sensor_agent_type.h"
```
1. 创建传感器回调函数
```
void SensorDataCallbackImpl(SensorEvent *event)
{
if(event == NULL){
return;
}
float *sensorData=(float *)event->data;
}
```
```
#include "sensor_agent.h"
#include "sensor_agent_type.h"
```
2. 创建传感器回调函数
```
void SensorDataCallbackImpl(SensorEvent *event)
{
if(event == NULL){
return;
}
float *sensorData=(float *)event->data;
}
```
>![](../public_sys-resources/icon-note.gif) **说明:**
>回调函数的格式为RecordSensorCallback类型。
1. 获取设备支持sensor列表
3. 获取设备支持sensor列表
```
SensorInfo *sensorInfo = (SensorInfo *)NULL;
int32_t count = 0;
int32_t ret = GetAllSensors(&sensorInfo, &count);
```
```
SensorInfo *sensorInfo = (SensorInfo *)NULL;
int32_t count = 0;
int32_t ret = GetAllSensors(&sensorInfo, &count);
```
1. 创建的传感器用户
4. 创建的传感器用户
```
SensorUser sensorUser;
sensorUser.callback = SensorDataCallbackImpl; //成员变量callback指向创建的回调方法
```
```
SensorUser sensorUser;
sensorUser.callback = SensorDataCallbackImpl; //成员变量callback指向创建的回调方法
```
1. 使能传感器
5. 使能传感器
```
int32_t ret = ActivateSensor(0, &sensorUser);
```
```
int32_t ret = ActivateSensor(0, &sensorUser);
```
1. 订阅传感器数据
6. 订阅传感器数据
```
int32_t ret = SubscribeSensor(0, &sensorUser);
```
```
int32_t ret = SubscribeSensor(0, &sensorUser);
```
>![](../public_sys-resources/icon-note.gif) **说明:**
>到这步就可以在实现的回调方法中获取到传感器数据。
1. 取消传感器数据订阅
7. 取消传感器数据订阅
```
int32_t ret = UnsubscribeSensor(0, &sensorUser);
```
```
int32_t ret = UnsubscribeSensor(0, &sensorUser);
```
1. 去使能一个传感器
8. 去使能一个传感器
```
int32_t ret = DeactivateSensor(0, &sensorUser);
```
```
int32_t ret = DeactivateSensor(0, &sensorUser);
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册