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}