Поддержка Доступа к устройствам семьи Набора I/O
Это приложение перечисляет текущие семейства устройства Набора I/O, идентифицирует, какие семьи поддерживают интерфейсы устройства и к которому можно получить доступ через файлы устройств и функции POSIX, и указывает на документацию для работы с определенными устройствами.
Для получения дополнительной информации о семьях I/O Kit см. Основные принципы IOKit. Для справочной документации поддержки семьи I/O Kit доступа к устройствам пространства пользователя посмотрите Ссылочную Библиотеку Драйверов устройств.
Документация для работы с дополнительными семействами устройства будет предоставлена, поскольку это становится доступным.
Семья ADB. Эта семья обеспечивает интерфейс (определенный в
IOADBLib.h
) для чтения и записи регистров на устройствах ADB. Интерфейс разрешает только опрошенные операции режима. Операции прерывания только поддерживаются для резидентных ядром клиентов.Семья ATA и ATAPI. Эта семья не предоставляет интерфейсов устройства. Доступ к устройствам ATA/ATAPI предоставлен клиентами этой семьи, обычно Семейство систем хранения.
Семья Model архитектуры SCSI обеспечивает интерфейсы устройства для устройств ATAPI, соответствующих Модели архитектуры SCSI SCSI Основная спецификация Команд. Руководство по Интерфейсу Устройства модели Архитектуры SeeSCSI для получения дополнительной информации.
Аудио семья. Семья Audio не экспортирует интерфейсы устройства для приложений для доступа к аудио аппаратным средствам непосредственно. Однако это действительно обеспечивает интерфейс устройства, который Аудио Уровень аппаратной абстракции (Аудио HAL) использует для драйверов доступа, полученных из семьи Audio.
Семья FireWire. Семья FireWire обеспечивает интерфейс устройства общего назначения, подходящий для любого устройства FireWire кроме тех, которые требуют в драйвере ядра, такого как дисковые драйверы, монтирующие файловые системы. Однако интерфейсы устройства, предоставленные семьями FireWire DV и FireWire SBP-2 (описал затем), обеспечивают механизмы, которые могут быть более удобными для работы с некоторыми устройствами.
Дополнительные сведения о поддержке FireWire Apple, включая доступ к комплектам разработчика с поддержкой интерфейса устройства см. в http://developer .apple.com/hardwaredrivers/firewire/.
Для получения дополнительной информации о доступе к устройствам FireWire (включая AV/C и модули SBP-2) из приложения, посмотрите Руководство по Интерфейсу Устройства FireWire.
Семья FireWire DV. (Цифровое видео) семья FireWire DV предоставляет полную поддержку драйвера так, чтобы можно было использовать стандартные функции QuickTime для доступа к устройствам DV, таким как фотоаппараты и видеокамеры. Никакие специальные знания FireWire не требуются, и можно использовать те же функции для OS X и Макос8энд9. Дополнительная документация для поддержки DV управления устройствами низшего уровня может быть предоставлена позднее.
Семья FireWire SBP-2. Эта семья обеспечивает интерфейс устройства для передачи с устройствами, поддерживающими SBP-2 (Протокол последовательной шины 2).
Семья Model архитектуры SCSI обеспечивает интерфейсы устройства для устройств FireWire SBP-2, соответствующих Модели архитектуры SCSI SCSI Основная спецификация Команд. Руководство по Интерфейсу Устройства модели Архитектуры SeeSCSI для получения дополнительной информации.
Графическая семья. Семья Graphics включает Кварц 2D и другие графические библиотеки, предоставляющие высокоуровневые представляющие графику услуги.
Для получения информации о 2D Кварце и Кварцевый Наборщик (сервер окна OS X), посмотрите Опции Аппаратного доступа.
Семья HID. Через менеджера по HID семья HID обеспечивает интерфейс устройства для доступа ко множеству устройств, включая джойстики и другие игровые устройства, аудиоустройства, недисплеи Apple и UPS (источник бесперебойного питания) устройства. Обратите внимание на то, что можно использовать менеджер событий Углерода и интерфейсы NSEvent, описанные в Опциях Аппаратного доступа контролировать действия мыши и действия клавиатуры.
Для получения дополнительной информации об использовании менеджера по HID для доступа к устройствам класса HID посмотрите Руководство по Интерфейсу Устройства Класса HID. Можно также найти пример кода для использования OS X менеджер по HID в Games Human Interface Device & Force Feedback Sample Code Library.
Сетевая семья. OS X обеспечивает сетевые функции в Углероде и Какао, которое должно обработать большинство стандартных требований сетевых соединений для приложений. Можно также использовать сокеты BSD API для получения сетевых служб. Рекомендуемая книга сетевого программирования является Сетевым программированием Unix, Объемом 1, Второй Выпуск, W. Ричард Стивенс, Прентис-Хол PTR, 1998.
Семья стандарта PC Card. Нет никаких прямых интерфейсов устройства или для CardBus или для 16-разрядных устройств стандарта PC Card. Прямой доступ к оборудованию для шины стандарта PC Card приложениями или другим выполнением кода вне ядра не разрешен для соображений безопасности. Приложения, которые должны связаться с платой ПК, должны сделать так через в драйвере ядра.
Семья PCI и AGP. Нет никаких интерфейсов устройства для PCI и устройств AGP. Прямой доступ к оборудованию для шины PCI приложениями или другим выполнением кода вне ядра не разрешен для соображений безопасности. Приложения, которые должны связаться с платой PCI или платой AGP, должны сделать так через в драйвере ядра.
В большинстве случаев приложения должны взаимодействовать с высокоуровневыми службами, такими как предоставленные семейством систем хранения USB или другими клиентскими семьями. Приложения могут получить доступ к графическим устройствам через Кварцевого Наборщика, описанного кратко в Опциях Аппаратного доступа или другом высокоуровневом APIs.
Семья SCSI. В версиях OS X до 10,2, семья SCSI поддерживала доступ пространства пользователя, чтобы быть параллельной устройствам SCSI через функции интерфейса устройства в
IOSCSILib.h
(вcdb
каталог платформы Набора I/O). Ваше приложение может все еще быть в состоянии использовать эти функции, чтобы найти и связаться с параллельными устройствами SCSI. Однако, если Вы ищете параллельное устройство SCSI, которое не доступно с интерфейсами устройства семьи Model архитектуры SCSI и если Ваше приложение требует совместимости с версиями OS X до 10,2, необходимо использовать функции поиска устройства и новой семьи SCSI Parallel и старой семьи SCSI. Это вызвано тем, что после того, как пользователь установил новый HBA (шинный контроллер) драйверы, разработанные с новой семьей SCSI Parallel, функции интерфейса устройства семьи SCSI больше не будут поддерживаться. При помощи функций обеих семей для поиска устройства, однако, приложение имеет самую широкую совместимость.Посмотрите Руководство по Интерфейсу Устройства модели архитектуры SCSI для получения дополнительной информации.
Семья Model архитектуры SCSI. Устройствами, поддерживающими Модель архитектуры SCSI SCSI Основная спецификация Команд, могут управлять задачи SCSI, которые являются средними значениями выполняющихся команд блока дескриптора команды (CDB). Семья Model архитектуры SCSI обеспечивает интерфейсы устройства для доступа к совместимому ATAPI, массовому хранению USB, FireWire SBP-2, и, в некоторых случаях, параллельным устройствам SCSI.
Посмотрите Руководство по Интерфейсу Устройства модели архитектуры SCSI для получения дополнительной информации.
Семья SCSI Parallel. Семья SCSI Parallel является новой в версии 10.2 OS X и разработана для поддержки контроллеров SCSI. Если пользователь установил новый HBA (шинный контроллер) драйверы, разработанные с семьей SCSI Parallel, Ваше приложение может получить доступ ко всем устройствам SCSI, не объявляющим тип периферийного устройства 00$, 05$, 07$ или 0$ E использование функций интерфейса устройства семьи Model архитектуры SCSI.
Посмотрите Руководство по Интерфейсу Устройства модели архитектуры SCSI для получения дополнительной информации.
Последовательная семья. Приложения могут устройства доступа в этой семье через механизм файла устройств. Вы используете Набор I/O для получения пути к файлам устройств в
/dev
каталог. Имена файлов запускаются сcu
илиtty
, такой какcu.modem
,tty.modem
,ttyp1
,ttyp2
, и т.д., так, чтобы полное имя файла устройств было бы похоже/dev/cu.modem
. Вы тогда выполняете традиционный доступ последовательного порта UNIX с помощью POSIXtermios
функции. Ваше приложение может считать и записать данные с помощью этих файлов устройств. Данные также направляются через к PPP через эти файлы устройств. Для соответствующей информации посмотрите В Механизме Файла устройств.Для получения информации о том, как использовать механизм файла устройств, чтобы получить доступ к последовательному устройству из приложения, видеть Руководство по Доступу Файла устройств для Последовательных устройств.
Семейство систем хранения. OS X обеспечивает управление файлами APIs в Углероде и Какао, позволяющих приложениям получать доступ к файлам и папкам на физических устройствах хранения. Приложения могут также получить необработанный доступ к мультимедийным объектам в этой семье через систему файла устройств. Вы используете Набор I/O для получения пути к файлам устройств в
/dev
каталог, затем используйте традиционный доступ к файловой системе UNIX через функции POSIX. Для соответствующей информации посмотрите В Механизме Файла устройств.Для получения информации о том, как использовать механизм файла устройств, чтобы получить доступ к носителям из приложения, видеть Руководство по Доступу Файла устройств для Устройств хранения.
Семья USB. Эта семья предоставляет поддержку интерфейса устройства для универсальных последовательных устройств Универсальной последовательной шины (USB). Поддержка устройств ввода данных USB предоставлена семьей HID. Для получения дополнительной информации о доступе к USB-устройствам от пространства пользователя посмотрите Руководство по Интерфейсу USB-устройства.
Семья Model архитектуры SCSI предоставляет поддержку интерфейса устройства для устройств класса массового хранения USB, соответствующих Модели архитектуры SCSI SCSI Основная спецификация Команд. Посмотрите Руководство по Интерфейсу Устройства модели архитектуры SCSI для получения дополнительной информации.