usb-skeleton.c 之 03--那些个头头文文件件们

来源:互联网 发布:云漫数据流量可以用吗 编辑:程序博客网 时间:2024/05/21 18:50

#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/kref.h>
#include <asm/uaccess.h>
#include <linux/usb.h>
#include <linux/mutex.h>

 

就我自己学习LDD了解到这些头文件的作用啊  LDD看了挺长时间  发现了 看了等于白看 

现在把这些 咋咋乱乱的 都 了解了解

**#include <linux/kernel.h>

int printk(const cha *fmt,...)

container_of(pointer,type,filed);一个方便使用的宏,它可以用于包含摸个结构中的指针获得结构本身的指针。

 

**#include <linux/errno.h>#define

ERESTARTSYS 512









定义了 这些了。。
**#include <linux/init.h>

module_init(init_funciton);    module_exit(cleanup_function);用于指定模块的初始化和清除函数的宏

__init         __initdata

__exit        __exitdata

 

**#include <linux/slab.h>

kamlloc(size_t size,int flags);

kfree(void obj);
**#include <linux/module.h>

必备的头文件,它必须包含在模块源代码中
**#include <linux/kref.h>






**#include <asm/uaccess.h>

copy_from_user

copy_to_user

access_ok(int type,const void *addr,unsigned long size)验证指向用户空间的指针是否可用。如果允许访问,access_of返回非零值。

put_user()

get_user()

__put_user();

__get_user()

**#include <linux/usb.h>

重要的usb 头文件 这个东东要有
**#include <linux/mutex.h>

应该是 互锁 机制  spinlock  semaphore

void init_MUTEX(struct semaphore *sem).

 

再接再厉  这XX  头好痛。