File indexing completed on 2024-05-05 05:48:46
0001 /* 0002 SPDX-FileCopyrightText: 2017 Andrius Štikonas <andrius@stikonas.eu> 0003 SPDX-FileCopyrightText: 2020 Arnaud Ferraris <arnaud.ferraris@collabora.com> 0004 SPDX-FileCopyrightText: 2020 Gaël PORTAY <gael.portay@collabora.com> 0005 0006 SPDX-License-Identifier: GPL-3.0-or-later 0007 */ 0008 0009 #ifndef KPMCORE_LUKS2_H 0010 #define KPMCORE_LUKS2_H 0011 0012 #include "util/libpartitionmanagerexport.h" 0013 0014 #include "fs/luks.h" 0015 0016 #include <QtGlobal> 0017 0018 class QString; 0019 0020 namespace FS 0021 { 0022 /** A LUKS2 crypto file system. 0023 @author Andrius Štikonas <andrius@stikonas.eu> 0024 */ 0025 class LIBKPMCORE_EXPORT luks2 : public luks 0026 { 0027 public: 0028 luks2(qint64 firstsector, qint64 lastsector, qint64 sectorsused, const QString& label, const QVariantMap& features = {}); 0029 ~luks2() override; 0030 0031 bool create(Report& report, const QString& deviceNode) override; 0032 bool resize(Report& report, const QString& deviceNode, qint64 length) const override; 0033 0034 FileSystem::Type type() const override; 0035 0036 luks::KeyLocation keyLocation(); 0037 }; 0038 } 0039 0040 #endif