1
0
Fork 0

Merging upstream version 4.3+20240412.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-14 06:34:22 +01:00
parent 8e1e76d6e6
commit 9a795ca236
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
67 changed files with 2247 additions and 2747 deletions

37
drive_encryption.h Normal file
View file

@ -0,0 +1,37 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Read encryption information for Opal and ATA devices.
*
* Copyright (C) 2024 Intel Corporation
* Author: Blazej Kucman <blazej.kucman@intel.com>
*/
typedef enum encryption_status {
/* The drive is not currently encrypted. */
ENC_STATUS_UNENCRYPTED = 0,
/* The drive is encrypted and the data is not accessible. */
ENC_STATUS_LOCKED,
/* The drive is encrypted but the data is accessible in unencrypted form. */
ENC_STATUS_UNLOCKED
} encryption_status_t;
typedef enum encryption_ability {
ENC_ABILITY_NONE = 0,
ENC_ABILITY_OTHER,
/* Self encrypted drive */
ENC_ABILITY_SED
} encryption_ability_t;
typedef struct encryption_information {
encryption_ability_t ability;
encryption_status_t status;
} encryption_information_t;
mdadm_status_t
get_nvme_opal_encryption_information(int disk_fd, struct encryption_information *information,
const int verbose);
mdadm_status_t
get_ata_encryption_information(int disk_fd, struct encryption_information *information,
const int verbose);
const char *get_encryption_ability_string(enum encryption_ability ability);
const char *get_encryption_status_string(enum encryption_status status);