跳转至

device

device 提供操作系统设备抽象层功能,支持设备的创建、注册、注销及用户空间访问,提供低功耗管理、异步通知、poll 等待唤醒、内存重映射及 SMC (Secure Monitor Call) 调用等能力。

头文件清单

#include "include/osal/device/osal_device.h"

接口清单

接口名称 功能简述
osal_pm_lowpower_enter 调用所有设备的低功耗进入回调函数
osal_pm_lowpower_exit 调用所有设备的低功耗退出回调函数
osal_dev_create 创建设备并申请内存,返回osal_dev指针
osal_dev_destroy 释放由osal_dev_create创建的设备内存
osal_dev_register 注册设备到系统
osal_dev_unregister 注销已注册的设备
osal_device_set_async 设置设备异步唤醒
osal_poll_wait 将当前进程添加到指定等待队列
osal_notify_poll 唤醒指定等待队列中的进程
osal_remap_pfn_range 将内核物理页重映射到用户空间
osal_try_to_freeze 尝试冻结当前任务
osal_set_freezable 设置当前任务可冻结并尝试冻结
osal_kobject_uevent_env 发送带环境数据的uevent事件
osal_fasync_helper 设置字符设备驱动的fasync队列
osal_fasync_notify 发送异步通知信号
osal_pgprot_noncached 获取非缓存页属性
osal_pgprot_cached 获取缓存页属性
osal_pgprot_writecombine 获取写合并页属性
osal_smccc_smc 执行SMC调用
osal_opendev 打开设备文件
osal_closedev 关闭设备文件
osal_readdev 读取设备数据
osal_writedev 写入设备数据
osal_ioctldev 对设备执行ioctl操作
osal_init OSAL Linux用户空间初始化
osal_exit OSAL Linux用户空间退出

Functions

osal_pm_lowpower_enter

void osal_pm_lowpower_enter(void)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 调用所有已注册设备的低功耗进入回调函数
  • 用于系统进入低功耗模式前,通知各设备执行低功耗准备操作
  • 仅支持Linux系统

前置条件

  • 已有设备通过osal_dev_register注册到系统
  • 设备的pmops中已设置pm_lowpower_enter回调函数

osal_pm_lowpower_exit

void osal_pm_lowpower_exit(void)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 调用所有已注册设备的低功耗退出回调函数
  • 用于系统退出低功耗模式后,通知各设备恢复正常工作状态
  • 仅支持Linux系统

前置条件

  • 已有设备通过osal_dev_register注册到系统
  • 设备的pmops中已设置pm_lowpower_exit回调函数

osal_dev_create

osal_dev *osal_dev_create(const char *name)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 申请osal_dev类型内存并返回指针,用于创建设备对象
  • 创建的设备须通过osal_dev_register注册到系统后方可使用
  • 创建的设备须通过osal_dev_destroy释放内存,调用者需将dev指针置NULL

前置条件

  • name参数不为NULL
  • 系统内存充足,能够分配osal_dev结构体所需空间

入参

名称 参数类型 详细说明 约束取值范围
name const char * 设备名称 不为NULL,长度小于OSAL_DEV_NAME_LEN(32)

返回值

返回值 文字含义 触发场景
非NULL指针 设备创建成功 内存分配成功
NULL 设备创建失败 name为NULL或内存分配失败

osal_dev_destroy

int osal_dev_destroy(osal_dev *dev)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 释放由osal_dev_create创建的设备内存
  • 调用后调用者应将dev指针置NULL,避免悬空指针
  • dev参数必须来自osal_dev_create的返回值

前置条件

  • dev指针由osal_dev_create创建获得
  • 设备已通过osal_dev_unregister注销

入参

名称 参数类型 详细说明 约束取值范围
dev osal_dev * 待销毁的设备指针 由osal_dev_create创建,不为NULL

返回值

返回值 文字含义 触发场景
OSAL_SUCCESS(0) 释放成功 dev不为NULL
OSAL_FAILURE(-1) 释放失败 dev为NULL

osal_dev_register

