is-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3977221
  • 博文数量: 536
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4825
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(536)

文章存档

2024年(3)

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(252)

2006年(73)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: linux

2007-04-27 14:44:23

查看2.6 include/linux/err.h

/*
 * kernel pointers have redundant information, so we can use a
 * scheme where we can return either an error code or a dentry
 * pointer with the same return value.
 *
 * this should be a per-architecture thing, to allow different
 * error and pointer decisions.
 */

static inline void *err_ptr(long error)
{
        return (void *) error;
}

static inline long ptr_err(const void *ptr)
{
        return (long) ptr;
}

static inline long is_err(const void *ptr)
{
        return unlikely((unsigned long)ptr > (unsigned long)-1000l);
}



使用eg:

int err;
void *perr;

err = -enomem;
perr = err_ptr(err);

printk("err.%d perr.%p \n", err, perr);

if (is_err(perr))
{
  printk("ptr_err changed ==> err.%d", (int)ptr_err(perr));
}


主要用在错误指针同错误int类型间转换.
阅读(3056) | 评论(0) | 转发(0) |
0

上一篇:今天的小体会

下一篇:linux文件系统学习

给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图