структура 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 с помощью резервирований монопольных типов и эксклюзивных резервирований типов доступа. Сервер устройств не предоставляет сведения о том, разрешены ли следующие команды в резервированиях типов "Монопольная запись":
|
2 | Сервер устройств позволяет выполнять команду TEST UNIT READY с помощью резервирований монопольных типов и эксклюзивных резервирований типов доступа. Сервер устройств не разрешает следующие команды с помощью резервирования типа "Монопольная запись":
|
3 | Сервер устройства позволяет выполнять команду TEST UNIT READY с помощью эксклюзивного и эксклюзивного резервирования типов доступа для записи. И следующие команды с помощью записи эксклюзивных резервирований типов:
|
4 | Сервер устройств позволяет выполнять команду TEST UNIT READY с помощью постоянных резервирований монопольного и монопольного доступа для записи. И следующие команды с помощью эксклюзивных резервирований записи сохраняются:
|
5 | Сервер устройств позволяет:
|
Все остальные | Зарезервировано |
TypeMaskValid
Содержит битовую маску, указывающую типы постоянного резервирования, поддерживаемые сервером устройств.
Reserved3
Зарезервировано для внутреннего использования.
WriteExclusive
Указывает, что сервер устройства поддерживает тип эксклюзивного постоянного резервирования для записи.
Reserved4
Зарезервировано для внутреннего использования.
ExclusiveAccess
Указывает, что сервер устройства поддерживает тип постоянного резервирования монопольного доступа.
Reserved5
Зарезервировано для внутреннего использования.
WriteExclusiveRegistrantsOnly
Указывает, что сервер устройства поддерживает монопольную запись — постоянный тип резервирования только для регистраторов.
ExclusiveAccessRegistrantsOnly
Указывает, что сервер устройства поддерживает монопольный доступ — регистранты только постоянного типа резервирования.
WriteExclusiveAllRegistrants
Указывает, что сервер устройства поддерживает монопольную запись — тип постоянного резервирования всех регистрантов.
ExclusiveAccessAllRegistrants
Указывает, что сервер устройства поддерживает монопольный доступ — все регистранты постоянного типа резервирования.
Reserved6
Зарезервировано для внутреннего использования.
Reserved7[2]
Зарезервировано для внутреннего использования.
Требования
Требование | Значение |
---|---|
Заголовок | scsi.h |