The Linux USB Input Subsystem, Part I
The Linux USB input subsystem is a single, harmonized way to manage all input devices. This is a relatively new approach for Linux, with the system being partly incorporated in kernel version 2.4 and fully integrated in the 2.5 development series.
This article covers four basic areas: a description of what the input subsystem does, a short historical perspective on development, a description of how the input subsystem is implemented in the kernel and an overview of the user-space API for the input subsystem and how you can use it in your programs. The first three areas are discussed in this article. The user-space API, the final topic, will be discussed in Part II of this article.
What Is the Input Subsystem?
The input subsystem is the part of the Linux kernel that manages the various input devices (such as keyboards, mice, joysticks, tablets and a wide range of other devices) that a user uses to interact with the kernel, command line and graphical user interface. This subsystem is included in the kernel because these devices usually are accessed through special hardware interfaces (such as serial ports, PS/2 ports, Apple Desktop Bus and the Universal Serial Bus), which are protected and managed by the kernel. The kernel then exposes the user input in a consistent, device-independent way to user space through a range of defined APIs.
How We Got Here
The Linux input subsystem is primarily the work of Vojtech Pavlik, who saw the need for a flexible input system from his early work on joystick support for Linux and his later work on supporting USB. The first integration for the input subsystem replaced existing joystick and USB drivers in the 2.3 development kernel series. This support carried over to version 2.4, and input support in the 2.4 series is basically limited to joysticks and USB input devices.
The 2.5 development kernel series fully integrates the input subsystem. This tutorial is based on the full integration, which will be the input API for the 2.
相关文档:
先来了解一下文件属性,
在shell环境里输入:ls -l 可以查看当前目录文件。如:
drwxr-xr-x 2 nsf users 1024 12-10 17:37 下载文件备份
分别对应的是:
文件属性 连接数 文件拥有者 所属群组 文件大小 文件修改时间 文件名
这里r是可读,w可写,x 可执行,其中文件属性分为四段,---- --- --- 10个位置
例如:
d ......
一、本次内核编译新内核所涉及软件版本
“gcc –version”可查寻GCC版本------4.3.2 20081105(Red Hat 4.3.2-7)
“make –v”可查询 Gnu make版本-----3.81
“ld –V(v)可查询GNU ld版本-----2.18.50.0.9-7。f c10 20080822
“fdformat --version”命令 ......
ls -l|grep ^d ----列出当前目录下的文件夹
ls -l|grep ^d|grep "tmp" ----列出当前目录下明子含有"tmp"的文件夹
for dir in `ls -l ~/dxy/|grep ^d | awk '{print $9}'` ---- awk '{print $9}' ,只print 文件夹的名字
do
echo "==== $dir"
cd ~/dxy;cd $dir/
t=`ls -l|grep ^d|grep " ......
说明:本文以主要为转载内容,同时加入了我在使用过程中遇到问题对其的修正!!!!!!!!!
先说statfs结构:
#include <sys/vfs.h> /* 或者 <sys/statfs.h> */
int statfs(const char *path, struct statfs *buf);
int fstatfs(int fd, struct statfs *buf);
参数: ......
Linux源码安装Subversion
先从subversion的官方网站下载源码,subversion.apache.org
解压开到subversion-xxx 然后configure
然后一般就是找不到某某库的错误,以下说明
1.找不到sqlite3
从sqlite网站上下载sqlite3的源码,然后把sqlite3.c拷贝到 subversion-xxx/sqlite-amalgamation/sqlite3.c
2.找不到apr
......