Поделиться через


структура PRI_REPORT_CAPABILITIES (scsi.h)

Структура PRI_REPORT_CAPABILITIES содержит сведения о функциях постоянного резервирования, которые возвращаются в ответ на команду Постоянного резервирования в с ServiceAction=RESERVATION_ACTION_REPORT_CAPABILITIES.

Синтаксис

typedef struct {
  UCHAR Length[2];
  UCHAR PersistThroughPowerLossCapable : 1;
  UCHAR Reserved : 1;
  UCHAR AllTargetPortsCapable : 1;
  UCHAR SpecifyInitiatorPortsCapable : 1;
  UCHAR CompatibleReservationHandling : 1;
  UCHAR Reserved1 : 2;
  UCHAR ReplaceLostReservationCapable : 1;
  UCHAR PersistThroughPowerLossActivated : 1;
  UCHAR Reserved2 : 3;
  UCHAR AllowCommands : 3;
  UCHAR TypeMaskValid : 1;
  UCHAR Reserved3 : 1;
  UCHAR WriteExclusive : 1;
  UCHAR Reserved4 : 1;
  UCHAR ExclusiveAccess : 1;
  UCHAR Reserved5 : 1;
  UCHAR WriteExclusiveRegistrantsOnly : 1;
  UCHAR ExclusiveAccessRegistrantsOnly : 1;
  UCHAR WriteExclusiveAllRegistrants : 1;
  UCHAR ExclusiveAccessAllRegistrants : 1;
  UCHAR Reserved6 : 7;
  UCHAR Reserved7[2];
} PRI_REPORT_CAPABILITIES, *PPRI_REPORT_CAPABILITIES;

Члены

Length[2]

Размер этой структуры.

PersistThroughPowerLossCapable

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

Reserved

Зарезервировано для внутреннего использования.

AllTargetPortsCapable

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

SpecifyInitiatorPortsCapable

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

CompatibleReservationHandling

Указывает, что сервер устройства обратно совместим с SPC-2.

Reserved1

Зарезервировано для внутреннего использования.

ReplaceLostReservationCapable

Указывает, что сервер устройства поддерживает замену потерянного резервирования.

PersistThroughPowerLossActivated

Указывает, что активирована возможность сохранения при отключении питания.

Reserved2

Зарезервировано для внутреннего использования.

AllowCommands

Указывает, разрешены ли определенные команды через определенные типы постоянных резервирований.

Значение Описание
0 Информация о том, разрешены ли определенные команды через определенные типы постоянных резервирований, не предоставляется.
1 Сервер устройств позволяет выполнять команду TEST UNIT READY с помощью резервирований монопольных типов и эксклюзивных резервирований типов доступа. Сервер устройств не предоставляет сведения о том, разрешены ли следующие команды в резервированиях типов "Монопольная запись":
  1. КОНТРОЛЬ РЕЖИМА
  2. АТРИБУТ READ
  3. READ BUFFER(10)
  4. ПОЛУЧЕНИЕ РЕЗУЛЬТАТОВ ДИАГНОСТИКИ
  5. КОДЫ ПОДДЕРЖИВАЕМЫХ ОПЕРАЦИЙ ОТЧЕТА
  6. ФУНКЦИИ УПРАВЛЕНИЯ ЗАДАЧАМИ, ПОДДЕРЖИВАЕМЫЕ ОТЧЕТАМИ
  7. ЧТЕНИЕ ДАННЫХ ДЕФЕКТОВ
2 Сервер устройств позволяет выполнять команду TEST UNIT READY с помощью резервирований монопольных типов и эксклюзивных резервирований типов доступа. Сервер устройств не разрешает следующие команды с помощью резервирования типа "Монопольная запись":
  1. КОНТРОЛЬ РЕЖИМА
  2. АТРИБУТ READ
  3. READ BUFFER(10)
  4. ПОЛУЧЕНИЕ РЕЗУЛЬТАТОВ ДИАГНОСТИКИ
  5. КОДЫ ПОДДЕРЖИВАЕМЫХ ОПЕРАЦИЙ ОТЧЕТА
  6. ФУНКЦИИ УПРАВЛЕНИЯ ЗАДАЧАМИ, ПОДДЕРЖИВАЕМЫЕ ОТЧЕТАМИ
  7. ЧТЕНИЕ ДАННЫХ ДЕФЕКТОВ
