PTR_ERR 系列函数和宏

ERR_PTR 和 PTR_ERR 系列函数用于内核中处理指针和错误码的转换,特别是在需要通过指针返回结果的函数中非常有用。

  1. IS_ERR(ptr)
    判断一个指针是否是一个错误指针。错误指针是通过内核特定的方式将错误码编码到指针中进行返回。
c 复制代码
bool IS_ERR(const void *ptr);
  1. PTR_ERR(ptr)
    将一个错误指针解码为一个负的错误码。如果传入的指针是正常的,则该宏的行为未定义。
c 复制代码
long PTR_ERR(const void *ptr);
  1. ERR_PTR(err)
    将一个负的错误码编码为一个指针。这是用于将错误码返回为指针类型的函数的一种机制。
c 复制代码
void *ERR_PTR(long error);
  1. IS_ERR_OR_NULL(ptr)
    判断一个指针是否是一个错误指针或者 NULL 指针。
c 复制代码
bool IS_ERR_OR_NULL(const void *ptr);
  1. ERR_CAST(ptr)
    用于将错误指针强制转换为另一种类型的指针。这个宏不会修改错误指针的实际值,它只是用于类型转换。
c 复制代码
typeof(ptr) ERR_CAST(const void *ptr);
相关推荐
靡樊9 分钟前
网络基础概念
linux·服务器·网络·c++·学习
Kusunoki_D1 小时前
速查 Linux 常用指令 II
linux·运维·服务器
xmweisi021 小时前
Ansible内置模块之 group
linux·运维·ansible·rhce·rhca·红帽认证
小猪写代码1 小时前
Ubuntu 系统默认已安装 python,此处只需添加一个超链接即可
linux·python·ubuntu
孤寂大仙v2 小时前
【Linux笔记】——Linux线程理解与分页存储的奥秘
linux·运维·笔记
有谁看见我的剑了?3 小时前
ubuntu 22.04 wifi网卡配置地址上网
linux·运维·ubuntu
码农新猿类3 小时前
Ubuntu摄像头打开失败
linux·运维·ubuntu
PWRJOY3 小时前
Ubuntu磁盘空间分析:du命令及常用组合
linux·运维·ubuntu
ASDyushui3 小时前
Shell 编程之正则表达式与文本处理器
linux·正则表达式
zuozewei4 小时前
安全扫描之 Linux 杀毒软件 Clamav 安装
linux·运维·安全