版本记录
版本号 | 时间 |
---|---|
V1.0 | 2018.02.08 |
前言
IOKit框架获得用户空间访问硬件设备和驱动程序。接下来几篇我们就一起看一下这个框架。
Overview
下面先看一下该框架的基本信息。
下面看一下该框架的基本结构。
I / O Kit框架通过设备接口机制实现对I / O Kit对象(驱动程序和结点)的非内核访问。
Topics
1. COM Interfaces
-
- 自我监测,分析和报告技术界面
-
IOFireWireAVCLibConsumerInterface
- 异步连接使用者的接口。
-
IOFireWireAVCLibProtocolInterface
- 为所有AVC协议驱动程序发现的初始界面。
-
- 为所有AVC单元驱动程序发现初始界面。
-
-
IOFireWireLib
命令对象。
-
-
IOFireWireConfigDirectoryInterface
-
IOFireWireLib
设备配置ROM浏览界面
-
-
-
IOFireWireDeviceInterface
是您在IOFireWireLib
中包含的功能的主要网关。
-
-
IOFireWireIsochChannelInterface
-
FireWire
用户客户端等时通道对象。
-
-
-
FireWire
用户客户端同步端口接口
-
-
IOFireWireLibPHYPacketListenerInterface
- 表示并为一个phy数据包侦听器对象提供管理功能。
-
IOFireWireLibVectorCommandInterface
-
IOFireWireLib
命令对象用于分组命令的执行。
-
-
IOFireWireLocalIsochPortInterface
-
FireWire
用户客户端本地等时端口对象。
-
-
- 使用这个接口来建立基于
NuDCL
的DCL程序。
- 使用这个接口来建立基于
IOFireWirePhysicalAddressSpaceInterface
-
IOFireWireLib
物理地址空间对象。 (接口名称:IOFireWirePhysicalAddressSpaceInterface
) -
IOFireWireReadCommandInterface
-
IOFireWireLib
块读取命令对象。
-
-
IOFireWireReadQuadletCommandInterface
-
IOFireWireReadQuadletCommandInterface - IOFireWireLib
四字节读取命令对象。
-
-
IOFireWireSBP2LibLoginInterface
- 提供API的登录维护和正常命令ORB执行部分。
-
- 发现所有驱动程序的初始界面。
-
IOFireWireSBP2LibMgmtORBInterface
- 提供非登录相关的管理ORB。 如有必要,可以独立于登录执行管理ORB。 管理ORB使用
IOFireWireSBP2LibLUNInterface
创建。
- 提供非登录相关的管理ORB。 如有必要,可以独立于登录执行管理ORB。 管理ORB使用
-
- 表示SBP2正常命令ORB。 提供用于配置常规命令ORB的API。 这包括设置命令块和写入I / O的页表。 ORB使用
IOFireWireSBP2LibLoginInterface
中的submitORB
方法执行。
- 表示SBP2正常命令ORB。 提供用于配置常规命令ORB的API。 这包括设置命令块和写入I / O的页表。 ORB使用
-
IOFireWireWriteCommandInterface
-
IOFireWireLib
块读取命令对象。
-
-
IOFireWireWriteQuadletCommandInterface
-
IOFireWireLib
四字节读命令对象。
-
-
IOFWAsyncStreamListenerInterface
- 表示并为异步流侦听器对象提供管理功能。
-
- 用于从用户空间访问HID设备的对象,由
IOHIDFamily 1.5
版返回。
- 用于从用户空间访问HID设备的对象,由
-
- 为
HID
设备提供主接口的CFPlugin
对象子类。
- 为
-
- 为HID设备提供主接口的
CFPlugin
对象子类。 这个类是IOHIDDeviceInterface
的子类。
- 为HID设备提供主接口的
-
- 为
HID
设备提供主接口的CFPlugin
对象子类。 这个类是IOHIDDeviceInterface121
的一个子类。
- 为
-
- 用于从用户空间访问HID队列的对象,由
IOHIDFamily 1.5
版返回。
- 用于从用户空间访问HID队列的对象,由
-
IOHIDDeviceTransactionInterface
- 用于从用户空间访问
HID
事务的对象,由IOHIDFamily 1.5
版返回。
- 用于从用户空间访问
-
IOHIDOutputTransactionInterface
-
CFPlugin
对象子类,为HID
设备提供输出事务的接口。 由IOHIDDevice
接口对象创建。
-
-
-
CFPlugin
对象的子类,它提供了来自HID
设备的输入队列的接口。 由IOHIDDeviceInterface
对象创建。
-
-
- 代表并提供
UPS
设备的管理功能。
- 代表并提供
-
- 用于从用户空间访问USB设备的对象,由当前所有版本的
IOUSBFamily
返回。
- 用于从用户空间访问USB设备的对象,由当前所有版本的
-
- 用于从用户空间访问USB设备的对象,由
IOUSBFamily版本1.8.2
及更高版本返回。
- 用于从用户空间访问USB设备的对象,由
-
- 用于从用户空间访问USB设备的对象,由
IOUSBFamily版本10.8.7
及更高版本返回。
- 用于从用户空间访问USB设备的对象,由
-
- 用于从用户空间访问USB设备的对象,由
IOUSBFamily版本1.9.7
及更高版本返回。
- 用于从用户空间访问USB设备的对象,由
-
- 用于从用户空间访问USB设备的对象,由
IOUSBFamily版本2.4.5
及更高版本返回。
- 用于从用户空间访问USB设备的对象,由
-
- 用于从用户空间访问USB设备的对象,由
IOUSBFamily版本3.0.0
及更高版本返回。
- 用于从用户空间访问USB设备的对象,由
-
- 用于从用户空间访问USB设备的对象,由
IOUSBFamily版本3.2.0
及更高版本返回。
- 用于从用户空间访问USB设备的对象,由
-
- 用于从用户空间访问USB设备的对象,由
IOUSBFamily版本3.2.0
及更高版本返回。
- 用于从用户空间访问USB设备的对象,由
-
- 用于从用户空间访问USB设备接口的对象,由当前所有版本的
IOUSBFamily
返回。
- 用于从用户空间访问USB设备接口的对象,由当前所有版本的
-
- 用于从用户空间访问USB设备接口的对象,由
IOUSBFamily版本1.8.2
及更高版本返回。
- 用于从用户空间访问USB设备接口的对象,由
-
- 用于从用户空间访问USB设备接口的对象,由
IOUSBFamily版本1.8.3
及更高版本返回。
- 用于从用户空间访问USB设备接口的对象,由
-
- 用于从用户空间访问USB设备接口的对象,由
IOUSBFamily 1.9
及更高版本返回。
- 用于从用户空间访问USB设备接口的对象,由
-
- 用于从用户空间访问USB设备接口的对象,由
IOUSBFamily版本1.9.2
及更高版本返回。
- 用于从用户空间访问USB设备接口的对象,由
-
- 用于从用户空间访问USB设备接口的对象,由
IOUSBFamily版本1.9.7
及更高版本返回。
- 用于从用户空间访问USB设备接口的对象,由
-
- MMC-2兼容设备的基本接口。
-
- SCSITask设备的基本接口。
-
- SCSITask的基本接口。
2. Reference
-
-
ATASMARTLib
实现对ATA SMART
数据的非内核任务访问。
-
-
- IOAudio函数的C接口
-
IOBDBlockStorageDevice.h User-Space
- 这个头包含
IOBDBlockStorageDevice
类的定义。
- 这个头包含
-
- 此头文件包含
IOBDMedia
类定义。
- 此头文件包含
-
IOBlockStorageDevice.h User-Space
- 这个头文件包含了
IOBlockStorageDevice
类的定义。
- 这个头文件包含了
-
IOBlockStorageDriver.h User-Space
- 此头文件包含
IOBlockStorageDriver
类定义。
- 此头文件包含
-
IOCDBlockStorageDevice.h User-Space
- 这个头文件包含了
IOCDBlockStorageDevice
类的定义。
- 这个头文件包含了
-
- 这个头文件包含了
IOCDMedia
类的定义。
- 这个头文件包含了
-
IODVDBlockStorageDevice.h User-Space
- 这个头包含
IODVDBlockStorageDevice
类的定义。
- 这个头包含
-
- 此头文件包含
IODVDMedia
类定义。
- 此头文件包含
-
- 以太网统计。
-
- 此头文件包含
IOFilterScheme
类定义。
- 此头文件包含
-
IOFireWireFamilyCommon.h User-Space
- 该文件包含在内核和用户空间中使用
FireWire
的有用定义
- 该文件包含在内核和用户空间中使用
-
- 为几个
IOKit
消息传递API定义消息类型常量。
- 为几个
-
- 通用网络统计。
-
- 定义内核和用户空间电源管理使用的电源管理常量和密钥。
-
-
IOPMKeys.h
定义用于访问电源管理数据的C字符串。 请注意,在使用之前,所有这些C字符串都必须转换为CFStrings
。 你可以用CFSTR()
宏包装它们,或者使用CFStringCreateWithCString()
创建一个CFStringRef
(你以后必须使用CFRelease())
-
-
-
IOPMLib
提供对常用电源管理功能的访问,如启动系统睡眠,获取当前的空闲定时器值,注册睡眠/唤醒通知以及防止系统休眠。
-
-
-
IOPSKeys.h
定义用于访问IOPowerSource CFDictionaries
中的电源数据的C字符串,由IOPSGetPowerSourceDescription
返回。请注意,所有这些C字符串在使用前必须转换为CFStrings
。 你可以用CFSTR()
宏包装它们,或者使用CFStringCreateWithCString()
创建一个CFStringRef
(你以后必须使用CFRelease())。
-
-
IOPartitionScheme.h User-Space
- 此头文件包含
IOPartitionScheme
类定义。
- 此头文件包含
-
- 这个头文件包含了
IOStorage
类的定义。
- 这个头文件包含了
-
- 用于使用
IOStream
对象的IOCFPlugin
库。
- 用于使用
-
- IOStream定义在内核和用户空间之间共享。
3. Classes
4. Related Documentation
后记
本篇已结束,后面更精彩~~~
网友评论