]> git.sesse.net Git - bcachefs-tools-debian/blob - src/commands/mod.rs
feat: add aliases for a few subcommands
[bcachefs-tools-debian] / src / commands / mod.rs
1 use clap::Subcommand;
2
3 pub mod logger;
4 pub mod cmd_mount;
5 pub mod cmd_list;
6 pub mod cmd_completions;
7 pub mod cmd_subvolume;
8
9 #[derive(clap::Parser, Debug)]
10 #[command(name = "bcachefs")]
11 pub struct Cli {
12     #[command(subcommand)]
13     subcommands: Subcommands,
14 }
15
16 #[derive(Subcommand, Debug)]
17 enum Subcommands {
18     List(cmd_list::Cli),
19     Mount(cmd_mount::Cli),
20     Completions(cmd_completions::Cli),
21     #[command(visible_aliases = ["subvol"])]
22     Subvolume(cmd_subvolume::Cli),
23 }
24
25 #[macro_export]
26 macro_rules! c_str {
27     ($lit:expr) => {
28         unsafe {
29             std::ffi::CStr::from_ptr(concat!($lit, "\0").as_ptr() as *const std::os::raw::c_char)
30                 .to_bytes_with_nul()
31                 .as_ptr() as *const std::os::raw::c_char
32         }
33     };
34 }