opentitanlib/chip/
boolean.rs

1// Copyright lowRISC contributors (OpenTitan project).
2// Licensed under the Apache License, Version 2.0, see LICENSE for details.
3// SPDX-License-Identifier: Apache-2.0
4
5use crate::with_unknown;
6
7with_unknown! {
8    /// From `//sw/device/lib/base/hardened.h`.
9    pub enum HardenedBool: u32 [default = Self::False] {
10        True = bindgen::hardened::hardened_bool_kHardenedBoolTrue,
11        False = bindgen::hardened::hardened_bool_kHardenedBoolFalse,
12    }
13
14    /// From `//sw/device/lib/base/hardened.h`.
15    pub enum HardenedByteBool: u8 [default = Self::False] {
16        True = bindgen::hardened::hardened_byte_bool_kHardenedByteBoolTrue as u8,
17        False = bindgen::hardened::hardened_byte_bool_kHardenedByteBoolFalse as u8,
18    }
19
20    /// From `//sw/device/lib/base/multibits.h`.
21    pub enum MultiBitBool4: u8 [default = Self::False] {
22        True = bindgen::multibits::multi_bit_bool_kMultiBitBool4True as u8,
23        False = bindgen::multibits::multi_bit_bool_kMultiBitBool4False as u8,
24    }
25
26    /// From `//sw/device/lib/base/multibits.h`.
27    pub enum MultiBitBool8: u8 [default = Self::False] {
28        True = bindgen::multibits::multi_bit_bool_kMultiBitBool8True as u8,
29        False = bindgen::multibits::multi_bit_bool_kMultiBitBool8False as u8,
30    }
31
32    /// From `//sw/device/lib/base/multibits.h`.
33    pub enum MultiBitBool12: u16 [default = Self::False] {
34        True = bindgen::multibits::multi_bit_bool_kMultiBitBool12True as u16,
35        False = bindgen::multibits::multi_bit_bool_kMultiBitBool12False as u16,
36    }
37
38    /// From `//sw/device/lib/base/multibits.h`.
39    pub enum MultiBitBool16: u16 [default = Self::False] {
40        True = bindgen::multibits::multi_bit_bool_kMultiBitBool16True as u16,
41        False = bindgen::multibits::multi_bit_bool_kMultiBitBool16False as u16,
42    }
43}