文档首页/ LiteOS/ 标准库/ POSIX接口/ POSIX支持接口
更新时间:2021-03-18 GMT+08:00
分享

POSIX支持接口

Huawei LiteOS提供一套POSIX适配接口,具体的规格参见下表。

头文件

接口名

类型

说明

mqueue.h

mq_close

消息队列

关闭消息队列

mqueue.h

mq_getattr

消息队列

获取消息队列属性

mqueue.h

mq_open

消息队列

打开消息队列

mqueue.h

mq_receive

消息队列

接受一个消息队列中的消息

mqueue.h

mq_send

消息队列

发送一个消息到消息队列

mqueue.h

mq_setattr

消息队列

设置消息队列属性

mqueue.h

mq_timedreceive

消息队列

定时接收消息

mqueue.h

mq_timedsend

消息队列

定时发送消息

mqueue.h

mq_unlink

消息队列

移除消息队列

pthread.h

pthread_attr_destroy

pthread

删除线程的属性

pthread.h

pthread_attr_getdetachstate

pthread

获取脱离状态的属性

pthread.h

pthread_attr_getinheritsched

pthread

获取任务调度方式

pthread.h

pthread_attr_getschedparam

pthread

获取任务调度参数

pthread.h

pthread_attr_getschedpolicy

pthread

获取任务调度策略属性,Huawei LiteOS目前仅支持SCHED_RR调度策略,不支持SCHED_OTHERSCHED_FIFOSCHED_RR

pthread.h

pthread_attr_getscope

pthread

获取任务范围属性,Huawei LiteOS任务使用范围目前只支持PTHREAD_SCOPE_SYSTEM,不支持PTHREAD_SCOPE_PROCESS

pthread.h

pthread_attr_getstackaddr

pthread

获取任务堆栈的起始地址

pthread.h

pthread_attr_getstacksize

pthread

获取任务属性堆栈大小

pthread.h

pthread_attr_init

pthread

初始化任务属性

pthread.h

pthread_attr_setdetachstate

pthread

设置任务属性分离状态

pthread.h

pthread_attr_setinheritsched

pthread

设置任务调度方式

pthread.h

pthread_attr_setschedparam

pthread

设置任务调度参数,Huawei LiteOS设置任务优先级的参数值越小,任务在系统中的优先级就越高,与标准库函数相反。注意:需要将pthread_attr_t任务属性的inheritsched字段设置为PTHREAD_EXPLICIT_SCHED,否则设置的任务调度优先级将不会生效,系统默认设置为PTHREAD_INHERIT_SCHED

pthread.h

pthread_attr_setschedpolicy

pthread

设置任务调度策略属性,Huawei LiteOS目前仅支持SCHED_RR调度策略,不支持SCHED_OTHERSCHED_FIFOSCHED_RR

pthread.h

pthread_attr_setscope

pthread

设置任务范围属性,Huawei LiteOS任务使用范围目前只支持PTHREAD_SCOPE_SYSTEM,不支持PTHREAD_SCOPE_PROCESS

pthread.h

pthread_attr_setstackaddr

pthread

设置任务堆栈的起始地址

pthread.h

pthread_attr_setstacksize

pthread

设置任务属性堆栈大小

pthread.h

pthread_cancel

pthread

取消任务,Huawei LiteOS仅支持先设置PTHREAD_CANCEL_ASYNCHRONOUS状态,再调用pthread_cancel取消任务

pthread.h

pthread_cond_broadcast

pthread

唤醒所有被阻塞在条件变量上的线程

pthread.h

pthread_cond_destroy

pthread

释放条件变量

pthread.h

pthread_cond_init

pthread

初始化条件变量

pthread.h

pthread_cond_signal

pthread

释放被阻塞在条件变量上的一个线程

pthread.h

pthread_cond_timedwait

pthread

超时时限内等待一个条件变量,当超时等待时间为相对时间,Huawei LiteOS不能处理早已超时的情况

pthread.h

pthread_cond_wait

pthread

等待一个条件变量

pthread.h

pthread_condattr_destroy

pthread

删除存储并使属性对象无效

pthread.h

pthread_condattr_getclock

pthread

获取任务时钟

pthread.h

pthread_condattr_getpshared

pthread

获取条件变量属性,Huawei LiteOS只支持获取PTHREAD_PROCESS_PRIVATE条件变量属性

pthread.h

pthread_condattr_init

pthread

初始化条件变量属性

pthread.h

pthread_condattr_setclock

pthread

设置任务时钟

pthread.h

pthread_condattr_setpshared

pthread

设置条件变量属性

pthread.h

pthread_create

pthread

