Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка класса IOATADevConfig

Опции
Развертывание Target:

На этой странице
Язык:

IOATADevConfig

используемый для конфигурирования и передачи желаемых режимов передачи устройства. Дисковый драйвер обычно использовал бы этот объект в сочетании с 512 байтами идентификационных данных от диска и объект IOATABusInfo для шины, с которой это подключено. Этот объект определит лучшие доступные скорости передачи соответствия. драйвер устройства тогда отправит ряд команд Set Features для конфигурирования диска и этого объекта к шине через кусок IOATADevice для конфигурирования оптимального режима передачи. Драйвер для дисковода может принять решение заполнить этот объект с любым желаемым режимом передачи, если требуется различный режим.

обычно используйте initWithBestSelection, чтобы заставить лучший режим соответствовать. Значение бита использования средств доступа Режима указать выбранный режим или поддерживаемые режимы (ы) т.е., 00000001b указывает, что Режим 0, 00000010b указывает режим 1 и т.д. Выбранный режим обозначен единственным битом набора. Никакой набор битов не указывает, что не выбран никакой режим в том классе. т.е., шина будет поддерживать многократные возможные режимы, но только выберет один режим в то время.

Наследование


Не применимый

Соответствует


Не применимый

Оператор импорта


Не применимый

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.0 и позже.
  • статическая функция создателя.

    Объявление

    C++

    static IOATADevConfig* atadevconfig( void);

  • преобразовывает разрядно-значительное поле в численное значение. Обратите внимание на то, что немного поля 0x00 не имеет никакого определенного результата.

    Объявление

    C++

    virtual UInt8 bitSigToNumeric( UInt16binary);

    Параметры

    binary

    разрядное значительное поле.

    Возвращаемое значение

    численное значение самого высокого набора битов в поле.

  • Объявление

    C++

    UInt16 getDMACycleTime( void );

    Возвращаемое значение

    Время цикла DMA многословное, о котором сообщают, в наносекундах.

  • Объявление

    C++

    UInt8 getDMAMode( void );

    Возвращаемое значение

    разрядно-значительная карта режима DMA

  • Объявление

    C++

    atapiConfig getPacketConfig( void );

    Возвращаемое значение

    atapiConfig, как определено в IOATATypes.h

  • Объявление

    C++

    UInt16 getPIOCycleTime( void );

    Возвращаемое значение

    PIO CycleTime, о котором сообщают, в наносекундах.

  • Объявление

    C++

    UInt8 getPIOMode( void );

    Возвращаемое значение

    разрядно-значительная карта режима PIO

  • Объявление

    C++

    UInt8 getUltraMode( void );

    Возвращаемое значение

    разрядно-значительная карта режима Ultra

  • Удобный инициализатор: передайте 512-байтовый результат Идентифицировать Устройства или Идентифицируйте Пакетное Устройство в порядке порядка байтов на Вашу платформу (подкачанный байтом на PPC) и объект IOATABusInfo для шины. Объект инициализирует все поля и выберет лучшие режимы передачи, соответствующие на шине и устройстве. Если возвращаемое значение было 0 (успех или noErr), то соответствующий режим поддерживается. Исследуйте поля PIO и UDMA/DMA и генерировать надлежащий SET параметры FEATURES для Вашего диска и отправить этот инициализированный объект в IOATAController при запросе конфигурации скорости. отказ не означает поддерживаемых режимов передачи, соответствующих между информацией шины и устройства.

    Объявление

    C++

    IOReturn initWithBestSelection( const UInt16 *identifyData, IOATABusInfo *busInfo);

    Параметры

    identifyData

    512 байтов данных получили из устройства через IDENTIFY DEVICE или IDENTIFY Команда устройства PACKET.

    busInfo

    указатель на объект IOATAbusInfo, полученный из предыдущего atanub-> provideBusInfo () вызов.

    Возвращаемое значение

    kIOSuccess (0), когда соответствующий режим передачи доступен между устройством и контроллером.

  • Объявление

    C++

    void setDMACycleTime( UInt16inNS );

    Параметры

    inNS

    Время цикла DMA многословное, о котором сообщают, в наносекундах.

  • Объявление

    C++

    void setDMAMode( UInt8inModeBitMap );

    Параметры

    inModeBitMap

    разрядно-значительная карта режима DMA

  • Для устройств ATAPI, если устройство утверждает прерывание после Пакетной Команды, когда это готово принять пакет, установите это значение в истину (главным образом более старые устройства). Если устройство принимает пакет только путем утверждения, что DRQ укусил в состоянии, то установленный эта ложь значения. Говорит контроллер шины, ожидать ли пакетного принятия или установить незаконченное прерывание.

    Объявление

    C++

    void setPacketConfig ( atapiConfigpacketConfig);

    Параметры

    packetConfig
  • Объявление

    C++

    void setPIOCycleTime( UInt16inNS );

    Параметры

    inNS

    Время цикла PIO в наносекундах.

  • Объявление

    C++

    void setPIOMode( UInt8inModeBitMap);

    Параметры

    inModeBitMap

    разрядно-значительная карта режима PIO

  • Объявление

    C++

    void setUltraMode( UInt8inModeBitMap );

    Параметры

    inModeBitMap

    разрядно-значительная карта режима Ultra

Типы данных

  • Объявление

    C++

    struct ExpansionData { };

    Обсуждение

    Эта структура будет использоваться для расширения capablilties IOWorkLoop в будущем.

Переменные экземпляра

  • Зарезервированный для будущего использования. (Только внутреннее использование)

    Объявление

    C++

    ExpansionData *reserved;