summaryrefslogtreecommitdiffstats
path: root/src/modules/physicaldisk/option.h
blob: 00ba0138a64aad1a6049216f88ab15c5e6fdf30d (plain) (blame)
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
#pragma once

#include "common/option.h"

typedef enum FF_A_PACKED FFPhysicalDiskType {
    FF_PHYSICALDISK_TYPE_NONE = 0,

    // If none is set, it's unknown
    FF_PHYSICALDISK_TYPE_HDD = 1 << 0,
    FF_PHYSICALDISK_TYPE_SSD = 1 << 1,
    FF_PHYSICALDISK_TYPE_VIRTUAL = 1 << 2,

    FF_PHYSICALDISK_TYPE_FIXED = 1 << 3,
    FF_PHYSICALDISK_TYPE_REMOVABLE = 1 << 4,

    FF_PHYSICALDISK_TYPE_READWRITE = 1 << 5,
    FF_PHYSICALDISK_TYPE_READONLY = 1 << 6,

    FF_PHYSICALDISK_TYPE_UNUSED = 1 << 7,

    FF_PHYSICALDISK_TYPE_FORCE_UNSIGNED = UINT8_MAX,
} FFPhysicalDiskType;
static_assert(sizeof(FFPhysicalDiskType) == sizeof(uint8_t), "");

typedef struct FFPhysicalDiskOptions {
    FFModuleArgs moduleArgs;

    FFstrbuf namePrefix;
    FFPhysicalDiskType hideType;
    bool temp;
    FFColorRangeConfig tempConfig;
} FFPhysicalDiskOptions;

static_assert(sizeof(FFPhysicalDiskOptions) <= FF_OPTION_MAX_SIZE, "FFPhysicalDiskOptions size exceeds maximum allowed size");