int osal_dev_register(osal_dev *dev)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 将设备注册到系统,注册后设备可通过用户空间接口访问
  • 注册前须通过osal_dev_create创建设备并设置fops回调
  • dev的fops成员不可为NULL

前置条件

  • dev由osal_dev_create创建,且dev->dev为NULL
  • dev->fops不为NULL,已设置文件操作回调函数

入参

名称 参数类型 详细说明 约束取值范围
dev osal_dev * 待注册的设备指针 由osal_dev_create创建,fops不为NULL

返回值

返回值 文字含义 触发场景
OSAL_SUCCESS(0) 注册成功 设备注册成功
OSAL_FAILURE(-1) 注册失败 dev为NULL、dev->dev不为NULL、fops为NULL或平台注册失败

osal_dev_unregister

void osal_dev_unregister(osal_dev *dev)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 注销已注册的设备,注销后设备不再可通过用户空间访问
  • dev参数必须由osal_dev_create创建且已通过osal_dev_register注册
  • 注销后dev->dev被置NULL

前置条件

  • dev由osal_dev_create创建且已通过osal_dev_register注册
  • dev->dev不为NULL

入参

名称 参数类型 详细说明 约束取值范围
dev osal_dev * 待注销的设备指针 由osal_dev_create创建且已注册,dev->dev不为NULL

osal_device_set_async

void osal_device_set_async(unsigned int minor)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 设置设备为异步唤醒模式
  • 通过设备次设备号指定目标设备
  • 仅支持Linux系统

前置条件

  • 设备已通过osal_dev_register注册到系统
  • minor对应有效的已注册设备

入参

名称 参数类型 详细说明 约束取值范围
minor unsigned int 设备次设备号 已注册设备的有效次设备号

osal_poll_wait

void osal_poll_wait(osal_poll *table, osal_wait *wait)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 将当前进程添加到指定等待队列中,用于poll机制
  • 配合osal_notify_poll使用,实现设备的poll等待与唤醒
  • 仅支持Linux和LiteOS系统

前置条件

  • table不为NULL且table->data、table->poll_table不为NULL
  • wait不为NULL且wait->wait不为NULL

入参

名称 参数类型 详细说明 约束取值范围
table osal_poll * poll表指针 不为NULL,data和poll_table成员不为NULL
wait osal_wait * 等待队列指针 不为NULL,wait成员不为NULL

osal_notify_poll

void osal_notify_poll(osal_wait *wait)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 唤醒指定等待队列中的进程
  • 配合osal_poll_wait使用,实现设备的poll等待与唤醒
  • 仅支持LiteOS系统

前置条件

  • wait不为NULL且wait->wait不为NULL

入参

名称 参数类型 详细说明 约束取值范围
wait osal_wait * 等待队列指针 不为NULL,wait成员不为NULL

osal_remap_pfn_range

int osal_remap_pfn_range(osal_vm *vm, unsigned long addr, unsigned long pfn, unsigned long size)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 将内核物理页帧重映射到用户空间地址
  • 用于设备mmap操作,使用户空间可直接访问设备内存
  • 仅支持Linux和LiteOS系统

前置条件

  • vm不为NULL
  • addr为有效的用户空间对齐地址
  • pfn为有效的物理页帧号

入参

名称 参数类型 详细说明 约束取值范围
vm osal_vm * 虚拟内存结构指针 不为NULL
addr unsigned long 用户空间起始地址 有效的对齐地址
pfn unsigned long 物理页帧号 有效的物理页帧号
size unsigned long 映射大小(字节) 大于0

返回值

返回值 文字含义 触发场景
0 映射成功 重映射操作成功
非0值 映射失败 重映射操作失败

osal_try_to_freeze

int osal_try_to_freeze(void)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 尝试冻结当前任务,用于系统休眠流程
  • 返回true表示冻结成功,返回false表示冻结失败
  • 仅支持Linux和LiteOS系统

返回值

返回值 文字含义 触发场景
true(非0) 冻结成功 当前任务成功冻结
false(0) 冻结失败 当前任务无需冻结或冻结失败

osal_set_freezable