创建任务

pthread.h

pthread_detach

pthread

分离任务

pthread.h

pthread_equal

pthread

判断是否为同一任务

pthread.h

pthread_exit

pthread

任务退出

pthread.h

pthread_getschedparam

pthread

获取任务优先级及调度参数,Huawei LiteOS目前仅支持SCHED_RR调度策略,不支持SCHED_OTHERSCHED_FIFOSCHED_RR

pthread.h

pthread_getspecific

pthread

获取调用线程的键绑定

pthread.h

pthread_join

pthread

阻塞任务

pthread.h

pthread_key_create

pthread

分配用于标识进程中线程特定数据的键

pthread.h

pthread_key_delete

pthread

销毁现有线程特定数据键

pthread.h

pthread_mutex_destroy

pthread

删除互斥锁

pthread.h

pthread_mutex_getprioceiling

pthread

获取互斥锁的优先级上限

pthread.h

pthread_mutex_init

pthread

初始化互斥锁

pthread.h

pthread_mutex_lock

pthread

申请互斥锁(阻塞操作)

pthread.h

pthread_mutex_setprioceiling

pthread

设置互斥锁的优先级上限

pthread.h

pthread_mutex_timedlock

pthread

申请互斥锁(只在设定时间内阻塞)

pthread.h

pthread_mutex_trylock

pthread

尝试申请互斥锁(非阻塞)

pthread.h

pthread_mutex_unlock

pthread

释放互斥锁

pthread.h

pthread_mutexattr_destroy

pthread

销毁互斥锁属性对象

pthread.h

pthread_mutexattr_getprioceiling

pthread

获取互斥锁属性的优先级上限

pthread.h

pthread_mutexattr_getprotocol

pthread

获取互斥锁属性的协议属性

pthread.h

pthread_mutexattr_gettype

pthread

获取互斥锁的类型属性

pthread.h

pthread_mutexattr_init

pthread

初始化互斥锁属性对象

pthread.h

pthread_mutexattr_setprioceiling

pthread

设置互斥锁属性的优先级上限

pthread.h

pthread_mutexattr_setprotocol

pthread

设置互斥锁属性的协议属性

pthread.h

pthread_mutexattr_settype

pthread

设置互斥锁的类型属性

pthread.h

pthread_once

pthread

一次性操作任务

pthread.h

pthread_self

pthread

获取任务ID

pthread.h

pthread_setcancelstate

pthread

任务cancel功能开关

pthread.h

pthread_setcanceltype

pthread

设置任务cancel类型

pthread.h

pthread_setschedparam

pthread

设置任务优先级及调度策略,Huawei LiteOS目前仅支持SCHED_RR调度策略,不支持SCHED_OTHERSCHED_FIFOSCHED_RR

pthread.h

pthread_setschedprio

pthread

设置任务优先级

pthread.h

pthread_setspecific

pthread

设置线程数据

pthread.h

pthread_testcancel

pthread

cancel任务

sched.h

sched_get_priority_max

调度函数

获取系统支持的最大的优先级值

sched.h

sched_get_priority_min

调度函数

获取系统支持的最小的优先级值

sched.h

sched_yield

调度函数

使当前线程放弃占用CPU

semaphore.h

sem_destroy

信号量

销毁无名信号量

semaphore.h

sem_getvalue

信号量

获取指定信号量的值

semaphore.h

sem_init

信号量

初始化无名信号量

semaphore.h

sem_post

信号量

释放一个指定的无名信号量

semaphore.h

sem_timedwait

信号量

申请一个超时等待的无名信号量,当超时等待时间为相对时间时,Huawei LiteOS不能处理早已超时的情况

semaphore.h

sem_trywait

信号量

尝试申请一个无名信号量

semaphore.h

sem_wait

信号量

申请等待一个无名信号量

time.h

nanosleep

时间函数

进程以纳秒为单位休眠,但Huawei LiteOS目前只支持tick(默认10ms)休眠,第二个参数不支持,且传参所设置的秒数不能大于4292秒

time.h

timer_create

时间函数

创建定时器,只支持SIGEV_THREAD在线程内处理(Huawei LiteOS有两种实现方式,在线程或者在中断中处理timer的回调函数,具体采用哪种方式由宏开关LOSCFG_BASE_CORE_SWTMR_IN_ISR控制);clock_id只支持CLOCK_REALTIME

time.h

timer_delete

时间函数

删除定时器

time.h

timer_getoverrun

时间函数

获取定时器超时次数

time.h

timer_gettime

时间函数

获得一个定时器剩余时间

time.h

timer_settime

时间函数

初始化或者撤销定时器

相关文档