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

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

修改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

crontab 详解

crontab 详解 文章分类:操作系统 cron 是一个可以用来根据时间、日期、月份、星期的组合来调度对重复任务的执行的守护进程。 cron 假定系统持续运行。如果当某任务被调度时系统不在运行,该任务就不会被执行。 要使用 cron 服务,你必须安装了 vixie-cron RPM 软件包,而且必须在运行 crond 服务。要判定该软件包是否已安装,使用 rpm -q vixie-cron 命令。要判定该服务是否...

作者: 极北之北 发布时间: 01-06

buffer I/O errors

Problem: Lots of buffer I/O errors appear in /var/log/messages and /var/log/dmesg, but the filesystems are still working fine. Solution: A server using a LUN, which is presented by a storage array through fabric channels, may show buffer I/O errors while the server is booting or commands such as fdisk and vgscan are being run. While these errors...

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

模拟鼠标事件的处理

板子上的USB接口坏掉了,为了重现有鼠标时的状态,现做一个模拟鼠标: input.h usbmouse.h struct mouse_my g_mt; int mouse_state; #define BUFFER 800 #define SERV_PORT 7838 void *read_uart_mouse(void *para) { int sockfd; //socklen_t len; socklen_t src_len; struct sockaddr_in servaddr, cliaddr; char msg[BUFFER]; sockfd = socket(AF_INET, SOCK_DGRAM, 0); ...

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

拼图游戏(c语言)

这个拼图游戏是大一时的c语言课程设计: 说明: 游戏说明: 一、游戏难度: l--------------------------简单; m--------------------------一般; h--------------------------困难; 二、游戏玩法 按“↑”、“↓”、“←”、“→”使方块移动; 当结果为下列情况是获胜: 1、 1 2 3 4 5 6 7 8 2、 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3、 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...

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

利用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

Netfilter源码分析--6、NAT

六、NAT 6.1、简介 网络地址转换源(NAT)分为(Source NAT,SNAT)和目的NAT(Destination NAT, DNAT)2种不同的类型。SNAT是指修改数据包的源地址(改变连接的源IP)。SNAT会在数据包送出之前的最后一刻做好转工作。地址伪装 (Masquerading)是SNAT的一种特殊形式。DNAT 是指修改数据包的目标地址(改变连接的目的IP)。DNAT 总是在数据包进入以后立即转发,端口转发,负载平衡和透明...

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

SQLSERVER 错误日志

查看 SQL Server 错误日志可以确保进程(例如,备份和还原操作、批处理命令或其他脚本和进程)成功完成。 这有助于检测任何现存或潜在的问题区域,包括自动恢复消息(尤其是在已停止并重新启动 SQL Server 实例时)、内核消息或其他服务器级错误消息等。 使用 SQL Server Management Studio 或任何文本编辑器可以查看 SQL Server 错误日志。 默认情况下,错误日志位于 Progr...

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