#include<linux/types.h>
typedefu8;
typedefu16;
typedefu32;
typedefu64;
保证是8-位,16-位,32-位和64-位无符号整型值的类型.对等的有符号类型也存在.在用户空
间,你可用__u8,__u16,等等来引用这些类型.
#include<asm/page.h>
PAGE_SIZE
PAGE_SHIFT
给当前体系定义每页的字节数,以及页偏移的位数(对于4KB页是12,8KB是13)的符号.
#include<asm/byteorder.h>
__LITTLE_ENDIAN
__BIG_ENDIAN
这2个符号只有一个定义,依赖体系.
#include<asm/byteorder.h>
u32__cpu_to_le32(u32);
u32__le32_to_cpu(u32);
在已知字节序和处理器字节序之间转换的函数.有超过60个这样的函数:在include/linux/
byteorder/中的各种文件有完整的列表和它们以何种方式定义.
#include<asm/unaligned.h>
get_unaligned(ptr);
put_unaligned(val,ptr);
一些体系需要使用这些宏保护不对齐的数据存取.这些宏定义扩展成通常的指针解引用,为
那些允许你存取不对齐数据的体系.
#include<linux/err.h>
void*ERR_PTR(longerror);
longPTR_ERR(constvoid*ptr);
longIS_ERR(constvoid*ptr);
允许错误码由返回指针值的函数返回.
#include<linux/list.h>
list_add(structlist_head*new,structlist_head*head);
list_add_tail(structlist_head*new,structlist_head*head);
list_del(structlist_head*entry);
list_del_init(structlist_head*entry);
list_empty(structlist_head*head);
list_entry(entry,type,member);
list_move(structlist_head*entry,structlist_head*head);
list_move_tail(structlist_head*entry,structlist_head*head);
list_splice(structlist_head*list,structlist_head*head);
操作环形,双向链表的函数.
list_for_each(structlist_head*cursor,structlist_head*list)
list_for_each_prev(structlist_head*cursor,structlist_head*list)
list_for_each_safe(structlist_head*cursor,structlist_head*next,structlist_head*list)
list_for_each_entry(type*cursor,structlist_head*list,member)
list_for_each_entry_safe(type*cursor,type*nextstructlist_head*list,member)
方便的宏定义,用在遍历链表上.
分享到:
相关推荐
LDD3学习笔记设备模型之底层实现(kobject,kset)[汇编].pdf
LDD-LinuxDeviceDrivers#1书籍-一些书中的原始码和范例目录书籍#2 study--本人的linux学习以及驱动代码目录书籍学习Linux内核的设计与实现,包括文档和示例代码,文档与同步更新自己实现的一些linux内核的驱动代码...
ldd3 中文
原书代码是旧内核,这是为2.6.31修改的版本,调试通过
ldd3中文版、chmldd3中文版chm
Linux内核与设备驱动程序学习笔记
本资源为ldd3详解,该书中详细介绍了ldd3的使用以及各种驱动的设置
ldd code ldd3驱动源代码 ldd code ldd3驱动源代码
主要是对LDD3中的实例进行测试,修改,调试。
LDD3配套源码,配合我的百度云分享的虚拟机可以直接编译运行(虚拟机另行在我上传的资源里下载,相关可以参考我的LDD3系列博客)
LDD2+LDD3 linux设备驱动
由于ldd3 源码是基于linux-2.6.10编写的,最新内核接口以及数据结构都有变化,因此对于新手来说,书中源码无法编译正常通过,给学习增加了不少难度,本源码是结合网上修改以及个人整理的,能够在linux-2.6.32-21,...
Linux 设备驱动 Edition 3 - LDD3中文版,学习linux必备之书,pdf格式
ldd3-examples-3.x, 在 linux 3.x 之后,端口LDD3源代码示例 ldd3-examples-3.xlinux 3 。x 之后LDD3源代码示例的端口背景LDD3是Linux设备驱动程序,第三版。 这是一本关于如何编写linux设备驱动程序的。 你可以从 ...
经典 LDD3,linux驱动开发 linux驱动开发
由于对Linux设备驱动程序设计的需求,所以前段时间在网上下载了LDD3的HTML格式文档,在看的时候感觉不太好看,同时为了打印方便,把它转化为PDF格式,所以在此与大家一起分享。 由于本资料不是本人自创,也是来自于...
这是ldd3的英文原版书以及相应例程的源码,希望对正在学习linux驱动的朋友们有所帮助
LDD3是linux驱动开发的基础入门级图书,适合刚接触linux驱动的新手学习。
LDD6410 S3C6410开发板原理图