+#[derive(Parser)]
+struct Args {
+ #[arg(short = 's', help = "Domain or IP of reflector")]
+ hostname: String,
+ #[arg(
+ short = 'p',
+ default_value = "17000",
+ help = "Reflector listening port"
+ )]
+ port: u16,
+ #[arg(short = 'c', value_parser = valid_callsign, help = "Your callsign for reflector registration and transmissions")]
+ callsign: M17Address,
+ #[arg(short = 'r', value_parser = valid_callsign, help = "Reflector designator/callsign, often starting with 'M17-'")]
+ reflector: M17Address,
+ #[arg(short = 'm', value_parser = valid_module, help = "Module to connect to (A-Z)")]
+ module: char,
+ #[arg(
+ short = 'i',
+ help = "Soundcard name for microphone, otherwise system default"
+ )]
+ input: Option<String>,
+ #[arg(
+ short = 'o',
+ help = "Soundcard name for speaker, otherwise system default"
+ )]
+ output: Option<String>,
+}
+