38 lines
1.2 KiB
C
38 lines
1.2 KiB
C
|
/* 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);
|