
linux
xc889078
这个作者很懒,什么都没留下…
展开
-
在linux中应用程序如何调用模块内的函数
首先,应用程序是无法直接访问模块中的函数的(即使是你自编自挂的模块--实际上它也是内核模块),用户空间与内核空间之间只有通过一些特定的系统函数来进行通讯(如什么user_to_kernel),而绝对不可能通过“直接调用模块里的函数”这种形式来通讯。那么,所编写的模块里的函数怎么才能被执行?由谁调用?其实答案很简单,它们是由内核来调用的,注意,是由内核来调用的。比如 init_modul转载 2013-04-13 14:19:23 · 2331 阅读 · 0 评论 -
linux文件类型和文件权限
文件类型:- 普通文件 这些文件一般是用一些相关的应用程序创建,比如图像工具、文档工具、归档工具... .... 或 cp工具等。这类文件的删除方式是用rm 命令。 d 目录文件 创建目录的命令可以用 mkdir 命令,或cp命令,cp可以把一个目录复制为另一个目录。删除用rm 或rmdir命令。 c 字符设备 比转载 2013-04-13 14:16:48 · 638 阅读 · 0 评论 -
Linux内核模块编程
原帖地址:http://blog.youkuaiyun.com/tigerjb/article/details/6010997Linux内核模块编程Linux内核模块编程是一个很重要的知识点。尤其是编写底层驱动程序时,一定会涉及到它。内核模块编程也是Tiger哥学习Linux时第一节课所接触的知识。由此可以看出它的important,也可以看出其实它很easy。一前言:1.转载 2013-04-13 14:13:42 · 528 阅读 · 0 评论 -
skb结构
struct sk_buff可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息,并包含很多成员变量供网络代码中的各子系统使用。 struct sk_buff {struct sk_buff *next;struct sk_buff *prev;struct sk_buff_head *list;struct sock *sk;struct ti转载 2013-04-13 14:21:29 · 1316 阅读 · 0 评论 -
SKB_BUFF整理笔记
转载地址:http://cooliron.wap.blog.163.com/w2/blogDetail.do;jsessionid=13744A8DF62F7916E1A5FDC2F68DEF20.blogp15v1-8010?blogId=fks_087065086086084071086095087070072087083071083086085066087094&showRest=true&转载 2013-04-18 10:58:39 · 1428 阅读 · 0 评论 -
内核模块中对文件的读写
平时网络部分的东西碰的多些,这块一开始还真不知道怎么写,因为肯定和在用户空间下是不同的。google过后,得到以下答案。一般可以用两种方法:第一种是用系统调用。第二种方法是filp->open()等函数。下面分别来说下这两种方法。1 利用系统调用:sys_open,sys_write,sys_read等。其实分析过sys_open可以知道,最后调用的也是filp->open。转载 2013-04-13 14:18:40 · 828 阅读 · 0 评论 -
gcc详解以及静态、动态库的生成2
转帖地址:http://my.oschina.net/alphajay/blog/7734 我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。本文主要通过举例来说明在Linu转载 2013-04-07 20:38:39 · 642 阅读 · 0 评论 -
Linux共享库 LD_LIBRARY_PATH
转载地址:http://hi.baidu.com/d_life/item/41ddd7c0c4eb9542a8ba947e背景:自己装了一个库,所用的测试代码会用到这个库。bash$ tar zxvf libhid-0.2.16.tar.gzbash$ cd libhid-0.2.16/bash$ ./configure bash$ makebash$ sudo mak转载 2013-04-07 15:06:37 · 1254 阅读 · 0 评论 -
struct--iphdr -- IP头部
转载地址:http://hi.baidu.com/zengzhaonong/item/a7432f3d8d50ecbf124b144b/usr/src/linux-2.6.19/include/linux/ip.hstruct iphdr {#if defined(__LITTLE_ENDIAN_BITFIELD) __u8 ihl:4,转载 2013-04-18 15:40:02 · 611 阅读 · 0 评论 -
修改win7和debian双系统的开机启动顺序
我首先安装的是win7系统,后来因为实验室需要又装了个debian系统,从而变成双系统,但装完debian之后,开机启动默认进入debian系统,而不是我想要得win7系统,所以需要设置一下,方法如下:进入debian系统,编辑/boot/grub/menu.list文件找到default 0,这表示开机默认启动菜单中第一个系统,也就是下面列表的第一个title,而win7在最后面,也就是原创 2013-04-13 14:11:02 · 2181 阅读 · 0 评论 -
debian下安装内核源码的方法
apt-cache search linux-source其中显示的有:linux-patch-debian-2.6.26 - Debian patches to version 2.6.26 of the Linux kernellinux-source-2.6.26 - Linux kernel source for version 2.6.26 with Debian patch原创 2013-04-13 14:09:11 · 2976 阅读 · 0 评论 -
debian自动挂载ntfs硬盘
首先下载安装ntfs-3gapt-get install ntfs-3g然后查看分区信息fdisk -l Device Boot Start End Blocks Id System/dev/sda1 * 1 7490 60163393+ 7 HPFS/NTFS/dev/sda2原创 2013-04-13 14:22:03 · 5070 阅读 · 3 评论 -
fedora14修改root登录方式
修改/etc/pam.d/gdm和/etc/pam.d/gdm-password两个文件,把每个文件中的auth required pam_succeed_if.so user != root quiet注释掉,之后重启重新登录即可以root身份登录。原创 2013-04-13 14:12:25 · 596 阅读 · 0 评论 -
struct ethhdr、ether_header、iphdr、tcphdr、udphdr
************************eth的结构**************************************structethhdr{unsignedcharh_dest[ETH_ALEN];unsignedcharh_source[ETH_ALEN];__be16 h_proto;} __attribute__((packed));stru转载 2013-04-13 14:20:20 · 668 阅读 · 0 评论 -
linux 用户空间和内核空间延时函数
用户空间:1.unsigned int sleep(unsigned int seconds); sleep()会使当前程序休眠seconds秒。如果sleep()没睡饱,它将会返回还需要补眠的时间,否则一般返回零。 2.void usleep(unsigned long usec); usleep与sleep()类同,不同之处在于休眠的时间单位转载 2013-04-13 14:06:50 · 804 阅读 · 0 评论 -
debian下以root用户登录方式的配置
处于安全考虑,debian在默认gdm环境下不能够以root用户登录,这就需要我们进行配置。System-->Administration-->Login Window-->Security-->选中Allow local system administrator login这样,在下次登录的时候就可以用root用户进行登录。原创 2013-04-13 14:22:29 · 2040 阅读 · 0 评论 -
linux环境下配置静态ip地址的方法
以下说的仅是最简单的方法,仅供参考。进入/etc/network/文件夹,编辑interface文件。auto loiface lo inet loopbackiface eth0 inet staticaddress 192.168.161.162netmask 255.255.255.0gateway 192.168.161.2这样,系统在启动时就可以自动配置静原创 2013-04-13 14:23:05 · 731 阅读 · 0 评论 -
解决Debian中由于"Starting MTA..."造成启动慢的问题
解决Debian中由于"Starting MTA..."造成启动慢的问题我用的是Debian Lenny,我发现每次启动到 "Starting MTA..." 时都得等上很久,有时候甚至得一分多钟,太难受了。今天在网上找到了一个解决办法,分享一下。出现这种情况的原因:MTA(message transfer agent,默认装的是Exim) 在启动时会进行DNS loo转载 2013-04-13 14:23:35 · 2189 阅读 · 0 评论 -
Netfilter中返回值的具体用法
返回值 含义 用途NF_ACCEPT 数据包被该hook允许,继续netfilter流程 如果数据包为正常数据包,一般都是这个返回值NF原创 2013-04-13 14:08:02 · 1116 阅读 · 0 评论 -
gcc详解以及静态、动态库的生成1
转帖地址:http://my.oschina.net/alphajay/blog/77331。gcc包含的c/c++编译器gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,(没有看太明白前面这半句是什么意思:))一般c程序就用gcc编译,c++程序就用g++编译2。gcc的基本用法gcc test.c这样将编译出一个名为a.out的程序转载 2013-04-07 20:35:52 · 612 阅读 · 0 评论