3 Сервер устройства позволяет выполнять команду TEST UNIT READY с помощью эксклюзивного и эксклюзивного резервирования типов доступа для записи. И следующие команды с помощью записи эксклюзивных резервирований типов:
  1. КОНТРОЛЬ РЕЖИМА
  2. АТРИБУТ READ
  3. READ BUFFER(10)
  4. ПОЛУЧЕНИЕ РЕЗУЛЬТАТОВ ДИАГНОСТИКИ
  5. КОДЫ ПОДДЕРЖИВАЕМЫХ ОПЕРАЦИЙ ОТЧЕТА
  6. ФУНКЦИИ УПРАВЛЕНИЯ ЗАДАЧАМИ, ПОДДЕРЖИВАЕМЫЕ ОТЧЕТАМИ
  7. ЧТЕНИЕ ДАННЫХ ДЕФЕКТОВ
4 Сервер устройств позволяет выполнять команду TEST UNIT READY с помощью постоянных резервирований монопольного и монопольного доступа для записи. И следующие команды с помощью эксклюзивных резервирований записи сохраняются:
  1. КОНТРОЛЬ РЕЖИМА
  2. АТРИБУТ READ
  3. READ BUFFER(10)
  4. ПОЛУЧЕНИЕ РЕЗУЛЬТАТОВ ДИАГНОСТИКИ
  5. КОДЫ ПОДДЕРЖИВАЕМЫХ ОПЕРАЦИЙ ОТЧЕТА
  6. ФУНКЦИИ УПРАВЛЕНИЯ ЗАДАЧАМИ, ПОДДЕРЖИВАЕМЫЕ ОТЧЕТАМИ
  7. ЧТЕНИЕ ДАННЫХ ДЕФЕКТОВ
5 Сервер устройств позволяет:
  1. Следующие команды с помощью постоянных резервирований с монопольным и монопольным доступом записываются:
    1. ГОТОВО К ТЕСТИРОВАНИЮ МОДУЛЯ
    2. КОДЫ ПОДДЕРЖИВАЕМЫХ ОПЕРАЦИЙ ОТЧЕТА
    3. ФУНКЦИИ УПРАВЛЕНИЯ ЗАДАЧАМИ, ПОДДЕРЖИВАЕМЫЕ ОТЧЕТАМИ
  2. Следующие команды с помощью записи эксклюзивных постоянных резервирований:
    1. КОНТРОЛЬ РЕЖИМА
    2. АТРИБУТ READ
    3. READ BUFFER(10)
    4. ПОЛУЧЕНИЕ РЕЗУЛЬТАТОВ ДИАГНОСТИКИ
    5. ЧТЕНИЕ ДАННЫХ ДЕФЕКТОВ
Все остальные Зарезервировано

TypeMaskValid

Содержит битовую маску, указывающую типы постоянного резервирования, поддерживаемые сервером устройств.

Reserved3

Зарезервировано для внутреннего использования.

WriteExclusive

Указывает, что сервер устройства поддерживает тип эксклюзивного постоянного резервирования для записи.

Reserved4

Зарезервировано для внутреннего использования.

ExclusiveAccess

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

Reserved5

Зарезервировано для внутреннего использования.

WriteExclusiveRegistrantsOnly

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

ExclusiveAccessRegistrantsOnly

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

WriteExclusiveAllRegistrants

Указывает, что сервер устройства поддерживает монопольную запись — тип постоянного резервирования всех регистрантов.

ExclusiveAccessAllRegistrants

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

Reserved6

Зарезервировано для внутреннего использования.

Reserved7[2]

Зарезервировано для внутреннего использования.

Требования

Требование Значение
Заголовок scsi.h