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

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

Разработчик

Ссылка класса IOFireWireSBP2ORB

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

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

IOFireWireSBP2ORB

Представляет нормальную команду ORB SBP2. Предоставляет APIs для конфигурирования нормальной команды ORBs. Это включает установку блока команды и запись таблиц страниц для I/O. ORBs выполняется с помощью submitORB метода в IOFireWireSBP2Login.

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


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

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


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

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


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

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.0 и позже.
  • Выделяет память для таблицы страниц.

    Объявление

    C++

    virtual IOReturn allocatePageTable( UInt32entryCount );

    Параметры

    entryCount

    число записей таблицы страниц, которая будет выделена.

    Обсуждение

    Выделение таблицы страниц является дескриптором автоматически ORB, кроме того, если kFWSBP2CommandFixedSize отмечает, установлен. В этом случае мы не запишем таблицу страниц, если нам будет нужно больше пространства таблицы страниц, чем мы уже имеем. Этот метод представлен так, эти драйверы могут предварительно выделить столько таблицы страниц, сколько им нужно. Если Ваш драйвер является частью пути разбивки на страницы и не может позволить выделениям происходить, это полезно.

  • Высвобождает память, выделенную для таблицы страниц.

    Объявление

    C++

    virtual void deallocatePageTable( void );

    Обсуждение

    Освобождает всю память, связанную с таблицей страниц. Отмены, что делает allocatePageTable. Вызов allocatePageTable снова автоматически освободит существующую таблицу страниц прежде, чем выделить новую, таким образом, этот метод не будет использоваться в большинстве случаев.

  • Возвращает дескриптор памяти, представляющий буфер команд.

    Объявление

    C++

    virtual IOMemoryDescriptor * getCommandBufferDescriptor( void );

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

    Дескриптор памяти возвратов, представляющий, отобразил буферы данных.

    Обсуждение

    Возвращает IOMemoryDescriptor для данных, отображенных setCommandBuffer вариантами. Работы для setCommandBuffersAsRanges также.

  • Конфигурация наборов отмечает для ORB.

    Объявление

    C++

    virtual UInt32 getCommandFlags( void );

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

    Возвратите текущие флаги ORB.

    Обсуждение

    Возвращает текущий набор флагов конфигурации на этом ORB.

  • Получает генерацию команды.

    Объявление

    C++

    virtual UInt32 getCommandGeneration( void );

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

    Возвращает генерацию шины для выполнения команды.

    Обсуждение

    Это получает генерацию шины, в которой должен быть добавлен этот ORB.

  • Получает тайм-аут ORB.

    Объявление

    C++

    virtual UInt32 getCommandTimeout( void );

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

    Возвращает тайм-аут для шара в миллисекундах.

    Обсуждение

    Этот метод получает тайм-аут для этого ORB в миллисекундах.

  • Связали вход в систему с этим ORB.

    Объявление

    C++

    virtual IOFireWireSBP2Login * getLogin( void );

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

    Возвращает указатель на IOFireWireSBP2Login.

    Обсуждение

    Возвращает объект IOFireWireSBP2Login, связанный с этим ORB.

  • Получает макс. размер полезной нагрузки для ORB.

    Объявление

    C++

    virtual UInt32 getMaxPayloadSize( void );

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

    Возвращает максимальный размер полезной нагрузки в байтах.

    Обсуждение

    Это получает максимальный размер полезной нагрузки для этого ORB только.

  • Возвращает адрес FireWire этого ORB.

    Объявление

    C++

    virtual void getORBAddress( FWAddress *address );

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

    Возвращает адрес FireWire этого ORB.

    Обсуждение

    Возвращает адрес шины FireWire этого ORB. Это не то же как адрес Macintosh для IOFireWireSBP2ORB.

  • Возвращает набор refCon с setRefCon.

    Объявление

    C++

    virtual void * getRefCon( void );

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

    Возвращает ранее сохраненное определяемое пользователем значение.

    Обсуждение

    Возвращает определяемое пользователем значение, ранее сохраненное в ORB setRefCon.

  • Возвращает 64 бита refCon набор с setRefCon64.

    Объявление

    C++

    virtual UInt64 getRefCon64( void );

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

    Возвращает ранее сохраненное определяемое пользователем значение.

    Обсуждение

    Возвращает определяемое пользователем значение, ранее сохраненное в ORB setRefCon.

  • Основная реализация механизма выпуска.

    Объявление

    C++

    virtual void release() const;

    Параметры

    when

    == когда retainCount, когда тогда вызывают свободный ().

    Обсуждение

    См. OSObject.h для получения дополнительной информации.

  • Ссылка SBP2 выпусков на буферы команд.

    Объявление

    C++

    virtual IOReturn releaseCommandBuffers( void );

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

    KIOReturnSuccess возвратов, если таблица страниц была очищена успешно.

    Обсуждение

    Когда Вы создаете таблицу страниц с одним из вариантов setCommandBuffers. SBP2 держится за ссылку на буферы, пока не вызывают этот метод. Это означает, что, если команда завершилась и Вы управляли дескриптором памяти или выпустили буферы, не вызывая этот метод, Вы могли оставить FW в противоречивом состоянии.

  • Конфигурирует параметры генерации таблицы страниц

    Объявление

    C++

    IOReturn setBufferConstraints( UInt64 maxSegmentSize, UInt32 alignment, UInt32 options = 0);

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

    Может возвратить ошибку, если существует проблема, выделяющая базовые ресурсы или если в настоящее время присоединяются буферы.

    Обсуждение

    Устанавливает размер максимумов любого сегмента таблицы страниц и требуемого alignemnt. Двойная буферизация может использоваться для удовлетворения этих ограничений. Единственная поддерживаемая опция является kFWSBP2ConstraintForceDoubleBuffer, вызывающим выровненную двойную буферизацию страницы всего дескриптора.

  • Устанавливает блочную часть команды ORB.

    Объявление

    C++

    virtual IOReturn setCommandBlock( IOMemoryDescriptor *memory );

    Параметры

    memory

    IOMemoryDescriptor, представляющий буфер блоков команды.

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

    KIOReturnSuccess возвратов, если блок команды был обновлен успешно.

    Обсуждение

    Copys данные обеспечил в буфере для блочной части команды ORB.

  • Устанавливает блочную часть команды ORB.

    Объявление

    C++

    virtual IOReturn setCommandBlock( void *buffer, UInt32length );

    Параметры

    buffer

    Указатель для буферизации для копирования блока команды с.

    length

    Число байтов данных для копирования.

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

    KIOReturnSuccess возвратов, если блок команды был обновлен успешно.

    Обсуждение

    Copys данные обеспечил в буфере для блочной части команды ORB.

  • Создает таблицу страниц из списка диапазонов.

    Объявление

    C++

    virtual IOReturn setCommandBuffers( IOMemoryDescriptor *memoryDescriptor, UInt32 offset = 0, UInt32 length = 0 );

    Параметры

    memoryDescriptor

    IOMemoryDescriptor описывают диапазоны, которые будут записаны в таблицу страниц.

    offset

    Смещение в байтах в данные для начала письменного стола в.

    length

    Число байтов данных для отображения от смещения.

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

    KIOReturnSuccess возвратов, если таблица страниц была записана успешно.

    Обсуждение

    Создает таблицу страниц с данными параметрами. Любые адреса, отображенные этим методом, должны остаться допустимыми, пока setCommandBuffers не вызывают снова, или releaseCommandBuffers вызывают. Службы SBP2 не выпускают ссылки на буферы команд просто, потому что завершилась команда.

  • Создает таблицу страниц из списка диапазонов.

    Объявление

    C++

    virtual IOReturn setCommandBuffers( IOMemoryDescriptor *memoryDescriptor, UInt32 offset = 0, UInt32 length = 0 );

    Параметры

    memoryDescriptor

    IOMemoryDescriptor описывают диапазоны, которые будут записаны в таблицу страниц.

    offset

    Смещение в байтах в данные для начала письменного стола в.

    length

    Число байтов данных для отображения от смещения.

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

    KIOReturnSuccess возвратов, если таблица страниц была записана успешно.

    Обсуждение

    Создает таблицу страниц с данными параметрами. Любые адреса, отображенные этим методом, должны остаться допустимыми, пока setCommandBuffers не вызывают снова, или releaseCommandBuffers вызывают. Службы SBP2 не выпускают ссылки на буферы команд просто, потому что завершилась команда.

  • Создает таблицу страниц из списка диапазонов.

    Объявление

    C++

    virtual IOReturn setCommandBuffersAsRanges( IOVirtualRange *ranges, UInt32 withCount, IODirection withDirection, task_t withTask, UInt32 offset = 0, UInt32 length = 0 );

    Параметры

    ranges

    Массив диапазонов, представляющих данные, которые будут переданы.

    withCount

    Число диапазонов в массиве диапазонов.

    withDirection

    IODirection указание направления передачи данных.

    withTask

    Задача, в которой находятся эти адреса.

    offset

    Смещение в байтах в данные для начала письменного стола в.

    length

    Число байтов данных для отображения от смещения.

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

    KIOReturnSuccess возвратов, если таблица страниц была записана успешно.

    Обсуждение

    Создает таблицу страниц с данными параметрами. Любые адреса, отображенные этим методом, должны остаться допустимыми, пока setCommandBuffers не вызывают снова, или releaseCommandBuffers вызывают. Службы SBP2 не выпускают ссылки на буферы команд просто, потому что завершилась команда.

  • Создает таблицу страниц из списка диапазонов на 64 бита.

    Объявление

    C++

    IOReturn setCommandBuffersAsRanges64( IOAddressRange *ranges, uint64_t withCount, IODirection withDirection, task_t withTask, uint64_t offset = 0, uint64_t length = 0);

    Параметры

    ranges

    Массив диапазонов, представляющих данные, которые будут переданы.

    withCount

    Число диапазонов в массиве диапазонов.

    withDirection

    IODirection указание направления передачи данных.

    withTask

    Задача, в которой находятся эти адреса.

    offset

    Смещение в байтах в данные для начала письменного стола в.

    length

    Число байтов данных для отображения от смещения.

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

    KIOReturnSuccess возвратов, если таблица страниц была записана успешно.

    Обсуждение

    Создает таблицу страниц с данными параметрами. Любые адреса, отображенные этим методом, должны остаться допустимыми, пока setCommandBuffers не вызывают снова, или releaseCommandBuffers вызывают. Службы SBP2 не выпускают ссылки на буферы команд просто, потому что завершилась команда. Это - совместимая версия на 64 бита setCommandBuffersAsRanges.

  • Конфигурация наборов отмечает для ORB.

    Объявление

    C++

    virtual void setCommandFlags( UInt32flags );

    Параметры

    flags

    Флаги, которые будут установлены.

    Обсуждение

    Устанавливает флаги конфигурации для ORB. Они могут быть любым следующим:

    kFWSBP2CommandCompleteNotify - Установите уведомлять бит, как указано в стандарте SBP2. Набор для получения уведомления завершения/тайм-аута на этом ORB. Вы почти всегда хотите установить это.

    kFWSBP2CommandTransferDataFromTarget - Направление передачи, как указано в стандарте SBP2. Набор, если данные должны быть записаны устройством в память узла.

    kFWSBP2CommandImmediate - Непосредственный Добавляют. Адрес ORB будет записан для выборки агента и не объединен в цепочку. Только законно иметь один непосредственный происходящий ORB за один раз.

    kFWSBP2CommandNormalORB - формат 0 ORB - Формат указан стандартом SBP2. Установите это для большей части ORBs.

    kFWSBP2CommandReservedORB - формат 1 ORB - Формат зарезервирован стандартом SBP2 для будущей стандартизации.

    kFWSBP2CommandVendorORB - формат 2 ORB - Формат, указанный стандартом SBP2 для зависимого поставщика ORBs.

    kFWSBP2CommandDummyORB - формат 3 ORB - Формат указан стандартом SBP2 для фиктивного ORBs.

    kFWSBP2CommandCheckGeneration - Если набор генерации с setCommandGeneration () будет соответствовать текущую генерацию, если установлено на submitORB, ORB будет только добавлен. В значительной степени всем драйверам SBP2 нужна сложная логика для отслеживания состояния входа в систему, таким образом, это обычно не используется.

    kFWSBP2CommandFixedSize - Не выделяйте больше памяти для таблицы страниц в случае необходимости. Если будет недостаточно пространства в в настоящее время выделяемой таблице страниц, то вызов setCommandBuffers перестанет работать. Это важно для установленного, если Ваше устройство является запоминающим устройством, поскольку мы не хотим вызывать выделения памяти на пути разбивки на страницы.

    kFWSBP2CommandVirtualORBs - Обычно ORBs поддерживается физическими адресными пространствами. Установка этого флага делает этот ORB поддержанным псевдо адресным пространством. Это может сделать ORBs проще видеть в трассировке шины. Виртуальный ORBs будет иметь адрес в форме ffcX.XXXX.0000.0000. Псевдо адресное пространство отступило, ORBs медленнее, таким образом, Вы не захотите устанавливать для сборок развертывания.

  • Устанавливает генерацию команды.

    Объявление

    C++

    virtual void setCommandGeneration( UInt32gen );

    Параметры

    gen

    Генерация шины для выполнения команды.

    Обсуждение

    Это устанавливает генерацию шины, в которой должен быть добавлен этот ORB. Это только значимо, когда объединено с флагами kFWSBP2CommandCheckGeneration выше.

  • Устанавливает тайм-аут ORB.

    Объявление

    C++

    virtual void setCommandTimeout( UInt32timeout );

    Параметры

    timeout

    Продолжительность тайм-аута в миллисекундах.

    Обсуждение

    Это устанавливает тайм-аут для ORB в миллисекундах. Обратите внимание на то, что ORBs без тайм-аутов может быть «потерян». Вы, очевидно, не получите уведомление тайм-аута для тайм-аутов нуля. Но возможно менее очевидно, Вы не получите уведомление сброса шара, которое является действительно своего рода ускоренным уведомлением тайм-аута для ситуаций со сбросом шины.

  • Наборы макс. размер полезной нагрузки для ORB.

    Объявление

    C++

    virtual void setMaxPayloadSize( UInt32maxPayloadSize );

    Параметры

    maxPayloadSize

    Максимальный размер полезной нагрузки в байтах.

    Обсуждение

    Это устанавливает максимальный размер полезной нагрузки для этого ORB только. Этот размер отсекается глобальным макс. набором размера полезной нагрузки в объекте входа в систему.

  • Устанавливает ORB refCon.

    Объявление

    C++

    virtual void setRefCon( void *refCon );

    Параметры

    refCon

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

    Обсуждение

    Устанавливает определяемое пользователем значение на ORB, который может быть получен позже с методом getRefCon.

  • Устанавливает ORB refCon как 64 битовых значения.

    Объявление

    C++

    virtual void setRefCon64( UInt64refCon );

    Параметры

    refCon

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

    Обсуждение

    Устанавливает определяемое пользователем значение на ORB, который может быть получен позже с методом getRefCon.