]> git.sesse.net Git - bcachefs-tools-debian/blob - src/commands/mod.rs
move Rust sources to top level, C sources into c_src
[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
8 #[derive(clap::Parser, Debug)]
9 #[command(name = "bcachefs")]
10 pub struct Cli {
11     #[command(subcommand)]
12     subcommands: Subcommands,
13 }
14
15 #[derive(Subcommand, Debug)]
16 enum Subcommands {
17     List(cmd_list::Cli),
18     Mount(cmd_mount::Cli),
19     Completions(cmd_completions::Cli),
20 }
21
22 #[macro_export]
23 macro_rules! c_str {
24     ($lit:expr) => {
25         unsafe {
26             std::ffi::CStr::from_ptr(concat!($lit, "\0").as_ptr() as *const std::os::raw::c_char)
27                 .to_bytes_with_nul()
28                 .as_ptr() as *const std::os::raw::c_char
29         }
30     };
31 }