1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
use modular_bitfield::prelude::*;

#[derive(BitfieldSpecifier)]
#[bits = 8]
pub enum FeatureId {
    Arbitration = 1,
    PowerManagement,
    LBARangeType,
    TemperatureThreshold,
    ErrorRecovery,
    VolatileWriteCache,
    NumberOfQueues,
    InterruptCoalescing,
    InterruptVectorConfig,
    WriteAtomicityNormal,
    AsyncEventConfig,
    AutonomousPowerStateTransition,
    HostMemoryBuffer,
    Timestamp,
    KeepAliveTimer,
    HostControlledThermalManagement,
    NonOperationalPowerStateConfig,
    ReadRecoveryLevelConfig,
    PredictableLatencyModeConfig,
    PredictableLatencyModeWindow,
    LBAStatusInfoReportInterval,
    HostBehaviorSupport,
    SanitizeConfig,
    EnduranceGroupEventConfig,
    IOCommandSetProfile,
    SpinupControl,

    EnhancedControllerMetadata = 0x7d,
    ControllerMetadata,
    NamespaceMetadata,
    SoftwareProgressMarker,
    HostIdentifier,
    ReservationNotificationMask,
    ReservationPersistence,
    NamespaceWriteProtectionConfig,
}