Files
LDD-LinuxDeviceDrivers/study/kernel/head.h
2017-03-25 21:55:32 +08:00

96 lines
7.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// http://www.cnblogs.com/chen-farsight/p/6146168.html
Linux驱动开发常用头文件
32.h头文件13asm子目录中有4个linux子目录中有10个sys子目录中有5个
1
<a.out.h>a.out头文件a.out执行文件格式和一些宏
<const.h>i节点中i_mode字段的各标志位
<ctype.h>
<errno.h>(Linus从minix中引进的)
<fcntl.h>
<signal.h>
<stdarg.h>va_list3va_start, va_arg和va_endvsprintfvprintfvfprintf函数
<stddef.h>NULL, offsetof(TYPE, MEMBER)
<string.h>
<termios.h>
<time.h>tm结构和一些有关时间的函数原形
<unistd.h>Linux标准头文件__LIBRARY___syscall0()
<utime.h>访utime()
2include/asm
CPU体系结构密切相关的数据结构4
<asm/io.h>I/O头文件I/O端口操作的函数
<asm/memory.h>memcpy()
<asm/segment.h>
<asm/system.h>/
3Linux内核专用头文件子目录include/linux
<linux/config.h>HD_TYPE
<linux/fdreg.h>
<linux/fs.h>file,buffer_head,m_inode等
<linux/hdreg.h>访
<linux/head.h>head头文件
<linux/kernel.h>
<linux/mm.h>
<linux/sched.h> task_struct0
<linux/sys.h>72C函数处理程序,"sys_"
<linux/tty.h>tty头文件tty_io
4include/sys
<sys/stat.h> stat{}
<sys/times.h>tms以及times()
<sys/types.h>
<sys/utsname.h>
<sys/wait.h>wait()waitpid()
#include <Linux/***.h> //是在linux-2.6.29/include/linux下面寻找源文件。
#include <asm/***.h> //是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。
#include <mach/***.h> //是在linux-2.6.29/arch/arm/mach-s3c2410/include/mach下面寻找源文件。
#include <plat/regs-adc.h> //在linux-2.6.31_TX2440A20100510\linux-2.6.31_TX2440A\arch\arm\plat-s3c\include\plat
#include <linux/module.h> //最基本的文件支持动态添加和卸载模块。Hello World驱动要这一个文件就可以了
#include <linux/fs.h> //包含了文件操作相关struct的定义例如大名鼎鼎的struct file_operations包含了struct inode 的定义MINOR、MAJOR的头文件。
#include <linux/errno.h> //包含了对返回值的宏定义这样用户程序可以用perror输出错误信息。
#include <linux/types.h> //对一些特殊类型的定义例如dev_t, off_t, pid_t.其实这些类型大部分都是unsigned int型通过一连串的typedef变过来的只是为了方便阅读。
#include <linux/cdev.h> //对字符设备结构cdev以及一系列的操作函数的定义。//包含了cdev 结构及相关函数的定义。
#include <linux/wait.h> //等代队列相关头文件//内核等待队列,它包含了自旋锁的头文件
#include <linux/init.h> //初始化头文件
#include <linux/kernel.h> //驱动要写入内核,与内核相关的头文件
#include <linux/slab.h> //包含了kcalloc、kzalloc内存分配函数的定义。
#include <linux/uaccess.h> //包含了copy_to_user、copy_from_user等内核访问用户进程内存地址的函数定义。
#include <linux/device.h> //包含了device、class 等结构的定义
#include <linux/io.h> //包含了ioremap、iowrite等内核访问IO内存等函数的定义。
#include <linux/miscdevice.h> //包含了miscdevice结构的定义及相关的操作函数。
#include <linux/interrupt.h> //使用中断必须的头文件
#include <mach/irqs.h> //使用中断必须的头文件
#include <asm/bitops.h> //包含set_bit等位操作函数实现Input子系统时可用。
#include <linux/semaphore.h> //使用信号量必须的头文件
#include <linux/spinlock.h> //自旋锁
#include <linux/sched.h> //内核等待队列中要使用的TASK_NORMAL、TASK_INTERRUPTIBLE包含在这个头文件
#include <linux/kfifo.h> //fifo环形队列
#include <linux/timer.h> //内核定时器
#include<linux/input.h> //中断处理
#include <linux/delay.h> //延时头文件
#include <asm/irq.h> //与处理器相关的中断
#include<linux/interrupt.h> //操作系统中断
#include <asm/uaccess.h> //与处理器相关的入口
#include<asm/arch/regs-gpio.h> //与处理器相关的IO口操作
#include<mach/regs-gpio.h> //同上
#include<asm/hardware.h> //与处理器相关的硬件
#include<mach/hardware.h> //同上
#include <linux/poll.h> //轮询文件
#include <linux/gpio.h> //操作系统相关的IO口文件
#include <stdio.h> //标准输入输出
#include <stdlib.h> //标准库
#include <unistd.h> //Unix标准
#include <sys/ioctl.h> //IO控制
: Linux设备驱动开发