diff options
Diffstat (limited to 'rust-src/src/commands/mod.rs')
-rw-r--r-- | rust-src/src/commands/mod.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/rust-src/src/commands/mod.rs b/rust-src/src/commands/mod.rs new file mode 100644 index 00000000..e05a0848 --- /dev/null +++ b/rust-src/src/commands/mod.rs @@ -0,0 +1,31 @@ +use clap::Subcommand; + +pub mod logger; +pub mod cmd_mount; +pub mod cmd_list; +pub mod cmd_completions; + +#[derive(clap::Parser, Debug)] +#[command(name = "bcachefs")] +pub struct Cli { + #[command(subcommand)] + subcommands: Subcommands, +} + +#[derive(Subcommand, Debug)] +enum Subcommands { + List(cmd_list::Cli), + Mount(cmd_mount::Cli), + Completions(cmd_completions::Cli), +} + +#[macro_export] +macro_rules! c_str { + ($lit:expr) => { + unsafe { + std::ffi::CStr::from_ptr(concat!($lit, "\0").as_ptr() as *const std::os::raw::c_char) + .to_bytes_with_nul() + .as_ptr() as *const std::os::raw::c_char + } + }; +} |