net_ssr_shared/
lib.rs

1use clap::{crate_description, crate_name, crate_version, Arg, ArgAction, Command};
2
3pub fn get_interrogator_command() -> Command {
4    Command::new(crate_name!())
5        .version(crate_version!())
6        .about(crate_description!())
7        .arg(
8            Arg::new("start")
9                .short('s')
10                .long("start")
11                .value_name("START")
12                .help("Optional. Broadcast starting at IP address.")
13                .action(ArgAction::Set),
14        )
15        .arg(
16            Arg::new("to")
17                .short('t')
18                .long("to")
19                .value_name("TO")
20                .help("Optional. Broadcast IP addresses from --start to --to")
21                .action(ArgAction::Set),
22        )
23        .arg(
24            Arg::new("bind")
25                .short('b')
26                .long("bind")
27                .value_name("BIND")
28                .default_value("0.0.0.0")
29                .help("Optional. Bind and listen to specified broadcast address (not your IP). You can also customize the port like 0.0.0.0:1090")
30                .action(ArgAction::Set),
31        )
32        .arg(
33            Arg::new("port")
34                .short('p')
35                .long("port")
36                .value_name("PORT")
37                .default_value("1030")
38                .help("Optional. Target port for broadcasting")
39                .action(ArgAction::Set),
40        )
41        .arg(
42            Arg::new("verbose")
43                .short('v')
44                .long("verbose")
45                .help("More output about what's happening")
46                .action(ArgAction::SetTrue),
47        )
48}
49
50pub fn get_transponder_command() -> Command {
51    Command::new(crate_name!())
52        .version(crate_version!())
53        .about(crate_description!())
54        .arg(
55            Arg::new("bind")
56                .short('b')
57                .long("bind")
58                .value_name("BIND")
59                .default_value("0.0.0.0")
60                .help("Optional. Bind and listen to specified broadcast address (not your IP). You can also customize the port like 0.0.0.0:1030")
61                .action(ArgAction::Set),
62        )
63        .arg(
64            Arg::new("verbose")
65                .short('v')
66                .long("verbose")
67                .help("More output about what's happening")
68                .action(ArgAction::SetTrue),
69        )
70}