热门关键字:  PHP  Cisco  seo  网络广告 虚拟主机 中文域名
当前位置 :| 主页>服务器>Linux服务器>

Linux系统下设备驱动的安全端口分配

来源:赛迪网技术社区 作者:tanktang 时间:2006-09-20 点击:

驱动程序的内核I/O端口函数选择

Linux支持不同位宽的端口函数,用于I/O端口的读写。端口可以是8位,16位或32位。Linux的内 核头文件定义了访问I/O端口的内联(inline)函数,用于读取(inx)或写入(outx) 8位,16位以及32位端口。这些函数是:

__u8 inb (unsigned int port);
void outb (__u8 data, unsigned int port);

__u16 inw (unsigned int port);
void outw(__u16 data, unsigned int port);

__u32 inl (unsigned int prot);
void outl (__u32 data, unsigned int port);

这些函数的串版本(string versions)能让你在单位时间内更有效的传输一个以上的数据,通过以下函数:

void insb(unsigned int port, void *addr, unsigned long count);
void outsb(unsigned int port, void *addr, unsigned long count);

addr 是被传入或传出的内存单元地址,count是被传输单元的数量。 Data 则是被读取或 写入到"port"端口的数据:

void insw(unsigned int port, void *addr, unsigned long count);
void outsw(unsigned int port, void *addr, unsigned long count);

向16位端口读写16位数据:

void insl(unsigned int port, void *addr, unsigned long count);
void outsl(unsigned int port, void *addr, unsigned long count);

向32位端口读写32位数据。


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
赞助商连接