int osal_set_freezable(void)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 标记当前任务可冻结并尝试冻结,用于系统休眠流程
  • 先设置任务为可冻结状态,再尝试执行冻结操作
  • 仅支持Linux和LiteOS系统

返回值

返回值 文字含义 触发场景
true(非0) 冻结成功 任务标记可冻结并成功冻结
false(0) 冻结失败 任务冻结失败

osal_kobject_uevent_env

int osal_kobject_uevent_env(osal_dev *dev, osal_kobject_action action, char *envp[])

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 发送带环境数据的uevent事件到用户空间
  • 用于设备热插拔等事件通知
  • 仅支持Linux和LiteOS系统

前置条件

  • dev不为NULL且已注册到系统
  • action为有效的osal_kobject_action枚举值
  • envp数组以NULL结尾

入参

名称 参数类型 详细说明 约束取值范围
dev osal_dev * 设备指针 不为NULL,已注册设备
action osal_kobject_action 事件动作类型 OSAL_KOBJ_ADD(0) / OSAL_KOBJ_REMOVE(1) / OSAL_KOBJ_CHANGE(2) / OSAL_KOBJ_MOVE(3) / OSAL_KOBJ_ONLINE(4) / OSAL_KOBJ_OFFLINE(5) / OSAL_KOBJ_BIND(6) / OSAL_KOBJ_UNBIND(7)
envp char *[] 环境变量字符串数组 以NULL结尾的字符串数组

返回值

返回值 文字含义 触发场景
0 发送成功 kobject_uevent_env执行成功
非0值 发送失败 kobject_uevent_env执行失败

osal_fasync_helper

int osal_fasync_helper(int fd, void *filp, int mode, void **fapp)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 设置字符设备驱动的fasync队列,管理异步通知的注册与注销
  • mode非0时注册异步通知,mode为0时注销异步通知
  • 仅支持Linux系统

前置条件

  • fapp指向有效的fasync_struct指针
  • 设备已注册且文件已打开

入参

名称 参数类型 详细说明 约束取值范围
fd int 文件描述符 有效的文件描述符
filp void * 文件结构指针 不为NULL
mode int 模式标志 非0为注册,0为注销
fapp void ** fasync结构指针的地址 不为NULL

返回值

返回值 文字含义 触发场景
负值 操作错误 参数错误
0 无变更 未做任何修改
正值 操作成功 成功添加或删除条目

osal_fasync_notify

void osal_fasync_notify(void **fapp, int sig, int band)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 向应用层发送SIGIO异步通知信号
  • 应用层通过注册SIGIO信号处理函数接收通知
  • 仅支持Linux系统

前置条件

  • fapp不为NULL且已通过osal_fasync_helper注册
  • 应用层已注册SIGIO信号处理函数

入参

名称 参数类型 详细说明 约束取值范围
fapp void ** fasync结构指针的地址 不为NULL,已注册
sig int 信号编号 有效的信号编号
band int 事件带宽 有效的带宽值

osal_pgprot_noncached

void osal_pgprot_noncached(osal_vm *vm)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 设置页属性为非缓存模式
  • 用于设备mmap操作中设置用户空间映射的非缓存属性
  • 仅支持Linux系统

前置条件

  • vm不为NULL

入参

名称 参数类型 详细说明 约束取值范围
vm osal_vm * 虚拟内存结构指针 不为NULL

osal_pgprot_cached

void osal_pgprot_cached(osal_vm *vm)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 设置页属性为缓存模式
  • 用于设备mmap操作中设置用户空间映射的缓存属性
  • 仅支持Linux系统

前置条件

  • vm不为NULL

入参

名称 参数类型 详细说明 约束取值范围
vm osal_vm * 虚拟内存结构指针 不为NULL

osal_pgprot_writecombine

void osal_pgprot_writecombine(osal_vm *vm)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 设置页属性为写合并模式
  • 用于设备mmap操作中设置用户空间映射的写合并属性
  • 仅支持Linux系统

前置条件

  • vm不为NULL

入参

名称 参数类型 详细说明 约束取值范围
vm osal_vm * 虚拟内存结构指针 不为NULL

osal_smccc_smc

