Netfilter源码分析--7、内核空间与用户空间的数据交互

七、内核空间与用户空间的数据交互 内核空间与用户空间的数据交互通过getsockopt和setsockopt来完成,这个两个函数用来控制相关socket文件描述符的的选项值,先来看这两个函数的原型: set/getsockopt(2)函数的基本使用格式为: int setsockopt(int sockfd, int proto, int cmd, void *data, int datalen) int getsockopt(int sockfd, int proto, int cmd, void *data, int d...

作者: jazy333 发布时间: 01-05

VC注释宏

其中包括全屏编辑、文件注释、类注释、函数注释四个宏。为了写程序更加方便,可以为这几个常用的宏添加快捷键。 Sub FullScreen() 'DESCRIPTION: 全屏编辑 ExecuteCommand "ToggleFullScreen" End Sub Sub AddHeadDesc() 'DESCRIPTION: 添加一个标准的头文件说明 ActiveDocument.Selection.StartOfDocument DefaultUserName = "mubai" Dim FileName FileName = ActiveDocume...

作者: wyangwo 发布时间: 01-04

Linux环境下USB的原理、驱动和配置

随着生活水平的提高,人们对USB设备的使用也越来越多,鉴于Linux在硬件配置上尚不能全部即插即用,因此关于Linux如何配置和使用,成为困扰我们的一大问题。 什么是USB? USB是英文Universal Serial Bus的缩写,意为通用串行总线。USB最初是为了替代许多不同的低速总线(包括并行、串行和键盘连接)而设计的,它以单一类型的总线连接各种不同的类型 的设备。USB的发展已经超...

作者: thyman126 发布时间: 01-05

解决: 动态 MMap 没有空间了。请增大 APT::Cache..

装完ubuntu 10.04后就无法更新了,出现如下问题E: 动态 MMap 没有空间了。请增大 APT::Cache-Limit 的大小。当前值:25165824。(man 5 apt.conf)E: 处理 linux-headers-2.6.24-25 (NewVersion1)时出错E: Problem with MergeList /var/lib/apt/lists/debian.ustc.edu.cn_ubuntu_dists_hardy-updates_main_binary-i386_PackagesE: 无法解析或打开软件包列表或状态文件。E: _ca...

作者: lin_13824307069 发布时间: 01-05

编译内核模块 .ko文件的注意事项 缺少:mmzone.h..

前两天新到手一个6410的板子,按照说明在上面跑了一下android和QT,都成了。今天想试试helloworld模块的装载发现了一些需要注意的问题。 出现的问题:编译的时候提示缺少头文件 mmzone.h ....bounds.h...等 include/linux/mmzone.h:18:26: error: linux/bounds.h: No such file or directory include/linux/mmzone.h:197:5: warning: "MAX_NR_ZONES" is not defined 原因:b...

作者: pauleric 发布时间: 01-06

container_of()宏的简要解析[转载!!!]

作者: 和c/c++相关 2010/11/16 简介:这是container_of()宏的简要解析的详细页面,介绍了和c/c++,有关的知识、技巧、经验,和一些c/c++源码等。 在学习linux驱动的过程中,遇到一个宏叫做container_of。 该宏定义在include/linux/kernel.h中,首先来贴出它的代码: 1. 439/** 2. 440 * container_of - cast a member of a structure out to the containing structure 3. 44...

作者: lxp-linux 发布时间: 01-06

位图排序

位图排序: 任意个(MAX_NUMBERS个) 0到固定值(MAX_VALUE)之间的数排序 时间复杂度O(n), 空间几乎是O(1),空间需求很低 假定int的长度是32位,即一个int可以编码32个数字(简单起见,一个bit代表一个数字,实际可以编码的范围就是unsigned int的最大值,但计算比较复杂), 那么0到n之间的数字就可以用最多n/32+1个整形表示,每个int的每个bit代表一个数。。 #include <stdio...

作者: donotblock 发布时间: 01-06

利用Apache的deflate模块压缩HTTP传输量

为了节约带宽,减少网络传输量,加快网速,我们决定对网页进行压缩后再传输给客户. 可以选择gzip或者gzip来压缩. 我们的服务器软件是Apache 2.2.3 / CentOS 5 Apache2.x版本自带了deflate模块,我们可以直接使用(Apache 1.x 使用 modgzip). 配置: vim /etc/httpd/conf/httpd.conf /mod_deflate 查找 应该能找到 LoadModule deflate_module modules/mod_deflate.so 如果前面有#注...

作者: realmon 发布时间: 01-04

修改dbid

可以通过nid命令来修改数据库的dbid或者db_name 修改后需要关闭数据库,用open resetlogs打开,旧的备份都将失效 参考一下测试 最初的dbid如下: DBID NAME ---------- ----- 904273405 FOX c:>nid target=/ Connected to database FOX (DBID=904273405) Control Files in database: D:\ORACLE\ORADATA\FOX\CONTROL01.CTL D:\ORACLE\ORADATA\FOX\CONTROL02.CTL Change datab...

作者: lovegigi1999 发布时间: 01-04

内聚度和耦合度

一、联系 当一个程序段或语句(指令) 引用了其它程序段或语句(指令)中所定义或使用的数据名(即存贮区、地址等)或代码时,他们之间就发生了联系。一个程序被划分为若干模块时,联系既可存在于模块之间,也可存在于一个模块内的程序段或语句之间,即模块内部。联系反映了系统中程序段或语句之间的关系,不同类型的联系构成不同质量的系统。因此,联系是系统设计必须考虑...

作者: sandroli 发布时间: 01-05