| // Copyright 2022 The ChromiumOS Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef INIT_STARTUP_FLAGS_H_ |
| #define INIT_STARTUP_FLAGS_H_ |
| |
| namespace startup { |
| |
| // Define a struct to contain the flags we set when parsing USE flags. |
| struct Flags { |
| // Indicates built with USE=encrypted_reboot_vault. Used to determine |
| // if we need to setup the encrypted reboot vault. |
| bool encrypted_reboot_vault; |
| // Indicates built with USE=encrypted_stateful, used to determine which |
| // mount function to use |
| bool encstateful; |
| // Indicates built with USE=direncryption. Used when mounting the stateful |
| // partition to determine if we should enable directory encryption. |
| bool direncryption; |
| // Indicates built with USE=fsverity. Used when mounting the stateful |
| // partition. |
| bool fsverity; |
| // Indicates whether stateful migration to lvm is allowed. |
| bool lvm_migration; |
| // Indicates built with USE=lvm_stateful_partition. Used when mounting the |
| // stateful partition. |
| bool lvm_stateful; |
| // Indicates built with USE=prjquota. Used when mounting the stateful |
| // partition. |
| bool prjquota; |
| // Not a USE flag, but indicates if built with both USE=tpm2 and |
| // USE=encrypted_stateful. Used to determine if we will try to create |
| // a system key. |
| bool sys_key_util; |
| // Increases the level of log verbosity from the default (warning) to info |
| // or verbose. |
| int verbosity; |
| }; |
| |
| } // namespace startup |
| |
| #endif // INIT_STARTUP_FLAGS_H_ |