void osal_smccc_smc(const osal_smccc_info *info, osal_smccc_res *res)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 按照SMC Calling Convention执行SMC调用
  • 用于安全世界与非安全世界之间的通信
  • 仅支持Linux系统

前置条件

  • info不为NULL
  • res不为NULL

入参

名称 参数类型 详细说明 约束取值范围
info const osal_smccc_info * SMC调用输入参数 不为NULL

出参

名称 数据类型 输出说明
res osal_smccc_res SMC调用返回结果,包含a0~a3寄存器值

osal_opendev

int osal_opendev(const char *path, int flag, ...)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 打开设备文件,返回设备文件描述符
  • 内部调用设备驱动注册的open回调函数
  • 仅支持Linux用户空间

前置条件

  • path不为NULL且对应设备已注册
  • 设备驱动已设置open回调函数

入参

名称 参数类型 详细说明 约束取值范围
path const char * 设备文件路径 不为NULL,如/dev/xxx
flag int 打开标志 有效的文件打开标志
... 可变参数 与flag相关的可变参数,具体约束见源码实现 -

返回值

返回值 文字含义 触发场景
非负整数 设备文件描述符 打开成功
OSAL_FAILURE(-1) 打开失败 设备不存在或打开失败

osal_closedev

int osal_closedev(int fd)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 关闭设备文件,内部调用设备驱动注册的release回调函数
  • 关闭后fd不再有效
  • 仅支持Linux用户空间

前置条件

  • fd为有效的设备文件描述符

入参

名称 参数类型 详细说明 约束取值范围
fd int 设备文件描述符 osal_opendev返回的有效fd

返回值

返回值 文字含义 触发场景
OSAL_SUCCESS(0) 关闭成功 设备文件关闭成功
OSAL_FAILURE(-1) 关闭失败 fd无效或关闭失败

osal_readdev

int osal_readdev(int fd, void *buf, unsigned long count)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 从设备读取数据,内部调用设备驱动注册的read回调函数
  • 返回实际读取的字节数,或-1表示失败
  • 仅支持Linux用户空间

前置条件

  • fd为有效的设备文件描述符
  • buf不为NULL且已分配足够空间

入参

名称 参数类型 详细说明 约束取值范围
fd int 设备文件描述符 osal_opendev返回的有效fd
buf void * 读取数据缓冲区 不为NULL,空间不小于count
count unsigned long 请求读取的字节数 大于0

返回值

返回值 文字含义 触发场景
正整数 实际读取字节数 读取成功
OSAL_FAILURE(-1) 读取失败 fd无效或读取失败

osal_writedev

int osal_writedev(int fd, const void *buf, unsigned long count)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 向设备写入数据,内部调用设备驱动注册的write回调函数
  • 返回实际写入的字节数,或-1表示失败
  • 仅支持Linux用户空间

前置条件

  • fd为有效的设备文件描述符
  • buf不为NULL且包含待写入数据

入参

名称 参数类型 详细说明 约束取值范围
fd int 设备文件描述符 osal_opendev返回的有效fd
buf const void * 写入数据缓冲区 不为NULL
count unsigned long 请求写入的字节数 大于0

返回值

返回值 文字含义 触发场景
正整数 实际写入字节数 写入成功
OSAL_FAILURE(-1) 写入失败 fd无效或写入失败

osal_ioctldev

int osal_ioctldev(int fd, unsigned int cmd, ...)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • 对设备执行ioctl操作,内部调用设备驱动注册的cmd_list中对应的handler
  • cmd值须在设备驱动注册的cmd_list中存在
  • 仅支持Linux用户空间

前置条件

  • fd为有效的设备文件描述符
  • 设备驱动已设置cmd_list且cmd_cnt大于0

入参

名称 参数类型 详细说明 约束取值范围
fd int 设备文件描述符 osal_opendev返回的有效fd
cmd unsigned int ioctl命令字 在设备驱动cmd_list中定义的有效命令
... 可变参数 ioctl命令的附加参数,具体约束见源码实现 -

返回值

返回值 文字含义 触发场景
0 操作成功 ioctl操作成功
OSAL_FAILURE(-1) 操作失败 fd无效、cmd未找到或handler执行失败

