Linux系统常用头文件的说明

注意:不同版本的内核头文件的路径有所不一样。

#include <linux/kernel.h>      // 驱动要写入内核,与内核相关的头文件, printk()

#include <linux/slab.h>      // kmalloc() 

#include <linux/fs.h>         // 文件系统头文件,file_operation,inode_operations,super_operations

#include <linux/errno.h>      // error codes 

#include <linux/types.h>     // size_t等各种系统typedef的数据类型 

#include <linux/fcntl.h>       // O_ACCMODE */

#include <linux/poll.h>       // COPY_TO_USER */
#include <linux/init.h>      // 初始化头文件,#define module_init(x)    __initcall(x);  
                // #define module_exit(x)    __exitcall(x); 

#include <linux/miscdevice.h>            // extern int misc_register(); 

#include <linux/cdev.h>      // void cdev_init()
                 // struct cdev *cdev_alloc(void);
                 //  void cdev_put(struct cdev *p);
                 //  int cdev_add(struct cdev *, dev_t, unsigned);
                 //  void cdev_del(struct cdev *);
                 //  void cd_forget(struct inode *); 

#include <mach/regs-gpio.h>           // 和GPIO口操作相关的函数定义的头文件

#include <mach/hardware.h>    // 与处理器相关的硬件

#include <asm/irq.h>                        //与处理器相关的中断

#include <linux/interrupt.h>        //操作系统中断

                                                          // typedef irqreturn_t (*irq_handler_t) 

                                                            // (int, void *);
                // extern void free_irq(unsigned int, void *);

                                                          // extern void disable_irq(unsigned int irq);
                  // extern void enable_irq(unsigned int irq);

                                                      // 等和中断相关函数的声明 

#include <linux/wait.h>         //等代队列相关头文件//内核等待队列,它包含了自旋锁的头文件

#include <linux/poll.h>     // poll_wait 

#include <asm/uaccess.h>   // copy_to_user和copy_from_user 
#include <asm/io.h>        // __raw_readl  __raw_writel

#include <linux/clk.h>      // struct clk *clk_get

                                                       // (struct device *dev, const char *id);
                 // unsigned long clk_get_rate(struct clk *clk);
 

 

#include <plat/clock.h>          // struct clk;结构体的定义(在arch/arm/plat-

                                                      // s3c/plat/include/clock.arch中,对应的源文件在

                                                      // /arm/plat-s3c/clock.c)

#include <linux/device.h>                         //包含了device、class 、device_driver等结构的定义

#include <mach/regs-mem.h>     // 和bank相关的寄存器的宏定义 

#include <asm/div64.h>         // Linux内核中64位除法函数do_div 

#include <linux/fb.h>              // struct fb_info 结构体的定义 

#include <mach/fb.h>          // struct s3c2410fb_display

                                                                       //(在arch/arm/mach-s3c2410/include/mach/fb.h) 

#include <linux/module.h>               // 模块头文件,MODULE_LICENSE("GPL");内核认识的特定许可有
#include <linux/delay.h>                               //  延时头文件

#include <stdio.h>                                        //标准输入输出

#include <stdlib.h>                                       //标准库

#include <unistd.h>                                      // file_operations的一些操作函数

#include <sys/ioctl.h>                                   // IO控制

#include <fcntl.h>                                         //  I/O阻塞和通道相关的


附注:大部参考自网络!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值