Chinaunix首页 | 论坛 | 博客
  • 博客访问: 939666
  • 博文数量: 146
  • 博客积分: 3321
  • 博客等级: 中校
  • 技术积分: 1523
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-29 10:32
文章分类

全部博文(146)

文章存档

2014年(2)

2013年(5)

2012年(4)

2011年(6)

2010年(30)

2009年(75)

2008年(24)

分类: LINUX

2010-06-29 13:58:34

对每一个linux内核以及驱动开发者来说,内核自带的 Documentation目录无疑是一个非常非常有用的参考资料和学习资料。建议多读~ 

当我们在写驱动或者修改内核的时候,可能需要用到某些kernel api,我们也想能够像libc api那样可以通过man手册查看其使用方法,毫无疑问,直接到内核 source code 里面去查找到相关的函数定义是一种方法,但是显得比较麻烦。你可以将内核api安装为man手册,然后你就可以很方便的 man  xxx-kernel-api  了。具体步骤如下(based on FC6 ):

(1)在kernel source的顶层目录,执行make installmandocs就可以将man 手册安装到 /usr/local/man/man9下面了。

    NOTES: 注意,如果在执行make installmandocs的时候需要其他的一些工具程序,可以使用yum工具来进行在线安装,比如,我的系统在make installmandocs时报缺少xmlto,所以执行yum install xmlto安装好需要的工具之后再执行make installmandocs就可以了。

 自此,已经安装好了。下面show一段: man copy_from_user

COPY_FROM_USER(9)          User Space Memory Access          COPY_FROM_USER(9)



NAME
       copy_from_user - Copy a block of data from user space.

SYNOPSIS
       unsigned long copy_from_user (void * to
, const void __user * from,
                                    unsigned long n)
;

ARGUMENTS
       to     Destination address
, in kernel space.

       from   Source address
, in user space.

       n      Number of bytes to copy.

CONTEXT
       User context only. This function may sleep.

DESCRIPTION
       Copy data from user space to kernel space.

       Returns number of bytes that could not be copied. On success
, this will
       be zero.

       If some data could not be copied
, this function will pad the copied
       data to the requested size using zero bytes.



Kernel Hackers Manual            January 
2008                COPY_FROM_USER(9)

呵呵,还凑合吧!~~ 

PS: 不过缺点就是说明相对来说简单了些,如果需要更详细的说明,看内核代码吧:)

阅读(1212) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~