osal_init

int osal_init(void)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • OSAL Linux用户空间初始化
  • 在使用其他OSAL用户空间接口前须调用此接口
  • 仅支持Linux用户空间

返回值

返回值 文字含义 触发场景
OSAL_SUCCESS(0) 初始化成功 初始化成功
OSAL_FAILURE(-1) 初始化失败 初始化失败

osal_exit

void osal_exit(void)

头文件清单

#include "include/osal/device/osal_device.h"

功能说明

  • OSAL Linux用户空间退出,释放初始化资源
  • 程序退出前调用,与osal_init配对使用
  • 仅支持Linux用户空间

前置条件

  • 已通过osal_init完成初始化

Enumerations

osal_kobject_action

typedef enum osal_kobject_action_ {
    OSAL_KOBJ_ADD,
    OSAL_KOBJ_REMOVE,
    OSAL_KOBJ_CHANGE,
    OSAL_KOBJ_MOVE,
    OSAL_KOBJ_ONLINE,
    OSAL_KOBJ_OFFLINE,
    OSAL_KOBJ_BIND,
    OSAL_KOBJ_UNBIND,
    OSAL_KOBJ_MAX
} osal_kobject_action;
枚举成员 取值 描述
OSAL_KOBJ_ADD 0 设备添加事件
OSAL_KOBJ_REMOVE 1 设备移除事件
OSAL_KOBJ_CHANGE 2 设备属性变更事件
OSAL_KOBJ_MOVE 3 设备移动事件
OSAL_KOBJ_ONLINE 4 设备上线事件
OSAL_KOBJ_OFFLINE 5 设备下线事件
OSAL_KOBJ_BIND 6 设备绑定事件
OSAL_KOBJ_UNBIND 7 设备解绑事件
OSAL_KOBJ_MAX 8 枚举最大值,无效动作

Structures

osal_poll

typedef struct osal_poll_ {
    void *poll_table;
    void *data;
} osal_poll;

成员说明

成员名称 数据类型 描述
poll_table void * poll等待表指针
data void * 私有数据指针,通常指向file结构

osal_ioctl_cmd

typedef struct osal_ioctl_cmd_ {
    unsigned int cmd;
    int (*handler)(unsigned int cmd, void *arg, void *private_data);
} osal_ioctl_cmd;

成员说明

成员名称 数据类型 描述
cmd unsigned int ioctl命令字
handler int ()(unsigned int cmd, void arg, void *private_data) ioctl命令处理函数指针

osal_vm

typedef struct osal_vm_ {
    void *vm;
} osal_vm;

成员说明

成员名称 数据类型 描述
vm void * 虚拟内存结构指针

osal_fileops

typedef struct osal_fileops_ {
    int (*open)(void *private_data);
    int (*read)(char *buf, int size, long *offset, void *private_data);
    int (*write)(const char *buf, int size, long *offset, void *private_data);
    long (*llseek)(long offset, int whence, void *private_data);
    int (*release)(void *private_data);
    unsigned int (*poll)(osal_poll *osal_poll, void *private_data);
    int (*mmap)(osal_vm *vm, unsigned long start, unsigned long end, unsigned long vm_pgoff, void *private_data);
    int (*fasync)(int fd, void *filp, int mode);
    osal_ioctl_cmd *cmd_list;
    unsigned int cmd_cnt;
} osal_fileops;

成员说明

成员名称 数据类型 描述
open int ()(void private_data) 设备打开回调函数
read int ()(char buf, int size, long offset, void private_data) 设备读取回调函数
write int ()(const char buf, int size, long offset, void private_data) 设备写入回调函数
llseek long ()(long offset, int whence, void private_data) 设备seek回调函数
release int ()(void private_data) 设备释放回调函数
poll unsigned int ()(osal_poll osal_poll, void *private_data) 设备poll回调函数
mmap int ()(osal_vm vm, unsigned long start, unsigned long end, unsigned long vm_pgoff, void *private_data) 设备mmap回调函数
fasync int ()(int fd, void filp, int mode) 设备fasync回调函数
cmd_list osal_ioctl_cmd * ioctl命令列表
cmd_cnt unsigned int ioctl命令数量

