mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
rust/pvsecret: Streamline arch dependend code
Get rid of all arch barriers in main.rs. cmd.rs handles the arch barriers for the individual commands. Simplifies main.rs & cmd.rs and makes it easier to read and understand the code. Signed-off-by: Steffen Eiden <seiden@linux.ibm.com> Reviewed-by: Julian Ruess <julianr@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
committed by
Jan Höppner
parent
c88a8b6130
commit
7c2ae3d2e8
@@ -8,18 +8,39 @@ pub use create::create;
|
||||
mod verify;
|
||||
pub use verify::verify;
|
||||
|
||||
// Commands (directly) related to UVCs are only available on s389x
|
||||
pub const CMD_FN: &[&str] = &["+create", "+verify"];
|
||||
|
||||
#[cfg(target_arch = "s390x")]
|
||||
mod add;
|
||||
#[cfg(target_arch = "s390x")]
|
||||
pub use add::add;
|
||||
|
||||
#[cfg(target_arch = "s390x")]
|
||||
mod list;
|
||||
#[cfg(target_arch = "s390x")]
|
||||
pub use list::list;
|
||||
|
||||
#[cfg(target_arch = "s390x")]
|
||||
mod lock;
|
||||
|
||||
// Commands (directly) related to UVCs are only available on s389x
|
||||
#[cfg(target_arch = "s390x")]
|
||||
pub use lock::lock;
|
||||
mod uv_cmd {
|
||||
pub use super::*;
|
||||
pub use add::add;
|
||||
pub use list::list;
|
||||
pub use lock::lock;
|
||||
pub const UV_CMD_FN: &[&str] = &["+add", "+lock", "+list"];
|
||||
}
|
||||
|
||||
#[cfg(not(target_arch = "s390x"))]
|
||||
mod uv_cmd {
|
||||
use crate::cli::{AddSecretOpt, ListSecretOpt};
|
||||
use anyhow::{bail, Result};
|
||||
macro_rules! not_supp {
|
||||
($name: ident $( ,$opt: ty )?) => {
|
||||
pub fn $name($(_: &$opt)?) -> Result<()> {
|
||||
bail!("Command only available on s390x")
|
||||
}
|
||||
};
|
||||
}
|
||||
not_supp!(add, AddSecretOpt);
|
||||
not_supp!(list, ListSecretOpt);
|
||||
not_supp!(lock);
|
||||
pub const UV_CMD_FN: &[&str] = &[];
|
||||
}
|
||||
pub use uv_cmd::*;
|
||||
|
||||
Reference in New Issue
Block a user