libstorage-ng
UsedFeatures.h
1/*
2 * Copyright (c) [2016-2022] SUSE LLC
3 *
4 * All Rights Reserved.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of version 2 of the GNU General Public License as published
8 * by the Free Software Foundation.
9 *
10 * This program is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13 * more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, contact Novell, Inc.
17 *
18 * To contact Novell about this file by physical or electronic mail, you may
19 * find current contact information at www.novell.com.
20 */
21
22
23#ifndef STORAGE_USED_FEATURES_H
24#define STORAGE_USED_FEATURES_H
25
26
27#include <stdint.h>
28#include <string>
29
30
31namespace storage
32{
33
38 {
43
49 };
50
51
55 using uf_t = uint64_t;
56
57
58 enum : uint64_t // TODO use uf_t
59 {
60 UF_EXT2 = 1 << 0,
61 UF_EXT3 = 1 << 1,
62 UF_EXT4 = 1 << 2,
63 UF_BTRFS = 1 << 3,
64 UF_XFS = 1 << 4,
65 UF_REISERFS = 1 << 5,
66 UF_SWAP = 1 << 6,
67 UF_NTFS = 1 << 7,
68 UF_VFAT = 1 << 8,
69 UF_NFS = 1 << 9,
70 UF_JFS = 1 << 10,
71 UF_F2FS = 1 << 23,
72 UF_NILFS2 = 1 << 30,
73 UF_EXFAT = 1 << 24,
74 UF_UDF = 1 << 25,
75 UF_BITLOCKER = 1 << 27,
76
77 UF_PLAIN_ENCRYPTION = 1 << 26,
78 UF_LUKS = 1 << 11,
79
80 UF_LVM = 1 << 12,
81 UF_MDRAID = 1 << 13,
82 UF_DMRAID = 1 << 14,
83 UF_MULTIPATH = 1 << 15,
84 UF_BCACHE = 1 << 16,
85
86 UF_ISCSI = 1 << 17,
87 UF_FCOE = 1 << 18,
88 UF_FC = 1 << 19,
89 UF_DASD = 1 << 20,
90 UF_PMEM = 1 << 29,
91 UF_NVME = 1 << 28,
92
93 UF_QUOTA = 1 << 21,
94 UF_SNAPSHOTS = 1 << 22
95 };
96
97
101 std::string get_used_features_names(uf_t used_features);
102
103}
104
105#endif
The storage namespace.
Definition: Actiongraph.h:39
std::string get_used_features_names(uf_t used_features)
Return a string with the names of the used features.
uint64_t uf_t
Type for used features.
Definition: UsedFeatures.h:55
UsedFeaturesDependencyType
Enum specifying the dependency type of used features.
Definition: UsedFeatures.h:38
@ SUGGESTED
Suggested used features include compared to the required used features also filesystems that have no ...
@ REQUIRED
Required used features only include the minimal set of used features.