rsblkid/probe/
partition_scanning_option_enum.rs

1// Copyright (c) 2023 Nick Piaddo
2// SPDX-License-Identifier: Apache-2.0 OR MIT
3
4// From dependency library
5use num_enum::IntoPrimitive;
6
7// From standard library
8use std::fmt;
9
10// From this library
11
12/// Options for partition search functions.
13#[derive(Clone, Copy, Debug, Eq, PartialEq, IntoPrimitive)]
14#[repr(i32)]
15pub enum PartitionScanningOption {
16    /// Gather details from each partition table entry.
17    EntryDetails = libblkid::BLKID_PARTS_ENTRY_DETAILS,
18    /// Disable Protective (legacy) MBR detection, which is enabled by default.
19    ForceGPT = libblkid::BLKID_PARTS_FORCE_GPT,
20    /// Set Magic flag.
21    Magic = libblkid::BLKID_PARTS_MAGIC,
22}
23
24impl fmt::Display for PartitionScanningOption {
25    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
26        let str = match self {
27            PartitionScanningOption::EntryDetails => "Entry Details",
28            PartitionScanningOption::ForceGPT => "Force GPT",
29            PartitionScanningOption::Magic => "Magic",
30        };
31
32        write!(f, "{}", str)
33    }
34}