osal_pmops

typedef struct osal_pmops_ {
    int (*pm_suspend)(void *private_data);
    int (*pm_resume_early)(void *private_data);
    int (*pm_resume)(void *private_data);
    int (*pm_lowpower_enter)(void *private_data);
    int (*pm_lowpower_exit)(void *private_data);
    int (*pm_poweroff)(void *private_data);
    void *private_data;
} osal_pmops;

成员说明

成员名称 数据类型 描述
pm_suspend int ()(void private_data) 设备挂起回调函数
pm_resume_early int ()(void private_data) 设备早期恢复回调函数
pm_resume int ()(void private_data) 设备恢复回调函数
pm_lowpower_enter int ()(void private_data) 设备低功耗进入回调函数
pm_lowpower_exit int ()(void private_data) 设备低功耗退出回调函数
pm_poweroff int ()(void private_data) 设备关机回调函数
private_data void * 私有数据指针

osal_dev

#define OSAL_DEV_NAME_LEN 32
typedef struct osal_dev_ {
    char name[OSAL_DEV_NAME_LEN];
    int minor;
    unsigned int parent_minor;
    osal_fileops *fops;
    osal_pmops *pmops;
    void *dev;
    void *owner;
} osal_dev;

成员说明

成员名称 数据类型 描述
name char[OSAL_DEV_NAME_LEN] 设备名称,最大长度32
minor int 次设备号
parent_minor unsigned int 父设备次设备号
fops osal_fileops * 文件操作回调集合
pmops osal_pmops * 电源管理回调集合
dev void * 设备内部信息指针
owner void * 模块所有者指针

osal_wait

typedef struct {
    void *wait;
} osal_wait;

成员说明

成员名称 数据类型 描述
wait void * 等待队列内核结构指针

osal_smccc_info

typedef struct {
    unsigned long a0;
    unsigned long a1;
    unsigned long a2;
    unsigned long a3;
    unsigned long a4;
    unsigned long a5;
    unsigned long a6;
    unsigned long a7;
} osal_smccc_info;

成员说明

成员名称 数据类型 描述
a0 unsigned long SMC调用参数0
a1 unsigned long SMC调用参数1
a2 unsigned long SMC调用参数2
a3 unsigned long SMC调用参数3
a4 unsigned long SMC调用参数4
a5 unsigned long SMC调用参数5
a6 unsigned long SMC调用参数6
a7 unsigned long SMC调用参数7

osal_smccc_res

typedef struct {
    unsigned long a0;
    unsigned long a1;
    unsigned long a2;
    unsigned long a3;
} osal_smccc_res;

成员说明

成员名称 数据类型 描述
a0 unsigned long SMC调用返回值0
a1 unsigned long SMC调用返回值1
a2 unsigned long SMC调用返回值2
a3 unsigned long SMC调用返回值3

Macros

OSAL_POLLIN

#define OSAL_POLLIN 0x0001U

OSAL_POLLPRI

#define OSAL_POLLPRI 0x0002U

OSAL_POLLOUT

#define OSAL_POLLOUT 0x0004U

OSAL_POLLERR

#define OSAL_POLLERR 0x0008U

OSAL_POLLHUP

#define OSAL_POLLHUP 0x0010U

OSAL_POLLNVAL

#define OSAL_POLLNVAL 0x0020U

OSAL_POLLRDNORM

#define OSAL_POLLRDNORM 0x0040U

OSAL_POLLRDBAND

#define OSAL_POLLRDBAND 0x0080U

OSAL_POLLWRNORM

#define OSAL_POLLWRNORM 0x0100U

OSAL_DEV_NAME_LEN

#define OSAL_DEV_NAME_LEN 32

OSAL_NOCACHE

#define OSAL_NOCACHE 0

OSAL_CACHE

#define OSAL_CACHE 1

OSAL_SUCCESS

#define OSAL_SUCCESS 0

OSAL_FAILURE

#define OSAL_FAILURE (-1)