1#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct PublicKey {
4 #[prost(string, tag = "1")]
5 pub key: ::prost::alloc::string::String,
6 #[deprecated]
7 #[prost(enumeration = "Capability", repeated, packed = "false", tag = "2")]
8 pub capabilities: ::prost::alloc::vec::Vec<i32>,
9 #[prost(enumeration = "User", tag = "3")]
10 pub user: i32,
11}
12#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
13#[repr(i32)]
14pub enum Capability {
15 Read = 0,
16 ReadInternal = 13,
17 ReadPrivate = 7,
18 Local = 14,
19 Write = 1,
20 WritePersistent = 11,
21 Debug = 2,
22 Admin = 3,
23 Setup = 4,
24 SetSku = 5,
25 Refresh = 6,
26 Fuse = 8,
27 Reset = 9,
28 Test = 10,
29 Ssh = 12,
30 Guest = 15,
31}
32impl Capability {
33 pub fn as_str_name(&self) -> &'static str {
38 match self {
39 Self::Read => "READ",
40 Self::ReadInternal => "READ_INTERNAL",
41 Self::ReadPrivate => "READ_PRIVATE",
42 Self::Local => "LOCAL",
43 Self::Write => "WRITE",
44 Self::WritePersistent => "WRITE_PERSISTENT",
45 Self::Debug => "DEBUG",
46 Self::Admin => "ADMIN",
47 Self::Setup => "SETUP",
48 Self::SetSku => "SET_SKU",
49 Self::Refresh => "REFRESH",
50 Self::Fuse => "FUSE",
51 Self::Reset => "RESET",
52 Self::Test => "TEST",
53 Self::Ssh => "SSH",
54 Self::Guest => "GUEST",
55 }
56 }
57 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
59 match value {
60 "READ" => Some(Self::Read),
61 "READ_INTERNAL" => Some(Self::ReadInternal),
62 "READ_PRIVATE" => Some(Self::ReadPrivate),
63 "LOCAL" => Some(Self::Local),
64 "WRITE" => Some(Self::Write),
65 "WRITE_PERSISTENT" => Some(Self::WritePersistent),
66 "DEBUG" => Some(Self::Debug),
67 "ADMIN" => Some(Self::Admin),
68 "SETUP" => Some(Self::Setup),
69 "SET_SKU" => Some(Self::SetSku),
70 "REFRESH" => Some(Self::Refresh),
71 "FUSE" => Some(Self::Fuse),
72 "RESET" => Some(Self::Reset),
73 "TEST" => Some(Self::Test),
74 "SSH" => Some(Self::Ssh),
75 "GUEST" => Some(Self::Guest),
76 _ => None,
77 }
78 }
79}
80#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
81#[repr(i32)]
82pub enum User {
83 NoUser = 0,
84 God = 1,
85 Lan = 2,
86 Cloud = 3,
87 Factory = 4,
88 Router = 5,
89 GuestLan = 6,
90 SensitiveCommanding = 7,
91 LanTls = 8,
92}
93impl User {
94 pub fn as_str_name(&self) -> &'static str {
99 match self {
100 Self::NoUser => "NO_USER",
101 Self::God => "GOD",
102 Self::Lan => "LAN",
103 Self::Cloud => "CLOUD",
104 Self::Factory => "FACTORY",
105 Self::Router => "ROUTER",
106 Self::GuestLan => "GUEST_LAN",
107 Self::SensitiveCommanding => "SENSITIVE_COMMANDING",
108 Self::LanTls => "LAN_TLS",
109 }
110 }
111 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
113 match value {
114 "NO_USER" => Some(Self::NoUser),
115 "GOD" => Some(Self::God),
116 "LAN" => Some(Self::Lan),
117 "CLOUD" => Some(Self::Cloud),
118 "FACTORY" => Some(Self::Factory),
119 "ROUTER" => Some(Self::Router),
120 "GUEST_LAN" => Some(Self::GuestLan),
121 "SENSITIVE_COMMANDING" => Some(Self::SensitiveCommanding),
122 "LAN_TLS" => Some(Self::LanTls),
123 _ => None,
124 }
125 }
126}
127#[derive(Clone, PartialEq, ::prost::Message)]
128pub struct DeviceInfo {
129 #[prost(string, tag = "1")]
130 pub id: ::prost::alloc::string::String,
131 #[prost(string, tag = "2")]
132 pub hardware_version: ::prost::alloc::string::String,
133 #[prost(int32, tag = "14")]
134 pub board_rev: i32,
135 #[prost(string, tag = "3")]
136 pub software_version: ::prost::alloc::string::String,
137 #[prost(string, tag = "11")]
138 pub manufactured_version: ::prost::alloc::string::String,
139 #[prost(int64, tag = "12")]
140 pub generation_number: i64,
141 #[prost(string, tag = "4")]
142 pub country_code: ::prost::alloc::string::String,
143 #[prost(int32, tag = "5")]
144 pub utc_offset_s: i32,
145 #[prost(bool, tag = "6")]
146 pub software_partitions_equal: bool,
147 #[prost(bool, tag = "7")]
148 pub is_dev: bool,
149 #[prost(int32, tag = "8")]
150 pub bootcount: i32,
151 #[prost(int32, tag = "9")]
152 pub anti_rollback_version: i32,
153 #[prost(bool, tag = "10")]
154 pub is_hitl: bool,
155 #[prost(message, optional, tag = "1001")]
156 pub boot: ::core::option::Option<BootInfo>,
157 #[prost(bool, tag = "13")]
158 pub dish_cohoused: bool,
159 #[prost(string, tag = "15")]
160 pub build_id: ::prost::alloc::string::String,
161}
162#[derive(Clone, Copy, PartialEq, ::prost::Message)]
163pub struct DeviceState {
164 #[prost(uint64, tag = "1")]
165 pub uptime_s: u64,
166}
167#[derive(Clone, PartialEq, ::prost::Message)]
168pub struct SignedData {
169 #[prost(bytes = "vec", tag = "1")]
170 pub data: ::prost::alloc::vec::Vec<u8>,
171 #[prost(bytes = "vec", tag = "2")]
172 pub signature: ::prost::alloc::vec::Vec<u8>,
173}
174#[derive(Clone, Copy, PartialEq, ::prost::Message)]
175pub struct GetNextIdRequest {}
176#[derive(Clone, Copy, PartialEq, ::prost::Message)]
177pub struct GetNextIdResponse {
178 #[prost(uint64, tag = "1")]
179 pub id: u64,
180 #[prost(uint64, tag = "2")]
181 pub epoch_id: u64,
182}
183#[derive(Clone, PartialEq, ::prost::Message)]
184pub struct BootInfo {
185 #[prost(map = "int32, int32", tag = "1")]
186 pub count_by_reason: ::std::collections::HashMap<i32, i32>,
187 #[prost(map = "int32, int32", tag = "4")]
188 pub count_by_reason_delta: ::std::collections::HashMap<i32, i32>,
189 #[prost(enumeration = "BootReason", tag = "2")]
190 pub last_reason: i32,
191 #[prost(int32, tag = "3")]
192 pub last_count: i32,
193 #[prost(bool, tag = "5")]
194 pub crash_boot: bool,
195 #[prost(int32, tag = "6")]
196 pub crash_boot_count: i32,
197 #[prost(string, tag = "7")]
198 pub even_side_software_version: ::prost::alloc::string::String,
199 #[prost(string, tag = "8")]
200 pub odd_side_software_version: ::prost::alloc::string::String,
201 #[prost(int32, tag = "9")]
202 pub api_version_odd_side: i32,
203 #[prost(int32, tag = "10")]
204 pub api_version_even_side: i32,
205}
206#[derive(Clone, PartialEq, ::prost::Message)]
207pub struct PingTarget {
208 #[prost(string, tag = "1")]
209 pub service: ::prost::alloc::string::String,
210 #[prost(string, tag = "2")]
211 pub location: ::prost::alloc::string::String,
212 #[prost(string, tag = "3")]
213 pub address: ::prost::alloc::string::String,
214}
215#[derive(Clone, PartialEq, ::prost::Message)]
216pub struct PingResult {
217 #[prost(message, optional, tag = "3")]
218 pub target: ::core::option::Option<PingTarget>,
219 #[prost(float, tag = "1")]
220 pub drop_rate: f32,
221 #[prost(float, tag = "2")]
222 pub latency_ms: f32,
223}
224#[derive(Clone, PartialEq, ::prost::Message)]
225pub struct BondingChallenge {
226 #[prost(string, tag = "1")]
227 pub dish_id: ::prost::alloc::string::String,
228 #[prost(string, tag = "2")]
229 pub wifi_id: ::prost::alloc::string::String,
230 #[prost(bytes = "vec", tag = "3")]
231 pub nonce: ::prost::alloc::vec::Vec<u8>,
232}
233#[derive(Clone, PartialEq, ::prost::Message)]
234pub struct AuthenticateRequest {
235 #[prost(message, optional, tag = "1")]
236 pub challenge: ::core::option::Option<SignedData>,
237}
238#[derive(Clone, PartialEq, ::prost::Message)]
239pub struct ChallengeResponse {
240 #[prost(bytes = "vec", tag = "1")]
241 pub signature: ::prost::alloc::vec::Vec<u8>,
242 #[prost(bytes = "vec", tag = "2")]
243 pub certificate_chain: ::prost::alloc::vec::Vec<u8>,
244}
245#[derive(Clone, PartialEq, ::prost::Message)]
246pub struct NetworkInterface {
247 #[prost(string, tag = "1")]
248 pub name: ::prost::alloc::string::String,
249 #[prost(bool, tag = "4")]
250 pub up: bool,
251 #[prost(string, tag = "5")]
252 pub mac_address: ::prost::alloc::string::String,
253 #[prost(string, repeated, tag = "6")]
254 pub ipv4_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
255 #[prost(string, repeated, tag = "7")]
256 pub ipv6_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
257 #[prost(message, optional, tag = "2")]
258 pub rx_stats: ::core::option::Option<network_interface::RxStats>,
259 #[prost(message, optional, tag = "3")]
260 pub tx_stats: ::core::option::Option<network_interface::TxStats>,
261 #[prost(oneof = "network_interface::Interface", tags = "1000, 1001, 1002")]
262 pub interface: ::core::option::Option<network_interface::Interface>,
263}
264pub mod network_interface {
266 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
267 pub struct RxStats {
268 #[prost(uint64, tag = "1")]
269 pub bytes: u64,
270 #[prost(uint64, tag = "2")]
271 pub packets: u64,
272 #[prost(uint64, tag = "3")]
273 pub frame_errors: u64,
274 }
275 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
276 pub struct TxStats {
277 #[prost(uint64, tag = "1")]
278 pub bytes: u64,
279 #[prost(uint64, tag = "2")]
280 pub packets: u64,
281 }
282 #[derive(Clone, PartialEq, ::prost::Oneof)]
283 pub enum Interface {
284 #[prost(message, tag = "1000")]
285 Ethernet(super::EthernetNetworkInterface),
286 #[prost(message, tag = "1001")]
287 Wifi(super::WifiNetworkInterface),
288 #[prost(message, tag = "1002")]
289 Bridge(super::BridgeNetworkInterface),
290 }
291}
292#[derive(Clone, Copy, PartialEq, ::prost::Message)]
293pub struct EthernetNetworkInterface {
294 #[prost(bool, tag = "1")]
295 pub link_detected: bool,
296 #[prost(uint32, tag = "2")]
297 pub speed_mbps: u32,
298 #[prost(bool, tag = "3")]
299 pub autonegotiation_on: bool,
300 #[prost(enumeration = "ethernet_network_interface::Duplex", tag = "4")]
301 pub duplex: i32,
302}
303pub mod ethernet_network_interface {
305 #[derive(
306 Clone,
307 Copy,
308 Debug,
309 PartialEq,
310 Eq,
311 Hash,
312 PartialOrd,
313 Ord,
314 ::prost::Enumeration
315 )]
316 #[repr(i32)]
317 pub enum Duplex {
318 Unknown = 0,
319 Half = 1,
320 Full = 2,
321 }
322 impl Duplex {
323 pub fn as_str_name(&self) -> &'static str {
328 match self {
329 Self::Unknown => "UNKNOWN",
330 Self::Half => "HALF",
331 Self::Full => "FULL",
332 }
333 }
334 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
336 match value {
337 "UNKNOWN" => Some(Self::Unknown),
338 "HALF" => Some(Self::Half),
339 "FULL" => Some(Self::Full),
340 _ => None,
341 }
342 }
343 }
344}
345#[derive(Clone, Copy, PartialEq, ::prost::Message)]
346pub struct WifiNetworkInterface {
347 #[prost(message, optional, tag = "2")]
348 pub invalid_packet_counts: ::core::option::Option<
349 wifi_network_interface::InvalidPacketCounts,
350 >,
351 #[prost(uint32, tag = "3")]
352 pub channel: u32,
353 #[prost(uint32, tag = "8")]
354 pub missed_beacons: u32,
355 #[prost(double, tag = "4")]
356 pub link_quality: f64,
357 #[prost(double, tag = "5")]
358 pub signal_level: f64,
359 #[prost(double, tag = "6")]
360 pub noise_level: f64,
361}
362pub mod wifi_network_interface {
364 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
365 pub struct InvalidPacketCounts {
366 #[prost(uint32, tag = "1")]
367 pub rx_invalid_nwid: u32,
368 #[prost(uint32, tag = "2")]
369 pub rx_invalid_crypt: u32,
370 #[prost(uint32, tag = "3")]
371 pub rx_invalid_frag: u32,
372 #[prost(uint32, tag = "4")]
373 pub tx_excessive_retries: u32,
374 #[prost(uint32, tag = "5")]
375 pub invalid_misc: u32,
376 }
377}
378#[derive(Clone, PartialEq, ::prost::Message)]
379pub struct BridgeNetworkInterface {
380 #[prost(string, repeated, tag = "1")]
381 pub member_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
382}
383#[derive(Clone, Copy, PartialEq, ::prost::Message)]
384pub struct LlaPosition {
385 #[prost(double, tag = "1")]
386 pub lat: f64,
387 #[prost(double, tag = "2")]
388 pub lon: f64,
389 #[prost(double, tag = "3")]
390 pub alt: f64,
391}
392#[derive(Clone, Copy, PartialEq, ::prost::Message)]
393pub struct EcefPosition {
394 #[prost(double, tag = "1")]
395 pub x: f64,
396 #[prost(double, tag = "2")]
397 pub y: f64,
398 #[prost(double, tag = "3")]
399 pub z: f64,
400}
401#[derive(Clone, Copy, PartialEq, ::prost::Message)]
402pub struct InitiateRemoteSshRequest {}
403#[derive(Clone, PartialEq, ::prost::Message)]
404pub struct InitiateRemoteSshResponse {
405 #[prost(uint32, tag = "1")]
406 pub port: u32,
407 #[prost(string, tag = "2")]
408 pub address: ::prost::alloc::string::String,
409 #[prost(bytes = "vec", tag = "3")]
410 pub stsafe: ::prost::alloc::vec::Vec<u8>,
411}
412#[derive(Clone, PartialEq, ::prost::Message)]
413pub struct SoftwareUpdateRequest {
414 #[prost(uint64, tag = "1")]
415 pub stream_id: u64,
416 #[prost(bytes = "vec", tag = "2")]
417 pub data: ::prost::alloc::vec::Vec<u8>,
418 #[prost(bool, tag = "3")]
419 pub open: bool,
420 #[prost(bool, tag = "4")]
421 pub close: bool,
422}
423#[derive(Clone, Copy, PartialEq, ::prost::Message)]
424pub struct SoftwareUpdateResponse {}
425#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
426#[repr(i32)]
427pub enum BootReason {
428 Unknown = 0,
429 Forgotten = 1,
430 PowerCycle = 2,
431 Command = 3,
432 SoftwareUpdate = 4,
433 ConfigUpdate = 5,
434 UptimeFdir = 6,
435 RepeaterFdir = 7,
436 AviationEthWanFdir = 8,
437 KernelPanic = 9,
438 IntentionalKernelPanic = 14,
439 McuBringupFailedFdir = 11,
440 AviationOutageFdir = 12,
441 SoftwareWatchdog = 13,
442 HardwareWatchdog = 15,
443}
444impl BootReason {
445 pub fn as_str_name(&self) -> &'static str {
450 match self {
451 Self::Unknown => "BOOT_REASON_UNKNOWN",
452 Self::Forgotten => "FORGOTTEN",
453 Self::PowerCycle => "POWER_CYCLE",
454 Self::Command => "COMMAND",
455 Self::SoftwareUpdate => "SOFTWARE_UPDATE",
456 Self::ConfigUpdate => "CONFIG_UPDATE",
457 Self::UptimeFdir => "UPTIME_FDIR",
458 Self::RepeaterFdir => "REPEATER_FDIR",
459 Self::AviationEthWanFdir => "AVIATION_ETH_WAN_FDIR",
460 Self::KernelPanic => "KERNEL_PANIC",
461 Self::IntentionalKernelPanic => "INTENTIONAL_KERNEL_PANIC",
462 Self::McuBringupFailedFdir => "MCU_BRINGUP_FAILED_FDIR",
463 Self::AviationOutageFdir => "AVIATION_OUTAGE_FDIR",
464 Self::SoftwareWatchdog => "SOFTWARE_WATCHDOG",
465 Self::HardwareWatchdog => "HARDWARE_WATCHDOG",
466 }
467 }
468 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
470 match value {
471 "BOOT_REASON_UNKNOWN" => Some(Self::Unknown),
472 "FORGOTTEN" => Some(Self::Forgotten),
473 "POWER_CYCLE" => Some(Self::PowerCycle),
474 "COMMAND" => Some(Self::Command),
475 "SOFTWARE_UPDATE" => Some(Self::SoftwareUpdate),
476 "CONFIG_UPDATE" => Some(Self::ConfigUpdate),
477 "UPTIME_FDIR" => Some(Self::UptimeFdir),
478 "REPEATER_FDIR" => Some(Self::RepeaterFdir),
479 "AVIATION_ETH_WAN_FDIR" => Some(Self::AviationEthWanFdir),
480 "KERNEL_PANIC" => Some(Self::KernelPanic),
481 "INTENTIONAL_KERNEL_PANIC" => Some(Self::IntentionalKernelPanic),
482 "MCU_BRINGUP_FAILED_FDIR" => Some(Self::McuBringupFailedFdir),
483 "AVIATION_OUTAGE_FDIR" => Some(Self::AviationOutageFdir),
484 "SOFTWARE_WATCHDOG" => Some(Self::SoftwareWatchdog),
485 "HARDWARE_WATCHDOG" => Some(Self::HardwareWatchdog),
486 _ => None,
487 }
488 }
489}
490#[derive(Clone, Copy, PartialEq, ::prost::Message)]
491pub struct DishConfig {
492 #[prost(enumeration = "dish_config::SnowMeltMode", tag = "1")]
493 pub snow_melt_mode: i32,
494 #[prost(bool, tag = "1001")]
495 pub apply_snow_melt_mode: bool,
496 #[prost(enumeration = "dish_config::LocationRequestMode", tag = "2")]
497 pub location_request_mode: i32,
498 #[prost(bool, tag = "2001")]
499 pub apply_location_request_mode: bool,
500 #[prost(enumeration = "dish_config::LevelDishMode", tag = "3")]
501 pub level_dish_mode: i32,
502 #[prost(bool, tag = "3001")]
503 pub apply_level_dish_mode: bool,
504 #[prost(uint32, tag = "4")]
505 pub power_save_start_minutes: u32,
506 #[prost(bool, tag = "4001")]
507 pub apply_power_save_start_minutes: bool,
508 #[prost(uint32, tag = "5")]
509 pub power_save_duration_minutes: u32,
510 #[prost(bool, tag = "5001")]
511 pub apply_power_save_duration_minutes: bool,
512 #[prost(bool, tag = "6")]
513 pub power_save_mode: bool,
514 #[prost(bool, tag = "6001")]
515 pub apply_power_save_mode: bool,
516 #[prost(uint32, tag = "9")]
517 pub swupdate_reboot_hour: u32,
518 #[prost(bool, tag = "9001")]
519 pub apply_swupdate_reboot_hour: bool,
520 #[prost(bool, tag = "7")]
521 pub swupdate_three_day_deferral_enabled: bool,
522 #[prost(bool, tag = "7001")]
523 pub apply_swupdate_three_day_deferral_enabled: bool,
524 #[prost(uint32, tag = "8")]
525 pub asset_class: u32,
526 #[prost(bool, tag = "8001")]
527 pub apply_asset_class: bool,
528}
529pub mod dish_config {
531 #[derive(
532 Clone,
533 Copy,
534 Debug,
535 PartialEq,
536 Eq,
537 Hash,
538 PartialOrd,
539 Ord,
540 ::prost::Enumeration
541 )]
542 #[repr(i32)]
543 pub enum SnowMeltMode {
544 Auto = 0,
545 AlwaysOn = 1,
546 AlwaysOff = 2,
547 }
548 impl SnowMeltMode {
549 pub fn as_str_name(&self) -> &'static str {
554 match self {
555 Self::Auto => "AUTO",
556 Self::AlwaysOn => "ALWAYS_ON",
557 Self::AlwaysOff => "ALWAYS_OFF",
558 }
559 }
560 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
562 match value {
563 "AUTO" => Some(Self::Auto),
564 "ALWAYS_ON" => Some(Self::AlwaysOn),
565 "ALWAYS_OFF" => Some(Self::AlwaysOff),
566 _ => None,
567 }
568 }
569 }
570 #[derive(
571 Clone,
572 Copy,
573 Debug,
574 PartialEq,
575 Eq,
576 Hash,
577 PartialOrd,
578 Ord,
579 ::prost::Enumeration
580 )]
581 #[repr(i32)]
582 pub enum LocationRequestMode {
583 None = 0,
584 Local = 1,
585 }
586 impl LocationRequestMode {
587 pub fn as_str_name(&self) -> &'static str {
592 match self {
593 Self::None => "NONE",
594 Self::Local => "LOCAL",
595 }
596 }
597 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
599 match value {
600 "NONE" => Some(Self::None),
601 "LOCAL" => Some(Self::Local),
602 _ => None,
603 }
604 }
605 }
606 #[derive(
607 Clone,
608 Copy,
609 Debug,
610 PartialEq,
611 Eq,
612 Hash,
613 PartialOrd,
614 Ord,
615 ::prost::Enumeration
616 )]
617 #[repr(i32)]
618 pub enum LevelDishMode {
619 TiltLikeNormal = 0,
620 ForceLevel = 1,
621 }
622 impl LevelDishMode {
623 pub fn as_str_name(&self) -> &'static str {
628 match self {
629 Self::TiltLikeNormal => "TILT_LIKE_NORMAL",
630 Self::ForceLevel => "FORCE_LEVEL",
631 }
632 }
633 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
635 match value {
636 "TILT_LIKE_NORMAL" => Some(Self::TiltLikeNormal),
637 "FORCE_LEVEL" => Some(Self::ForceLevel),
638 _ => None,
639 }
640 }
641 }
642}
643#[derive(Clone, Copy, PartialEq, ::prost::Message)]
644pub struct RssiEntry {
645 #[prost(double, tag = "1")]
646 pub theta_degree: f64,
647 #[prost(double, tag = "2")]
648 pub phi_degree: f64,
649 #[prost(double, tag = "3")]
650 pub rssi_dbf: f64,
651 #[prost(uint64, tag = "4")]
652 pub scan_timestamp_ms: u64,
653}
654#[derive(Clone, Copy, PartialEq, ::prost::Message)]
655pub struct DishActivateRssiScan {
656 #[prost(uint32, tag = "1")]
657 pub channel: u32,
658}
659#[derive(Clone, PartialEq, ::prost::Message)]
660pub struct DishGetRssiScanResult {
661 #[prost(bool, tag = "1")]
662 pub success: bool,
663 #[prost(uint32, tag = "2")]
664 pub channel: u32,
665 #[prost(uint64, tag = "3")]
666 pub request_timestamp: u64,
667 #[prost(uint32, tag = "4")]
668 pub number_samples: u32,
669 #[prost(message, repeated, tag = "5")]
670 pub rssi_scan_points: ::prost::alloc::vec::Vec<RssiEntry>,
671}
672#[derive(Clone, Copy, PartialEq, ::prost::Message)]
673pub struct DishStowRequest {
674 #[prost(bool, tag = "1")]
675 pub unstow: bool,
676}
677#[derive(Clone, Copy, PartialEq, ::prost::Message)]
678pub struct DishStowResponse {}
679#[derive(Clone, Copy, PartialEq, ::prost::Message)]
680pub struct DishGetContextRequest {}
681#[derive(Clone, PartialEq, ::prost::Message)]
682pub struct DishGetContextResponse {
683 #[prost(message, optional, tag = "1")]
684 pub device_info: ::core::option::Option<DeviceInfo>,
685 #[prost(message, optional, tag = "7")]
686 pub device_state: ::core::option::Option<DeviceState>,
687 #[prost(float, tag = "2")]
688 pub obstruction_fraction: f32,
689 #[prost(float, tag = "20")]
690 pub obstruction_time: f32,
691 #[prost(float, tag = "3")]
692 pub obstruction_valid_s: f32,
693 #[prost(bool, tag = "12")]
694 pub obstruction_current: bool,
695 #[prost(uint32, tag = "4")]
696 pub cell_id: u32,
697 #[prost(uint32, tag = "5")]
698 pub pop_rack_id: u32,
699 #[prost(uint32, tag = "8")]
700 pub initial_satellite_id: u32,
701 #[prost(uint32, tag = "9")]
702 pub initial_gateway_id: u32,
703 #[prost(bool, tag = "10")]
704 pub on_backup_beam: bool,
705 #[prost(float, tag = "6")]
706 pub seconds_to_slot_end: f32,
707 #[prost(bool, tag = "11")]
708 pub debug_telemetry_enabled: bool,
709 #[prost(float, tag = "13")]
710 pub pop_ping_drop_rate_15s_mean: f32,
711 #[prost(float, tag = "14")]
712 pub pop_ping_latency_ms_15s_mean: f32,
713 #[prost(float, tag = "15")]
714 pub seconds_since_last_1s_outage: f32,
715 #[prost(float, tag = "16")]
716 pub seconds_since_last_2s_outage: f32,
717 #[prost(float, tag = "17")]
718 pub seconds_since_last_5s_outage: f32,
719 #[prost(float, tag = "18")]
720 pub seconds_since_last_15s_outage: f32,
721 #[prost(float, tag = "19")]
722 pub seconds_since_last_60s_outage: f32,
723 #[prost(bool, tag = "23")]
724 pub outage_1s_within_1h: bool,
725 #[prost(bool, tag = "24")]
726 pub outage_2s_within_1h: bool,
727 #[prost(bool, tag = "25")]
728 pub outage_5s_within_1h: bool,
729 #[prost(enumeration = "super::satellites::network::UtDisablementCode", tag = "21")]
730 pub disablement_code: i32,
731 #[prost(float, tag = "22")]
732 pub ku_mac_active_ratio: f32,
733}
734#[derive(Clone, Copy, PartialEq, ::prost::Message)]
735pub struct DishOutage {
736 #[prost(enumeration = "dish_outage::Cause", tag = "1")]
737 pub cause: i32,
738 #[prost(int64, tag = "2")]
739 pub start_timestamp_ns: i64,
740 #[prost(uint64, tag = "3")]
741 pub duration_ns: u64,
742 #[prost(bool, tag = "4")]
743 pub did_switch: bool,
744}
745pub mod dish_outage {
747 #[derive(
748 Clone,
749 Copy,
750 Debug,
751 PartialEq,
752 Eq,
753 Hash,
754 PartialOrd,
755 Ord,
756 ::prost::Enumeration
757 )]
758 #[repr(i32)]
759 pub enum Cause {
760 Unknown = 0,
761 Booting = 1,
762 Stowed = 2,
763 ThermalShutdown = 3,
764 NoSchedule = 4,
765 NoSats = 5,
766 Obstructed = 6,
767 NoDownlink = 7,
768 NoPings = 8,
769 ActuatorActivity = 9,
770 CableTest = 10,
771 Sleeping = 11,
772 MovingWhileNotAllowed = 12,
773 }
774 impl Cause {
775 pub fn as_str_name(&self) -> &'static str {
780 match self {
781 Self::Unknown => "UNKNOWN",
782 Self::Booting => "BOOTING",
783 Self::Stowed => "STOWED",
784 Self::ThermalShutdown => "THERMAL_SHUTDOWN",
785 Self::NoSchedule => "NO_SCHEDULE",
786 Self::NoSats => "NO_SATS",
787 Self::Obstructed => "OBSTRUCTED",
788 Self::NoDownlink => "NO_DOWNLINK",
789 Self::NoPings => "NO_PINGS",
790 Self::ActuatorActivity => "ACTUATOR_ACTIVITY",
791 Self::CableTest => "CABLE_TEST",
792 Self::Sleeping => "SLEEPING",
793 Self::MovingWhileNotAllowed => "MOVING_WHILE_NOT_ALLOWED",
794 }
795 }
796 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
798 match value {
799 "UNKNOWN" => Some(Self::Unknown),
800 "BOOTING" => Some(Self::Booting),
801 "STOWED" => Some(Self::Stowed),
802 "THERMAL_SHUTDOWN" => Some(Self::ThermalShutdown),
803 "NO_SCHEDULE" => Some(Self::NoSchedule),
804 "NO_SATS" => Some(Self::NoSats),
805 "OBSTRUCTED" => Some(Self::Obstructed),
806 "NO_DOWNLINK" => Some(Self::NoDownlink),
807 "NO_PINGS" => Some(Self::NoPings),
808 "ACTUATOR_ACTIVITY" => Some(Self::ActuatorActivity),
809 "CABLE_TEST" => Some(Self::CableTest),
810 "SLEEPING" => Some(Self::Sleeping),
811 "MOVING_WHILE_NOT_ALLOWED" => Some(Self::MovingWhileNotAllowed),
812 _ => None,
813 }
814 }
815 }
816}
817#[derive(Clone, PartialEq, ::prost::Message)]
818pub struct DishGetHistoryResponse {
819 #[prost(uint64, tag = "1")]
820 pub current: u64,
821 #[prost(float, repeated, tag = "1001")]
822 pub pop_ping_drop_rate: ::prost::alloc::vec::Vec<f32>,
823 #[prost(float, repeated, tag = "1002")]
824 pub pop_ping_latency_ms: ::prost::alloc::vec::Vec<f32>,
825 #[prost(float, repeated, tag = "1003")]
826 pub downlink_throughput_bps: ::prost::alloc::vec::Vec<f32>,
827 #[prost(float, repeated, tag = "1004")]
828 pub uplink_throughput_bps: ::prost::alloc::vec::Vec<f32>,
829 #[prost(message, repeated, tag = "1009")]
830 pub outages: ::prost::alloc::vec::Vec<DishOutage>,
831 #[prost(float, repeated, tag = "1010")]
832 pub power_in: ::prost::alloc::vec::Vec<f32>,
833}
834#[derive(Clone, PartialEq, ::prost::Message)]
835pub struct DishGetStatusResponse {
836 #[prost(message, optional, tag = "1")]
837 pub device_info: ::core::option::Option<DeviceInfo>,
838 #[prost(message, optional, tag = "2")]
839 pub device_state: ::core::option::Option<DeviceState>,
840 #[prost(message, optional, tag = "1005")]
841 pub alerts: ::core::option::Option<DishAlerts>,
842 #[prost(message, optional, tag = "1014")]
843 pub outage: ::core::option::Option<DishOutage>,
844 #[prost(message, optional, tag = "1015")]
845 pub gps_stats: ::core::option::Option<DishGpsStats>,
846 #[prost(float, tag = "1002")]
847 pub seconds_to_first_nonempty_slot: f32,
848 #[prost(float, tag = "1003")]
849 pub pop_ping_drop_rate: f32,
850 #[prost(float, tag = "1007")]
851 pub downlink_throughput_bps: f32,
852 #[prost(float, tag = "1008")]
853 pub uplink_throughput_bps: f32,
854 #[prost(float, tag = "1009")]
855 pub pop_ping_latency_ms: f32,
856 #[prost(message, optional, tag = "1004")]
857 pub obstruction_stats: ::core::option::Option<DishObstructionStats>,
858 #[prost(bool, tag = "1010")]
859 pub stow_requested: bool,
860 #[prost(float, tag = "1011")]
861 pub boresight_azimuth_deg: f32,
862 #[prost(float, tag = "1012")]
863 pub boresight_elevation_deg: f32,
864 #[prost(int32, tag = "1016")]
865 pub eth_speed_mbps: i32,
866 #[prost(enumeration = "UserMobilityClass", tag = "1017")]
867 pub mobility_class: i32,
868 #[prost(bool, tag = "1018")]
869 pub is_snr_above_noise_floor: bool,
870 #[prost(message, optional, tag = "1019")]
871 pub ready_states: ::core::option::Option<DishReadyStates>,
872 #[prost(enumeration = "UserClassOfService", tag = "1020")]
873 pub class_of_service: i32,
874 #[prost(enumeration = "SoftwareUpdateState", tag = "1021")]
875 pub software_update_state: i32,
876 #[prost(bool, tag = "1030")]
877 pub swupdate_reboot_ready: bool,
878 #[prost(enumeration = "RebootReason", tag = "1032")]
879 pub reboot_reason: i32,
880 #[prost(message, optional, tag = "1026")]
881 pub software_update_stats: ::core::option::Option<SoftwareUpdateStats>,
882 #[prost(message, optional, tag = "1027")]
883 pub alignment_stats: ::core::option::Option<AlignmentStats>,
884 #[prost(bool, tag = "1022")]
885 pub is_snr_persistently_low: bool,
886 #[prost(enumeration = "HasActuators", tag = "1023")]
887 pub has_actuators: i32,
888 #[prost(enumeration = "super::satellites::network::UtDisablementCode", tag = "1024")]
889 pub disablement_code: i32,
890 #[prost(
891 enumeration = "super::telemetron::public::integrations::RateLimitReason",
892 tag = "1044"
893 )]
894 pub dl_bandwidth_restricted_reason: i32,
895 #[prost(
896 enumeration = "super::telemetron::public::integrations::RateLimitReason",
897 tag = "1045"
898 )]
899 pub ul_bandwidth_restricted_reason: i32,
900 #[prost(bool, tag = "1025")]
901 pub has_signed_cals: bool,
902 #[prost(message, optional, tag = "2000")]
903 pub config: ::core::option::Option<DishConfig>,
904 #[prost(message, optional, tag = "1028")]
905 pub initialization_duration_seconds: ::core::option::Option<
906 InitializationDurationSeconds,
907 >,
908 #[prost(bool, tag = "1029")]
909 pub is_cell_disabled: bool,
910 #[prost(int32, tag = "1031")]
911 pub seconds_until_swupdate_reboot_possible: i32,
912 #[prost(bool, tag = "1033")]
913 pub high_power_test_mode: bool,
914 #[prost(string, repeated, tag = "1040")]
915 pub connected_routers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
916 #[prost(message, optional, tag = "1041")]
917 pub plc_stats: ::core::option::Option<PlcStats>,
918 #[prost(bool, tag = "1042")]
919 pub is_moving_fast_persisted: bool,
920 #[prost(message, optional, tag = "1043")]
921 pub upsu_stats: ::core::option::Option<DishUpsuStats>,
922 #[prost(message, optional, tag = "1048")]
923 pub aps_stats: ::core::option::Option<DishApsStats>,
924}
925#[derive(Clone, Copy, PartialEq, ::prost::Message)]
926pub struct DishGetObstructionMapRequest {}
927#[derive(Clone, PartialEq, ::prost::Message)]
928pub struct DishGetObstructionMapResponse {
929 #[prost(uint32, tag = "1")]
930 pub num_rows: u32,
931 #[prost(uint32, tag = "2")]
932 pub num_cols: u32,
933 #[prost(float, repeated, tag = "3")]
934 pub snr: ::prost::alloc::vec::Vec<f32>,
935 #[deprecated]
936 #[prost(float, tag = "4")]
937 pub min_elevation_deg: f32,
938 #[prost(float, tag = "5")]
939 pub max_theta_deg: f32,
940 #[prost(enumeration = "ObstructionMapReferenceFrame", tag = "6")]
941 pub map_reference_frame: i32,
942}
943#[derive(Clone, Copy, PartialEq, ::prost::Message)]
944pub struct DishAlerts {
945 #[prost(bool, tag = "1")]
946 pub motors_stuck: bool,
947 #[prost(bool, tag = "3")]
948 pub thermal_throttle: bool,
949 #[prost(bool, tag = "2")]
950 pub thermal_shutdown: bool,
951 #[prost(bool, tag = "5")]
952 pub mast_not_near_vertical: bool,
953 #[prost(bool, tag = "4")]
954 pub unexpected_location: bool,
955 #[prost(bool, tag = "6")]
956 pub slow_ethernet_speeds: bool,
957 #[prost(bool, tag = "18")]
958 pub slow_ethernet_speeds_100: bool,
959 #[prost(bool, tag = "7")]
960 pub roaming: bool,
961 #[prost(bool, tag = "8")]
962 pub install_pending: bool,
963 #[prost(bool, tag = "9")]
964 pub is_heating: bool,
965 #[prost(bool, tag = "10")]
966 pub power_supply_thermal_throttle: bool,
967 #[prost(bool, tag = "11")]
968 pub is_power_save_idle: bool,
969 #[prost(bool, tag = "12")]
970 pub moving_while_not_mobile: bool,
971 #[prost(bool, tag = "15")]
972 pub moving_too_fast_for_policy: bool,
973 #[prost(bool, tag = "14")]
974 pub dbf_telem_stale: bool,
975 #[prost(bool, tag = "16")]
976 pub low_motor_current: bool,
977 #[prost(bool, tag = "17")]
978 pub lower_signal_than_predicted: bool,
979 #[prost(bool, tag = "19")]
980 pub obstruction_map_reset: bool,
981}
982#[derive(Clone, Copy, PartialEq, ::prost::Message)]
983pub struct DishReadyStates {
984 #[prost(bool, tag = "1")]
985 pub cady: bool,
986 #[prost(bool, tag = "2")]
987 pub scp: bool,
988 #[prost(bool, tag = "3")]
989 pub l1l2: bool,
990 #[prost(bool, tag = "4")]
991 pub xphy: bool,
992 #[prost(bool, tag = "5")]
993 pub aap: bool,
994 #[prost(bool, tag = "6")]
995 pub rf: bool,
996}
997#[derive(Clone, Copy, PartialEq, ::prost::Message)]
998pub struct DishGpsStats {
999 #[prost(bool, tag = "1")]
1000 pub gps_valid: bool,
1001 #[prost(uint32, tag = "2")]
1002 pub gps_sats: u32,
1003 #[prost(bool, tag = "3")]
1004 pub no_sats_after_ttff: bool,
1005 #[prost(bool, tag = "4")]
1006 pub inhibit_gps: bool,
1007}
1008#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1009pub struct SoftwareUpdateStats {
1010 #[prost(enumeration = "SoftwareUpdateState", tag = "1")]
1011 pub software_update_state: i32,
1012 #[prost(float, tag = "2")]
1013 pub software_update_progress: f32,
1014 #[prost(bool, tag = "3")]
1015 pub update_requires_reboot: bool,
1016 #[prost(int64, tag = "4")]
1017 pub reboot_scheduled_utc_time: i64,
1018}
1019#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1020pub struct AlignmentStats {
1021 #[prost(enumeration = "HasActuators", tag = "1")]
1022 pub has_actuators: i32,
1023 #[prost(enumeration = "ActuatorState", tag = "2")]
1024 pub actuator_state: i32,
1025 #[prost(float, tag = "3")]
1026 pub tilt_angle_deg: f32,
1027 #[prost(float, tag = "4")]
1028 pub boresight_azimuth_deg: f32,
1029 #[prost(float, tag = "5")]
1030 pub boresight_elevation_deg: f32,
1031 #[prost(float, tag = "8")]
1032 pub desired_boresight_azimuth_deg: f32,
1033 #[prost(float, tag = "9")]
1034 pub desired_boresight_elevation_deg: f32,
1035 #[prost(enumeration = "AttitudeEstimationState", tag = "6")]
1036 pub attitude_estimation_state: i32,
1037 #[prost(float, tag = "7")]
1038 pub attitude_uncertainty_deg: f32,
1039}
1040#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1041pub struct DishObstructionStats {
1042 #[prost(bool, tag = "5")]
1043 pub currently_obstructed: bool,
1044 #[prost(float, tag = "1")]
1045 pub fraction_obstructed: f32,
1046 #[prost(float, tag = "9")]
1047 pub time_obstructed: f32,
1048 #[prost(float, tag = "4")]
1049 pub valid_s: f32,
1050 #[prost(uint32, tag = "10")]
1051 pub patches_valid: u32,
1052 #[prost(float, tag = "6")]
1053 pub avg_prolonged_obstruction_duration_s: f32,
1054 #[prost(float, tag = "7")]
1055 pub avg_prolonged_obstruction_interval_s: f32,
1056 #[prost(bool, tag = "8")]
1057 pub avg_prolonged_obstruction_valid: bool,
1058}
1059#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1060pub struct DishUpsuStats {
1061 #[prost(uint64, tag = "2")]
1062 pub app_version: u64,
1063 #[prost(uint64, tag = "3")]
1064 pub boot_version: u64,
1065 #[prost(uint64, tag = "4")]
1066 pub rom_version: u64,
1067 #[prost(int64, tag = "5")]
1068 pub uptime: i64,
1069 #[prost(float, tag = "6")]
1070 pub dish_power: f32,
1071 #[prost(float, tag = "7")]
1072 pub router_power: f32,
1073 #[prost(bool, tag = "8")]
1074 pub force_dev_signed_allowed: bool,
1075 #[prost(bool, tag = "9")]
1076 pub debug_port_locked: bool,
1077 #[prost(bool, tag = "10")]
1078 pub stsafe_certs_locked: bool,
1079 #[prost(bool, tag = "11")]
1080 pub stsafe_keys_locked: bool,
1081 #[prost(uint32, tag = "12")]
1082 pub g0_locked: u32,
1083 #[prost(uint32, tag = "13")]
1084 pub g0_firmware_version: u32,
1085 #[prost(int32, tag = "14")]
1086 pub board_rev: i32,
1087 #[prost(uint32, tag = "15")]
1088 pub g0_board_id: u32,
1089}
1090#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1091pub struct DishApsStats {
1092 #[prost(uint64, tag = "2")]
1093 pub app_version: u64,
1094 #[prost(uint64, tag = "3")]
1095 pub boot_version: u64,
1096 #[prost(uint64, tag = "4")]
1097 pub rom_version: u64,
1098 #[prost(int64, tag = "5")]
1099 pub uptime: i64,
1100 #[prost(float, tag = "6")]
1101 pub dish_power: f32,
1102 #[prost(bool, tag = "7")]
1103 pub force_dev_signed_allowed: bool,
1104 #[prost(bool, tag = "8")]
1105 pub debug_port_locked: bool,
1106 #[prost(int32, tag = "9")]
1107 pub board_rev: i32,
1108}
1109#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1110pub struct InitializationDurationSeconds {
1111 #[prost(int32, tag = "1")]
1112 pub attitude_initialization: i32,
1113 #[prost(int32, tag = "2")]
1114 pub burst_detected: i32,
1115 #[prost(int32, tag = "3")]
1116 pub ekf_converged: i32,
1117 #[prost(int32, tag = "4")]
1118 pub first_cplane: i32,
1119 #[prost(int32, tag = "5")]
1120 pub first_pop_ping: i32,
1121 #[prost(int32, tag = "6")]
1122 pub gps_valid: i32,
1123 #[prost(int32, tag = "7")]
1124 pub initial_network_entry: i32,
1125 #[prost(int32, tag = "8")]
1126 pub network_schedule: i32,
1127 #[prost(int32, tag = "9")]
1128 pub rf_ready: i32,
1129 #[prost(int32, tag = "10")]
1130 pub stable_connection: i32,
1131}
1132#[derive(Clone, PartialEq, ::prost::Message)]
1133pub struct DishAuthenticateResponse {
1134 #[prost(message, optional, tag = "2")]
1135 pub dish: ::core::option::Option<ChallengeResponse>,
1136}
1137#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1138pub struct SelfTestRequest {
1139 #[prost(bool, tag = "1")]
1140 pub detailed: bool,
1141}
1142#[derive(Clone, PartialEq, ::prost::Message)]
1143pub struct SelfTestResponse {
1144 #[prost(bool, tag = "1")]
1145 pub passed: bool,
1146 #[prost(string, tag = "2")]
1147 pub report: ::prost::alloc::string::String,
1148}
1149#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1150pub struct SetTestModeRequest {
1151 #[prost(enumeration = "set_test_mode_request::RfMode", tag = "1")]
1152 pub rf_mode: i32,
1153 #[prost(bool, tag = "1001")]
1154 pub disable_loss_of_comm_fdir: bool,
1155 #[prost(bool, tag = "1002")]
1156 pub enable_rules_override: bool,
1157}
1158pub mod set_test_mode_request {
1160 #[derive(
1161 Clone,
1162 Copy,
1163 Debug,
1164 PartialEq,
1165 Eq,
1166 Hash,
1167 PartialOrd,
1168 Ord,
1169 ::prost::Enumeration
1170 )]
1171 #[repr(i32)]
1172 pub enum RfMode {
1173 Rx = 0,
1174 Idle = 1,
1175 Tx = 2,
1176 Cal = 3,
1177 User = 4,
1178 Normal = 420,
1179 }
1180 impl RfMode {
1181 pub fn as_str_name(&self) -> &'static str {
1186 match self {
1187 Self::Rx => "RX",
1188 Self::Idle => "IDLE",
1189 Self::Tx => "TX",
1190 Self::Cal => "CAL",
1191 Self::User => "USER",
1192 Self::Normal => "NORMAL",
1193 }
1194 }
1195 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1197 match value {
1198 "RX" => Some(Self::Rx),
1199 "IDLE" => Some(Self::Idle),
1200 "TX" => Some(Self::Tx),
1201 "CAL" => Some(Self::Cal),
1202 "USER" => Some(Self::User),
1203 "NORMAL" => Some(Self::Normal),
1204 _ => None,
1205 }
1206 }
1207 }
1208}
1209#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1210pub struct SetTestModeResponse {}
1211#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1212pub struct DishSetConfigRequest {
1213 #[prost(message, optional, tag = "1")]
1214 pub dish_config: ::core::option::Option<DishConfig>,
1215}
1216#[derive(Clone, PartialEq, ::prost::Message)]
1217pub struct DishSetConfigResponse {
1218 #[prost(message, optional, tag = "1")]
1219 pub updated_dish_config: ::core::option::Option<DishConfig>,
1220 #[prost(string, tag = "2")]
1221 pub error: ::prost::alloc::string::String,
1222}
1223#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1224pub struct DishGetConfigRequest {}
1225#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1226pub struct DishGetConfigResponse {
1227 #[prost(message, optional, tag = "1")]
1228 pub dish_config: ::core::option::Option<DishConfig>,
1229}
1230#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1231pub struct DishInhibitGpsRequest {
1232 #[prost(bool, tag = "1")]
1233 pub inhibit_gps: bool,
1234}
1235#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1236pub struct DishInhibitGpsResponse {
1237 #[prost(bool, tag = "1")]
1238 pub inhibit_gps: bool,
1239}
1240#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1241pub struct DishGetDataRequest {
1242 #[prost(uint32, tag = "1")]
1243 pub id: u32,
1244}
1245#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1246pub struct DishClearObstructionMapRequest {}
1247#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1248pub struct DishClearObstructionMapResponse {}
1249#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1250pub struct DishActivateRssiScanRequest {
1251 #[prost(message, optional, tag = "1")]
1252 pub scan_query: ::core::option::Option<DishActivateRssiScan>,
1253}
1254#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1255pub struct DishActivateRssiScanResponse {
1256 #[prost(bool, tag = "1")]
1257 pub success: bool,
1258}
1259#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1260pub struct DishGetRssiScanResultRequest {}
1261#[derive(Clone, PartialEq, ::prost::Message)]
1262pub struct DishGetRssiScanResultResponse {
1263 #[prost(message, optional, tag = "1")]
1264 pub result: ::core::option::Option<DishGetRssiScanResult>,
1265}
1266#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1267pub struct DishFactoryResetRequest {
1268 #[prost(bool, tag = "1")]
1269 pub app_reset: bool,
1270}
1271#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1272pub struct DishFactoryResetResponse {}
1273#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1274pub struct ResetButtonRequest {
1275 #[prost(bool, tag = "1")]
1276 pub pressed: bool,
1277}
1278#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1279pub struct ResetButtonResponse {}
1280#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1281pub struct PlcStats {
1282 #[prost(bool, tag = "1")]
1283 pub receiving_plc: bool,
1284 #[prost(uint32, tag = "2")]
1285 pub average_time_to_empty: u32,
1286 #[prost(uint32, tag = "3")]
1287 pub average_time_to_full: u32,
1288 #[prost(uint32, tag = "4")]
1289 pub battery_health: u32,
1290 #[prost(uint32, tag = "5")]
1291 pub hardware_revision_id: u32,
1292 #[prost(bool, tag = "6")]
1293 pub permanent_failure: bool,
1294 #[prost(message, optional, tag = "7")]
1295 pub port_1_stats: ::core::option::Option<PlcPortStats>,
1296 #[prost(message, optional, tag = "8")]
1297 pub port_2_stats: ::core::option::Option<PlcPortStats>,
1298 #[prost(message, optional, tag = "9")]
1299 pub port_3_stats: ::core::option::Option<PlcPortStats>,
1300 #[prost(enumeration = "plc_stats::ProtocolRevision", tag = "10")]
1301 pub plc_revision: i32,
1302 #[prost(bool, tag = "11")]
1303 pub safety_mode_active: bool,
1304 #[prost(uint32, tag = "12")]
1305 pub state_of_charge: u32,
1306 #[prost(uint32, tag = "13")]
1307 pub thermal_throttle_level: u32,
1308}
1309pub mod plc_stats {
1311 #[derive(
1312 Clone,
1313 Copy,
1314 Debug,
1315 PartialEq,
1316 Eq,
1317 Hash,
1318 PartialOrd,
1319 Ord,
1320 ::prost::Enumeration
1321 )]
1322 #[repr(i32)]
1323 pub enum ProtocolRevision {
1324 RevD = 0,
1325 }
1326 impl ProtocolRevision {
1327 pub fn as_str_name(&self) -> &'static str {
1332 match self {
1333 Self::RevD => "REV_D",
1334 }
1335 }
1336 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1338 match value {
1339 "REV_D" => Some(Self::RevD),
1340 _ => None,
1341 }
1342 }
1343 }
1344}
1345#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1346pub struct PlcPortStats {
1347 #[prost(uint32, tag = "1")]
1348 pub power: u32,
1349 #[prost(enumeration = "plc_port_stats::PortStatus", tag = "2")]
1350 pub status: i32,
1351}
1352pub mod plc_port_stats {
1354 #[derive(
1355 Clone,
1356 Copy,
1357 Debug,
1358 PartialEq,
1359 Eq,
1360 Hash,
1361 PartialOrd,
1362 Ord,
1363 ::prost::Enumeration
1364 )]
1365 #[repr(i32)]
1366 pub enum PortStatus {
1367 Inactive = 0,
1368 Charging = 1,
1369 Discharging = 2,
1370 MoistureDetected = 3,
1371 }
1372 impl PortStatus {
1373 pub fn as_str_name(&self) -> &'static str {
1378 match self {
1379 Self::Inactive => "INACTIVE",
1380 Self::Charging => "CHARGING",
1381 Self::Discharging => "DISCHARGING",
1382 Self::MoistureDetected => "MOISTURE_DETECTED",
1383 }
1384 }
1385 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1387 match value {
1388 "INACTIVE" => Some(Self::Inactive),
1389 "CHARGING" => Some(Self::Charging),
1390 "DISCHARGING" => Some(Self::Discharging),
1391 "MOISTURE_DETECTED" => Some(Self::MoistureDetected),
1392 _ => None,
1393 }
1394 }
1395 }
1396}
1397#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1398#[repr(i32)]
1399pub enum UserMobilityClass {
1400 Stationary = 0,
1401 Nomadic = 1,
1402 Mobile = 2,
1403}
1404impl UserMobilityClass {
1405 pub fn as_str_name(&self) -> &'static str {
1410 match self {
1411 Self::Stationary => "STATIONARY",
1412 Self::Nomadic => "NOMADIC",
1413 Self::Mobile => "MOBILE",
1414 }
1415 }
1416 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1418 match value {
1419 "STATIONARY" => Some(Self::Stationary),
1420 "NOMADIC" => Some(Self::Nomadic),
1421 "MOBILE" => Some(Self::Mobile),
1422 _ => None,
1423 }
1424 }
1425}
1426#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1427#[repr(i32)]
1428pub enum ObstructionMapReferenceFrame {
1429 FrameUnknown = 0,
1430 FrameEarth = 1,
1431 FrameUt = 2,
1432}
1433impl ObstructionMapReferenceFrame {
1434 pub fn as_str_name(&self) -> &'static str {
1439 match self {
1440 Self::FrameUnknown => "FRAME_UNKNOWN",
1441 Self::FrameEarth => "FRAME_EARTH",
1442 Self::FrameUt => "FRAME_UT",
1443 }
1444 }
1445 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1447 match value {
1448 "FRAME_UNKNOWN" => Some(Self::FrameUnknown),
1449 "FRAME_EARTH" => Some(Self::FrameEarth),
1450 "FRAME_UT" => Some(Self::FrameUt),
1451 _ => None,
1452 }
1453 }
1454}
1455#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1456#[repr(i32)]
1457pub enum SoftwareUpdateState {
1458 Unknown = 0,
1459 Idle = 1,
1460 Fetching = 2,
1461 PreCheck = 3,
1462 Writing = 4,
1463 PostCheck = 5,
1464 RebootRequired = 6,
1465 Disabled = 7,
1466 Faulted = 8,
1467}
1468impl SoftwareUpdateState {
1469 pub fn as_str_name(&self) -> &'static str {
1474 match self {
1475 Self::Unknown => "SOFTWARE_UPDATE_STATE_UNKNOWN",
1476 Self::Idle => "IDLE",
1477 Self::Fetching => "FETCHING",
1478 Self::PreCheck => "PRE_CHECK",
1479 Self::Writing => "WRITING",
1480 Self::PostCheck => "POST_CHECK",
1481 Self::RebootRequired => "REBOOT_REQUIRED",
1482 Self::Disabled => "DISABLED",
1483 Self::Faulted => "FAULTED",
1484 }
1485 }
1486 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1488 match value {
1489 "SOFTWARE_UPDATE_STATE_UNKNOWN" => Some(Self::Unknown),
1490 "IDLE" => Some(Self::Idle),
1491 "FETCHING" => Some(Self::Fetching),
1492 "PRE_CHECK" => Some(Self::PreCheck),
1493 "WRITING" => Some(Self::Writing),
1494 "POST_CHECK" => Some(Self::PostCheck),
1495 "REBOOT_REQUIRED" => Some(Self::RebootRequired),
1496 "DISABLED" => Some(Self::Disabled),
1497 "FAULTED" => Some(Self::Faulted),
1498 _ => None,
1499 }
1500 }
1501}
1502#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1503#[repr(i32)]
1504pub enum UserClassOfService {
1505 UnknownUserClassOfService = 0,
1506 Consumer = 1,
1507 Business = 2,
1508 BusinessPlus = 3,
1509 CommercialAviation = 4,
1510}
1511impl UserClassOfService {
1512 pub fn as_str_name(&self) -> &'static str {
1517 match self {
1518 Self::UnknownUserClassOfService => "UNKNOWN_USER_CLASS_OF_SERVICE",
1519 Self::Consumer => "CONSUMER",
1520 Self::Business => "BUSINESS",
1521 Self::BusinessPlus => "BUSINESS_PLUS",
1522 Self::CommercialAviation => "COMMERCIAL_AVIATION",
1523 }
1524 }
1525 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1527 match value {
1528 "UNKNOWN_USER_CLASS_OF_SERVICE" => Some(Self::UnknownUserClassOfService),
1529 "CONSUMER" => Some(Self::Consumer),
1530 "BUSINESS" => Some(Self::Business),
1531 "BUSINESS_PLUS" => Some(Self::BusinessPlus),
1532 "COMMERCIAL_AVIATION" => Some(Self::CommercialAviation),
1533 _ => None,
1534 }
1535 }
1536}
1537#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1538#[repr(i32)]
1539pub enum HasActuators {
1540 Unknown = 0,
1541 Yes = 1,
1542 No = 2,
1543}
1544impl HasActuators {
1545 pub fn as_str_name(&self) -> &'static str {
1550 match self {
1551 Self::Unknown => "HAS_ACTUATORS_UNKNOWN",
1552 Self::Yes => "HAS_ACTUATORS_YES",
1553 Self::No => "HAS_ACTUATORS_NO",
1554 }
1555 }
1556 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1558 match value {
1559 "HAS_ACTUATORS_UNKNOWN" => Some(Self::Unknown),
1560 "HAS_ACTUATORS_YES" => Some(Self::Yes),
1561 "HAS_ACTUATORS_NO" => Some(Self::No),
1562 _ => None,
1563 }
1564 }
1565}
1566#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1567#[repr(i32)]
1568pub enum ActuatorState {
1569 Idle = 0,
1570 FullTilt = 1,
1571 Rotate = 2,
1572 Tilt = 3,
1573 UnwrapPositive = 4,
1574 UnwrapNegative = 5,
1575 TiltToStowed = 6,
1576 Faulted = 7,
1577 WaitTilStatic = 8,
1578 DriveToMobilePosition = 9,
1579 MobileWait = 10,
1580}
1581impl ActuatorState {
1582 pub fn as_str_name(&self) -> &'static str {
1587 match self {
1588 Self::Idle => "ACTUATOR_STATE_IDLE",
1589 Self::FullTilt => "ACTUATOR_STATE_FULL_TILT",
1590 Self::Rotate => "ACTUATOR_STATE_ROTATE",
1591 Self::Tilt => "ACTUATOR_STATE_TILT",
1592 Self::UnwrapPositive => "ACTUATOR_STATE_UNWRAP_POSITIVE",
1593 Self::UnwrapNegative => "ACTUATOR_STATE_UNWRAP_NEGATIVE",
1594 Self::TiltToStowed => "ACTUATOR_STATE_TILT_TO_STOWED",
1595 Self::Faulted => "ACTUATOR_STATE_FAULTED",
1596 Self::WaitTilStatic => "ACTUATOR_STATE_WAIT_TIL_STATIC",
1597 Self::DriveToMobilePosition => "ACTUATOR_STATE_DRIVE_TO_MOBILE_POSITION",
1598 Self::MobileWait => "ACTUATOR_STATE_MOBILE_WAIT",
1599 }
1600 }
1601 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1603 match value {
1604 "ACTUATOR_STATE_IDLE" => Some(Self::Idle),
1605 "ACTUATOR_STATE_FULL_TILT" => Some(Self::FullTilt),
1606 "ACTUATOR_STATE_ROTATE" => Some(Self::Rotate),
1607 "ACTUATOR_STATE_TILT" => Some(Self::Tilt),
1608 "ACTUATOR_STATE_UNWRAP_POSITIVE" => Some(Self::UnwrapPositive),
1609 "ACTUATOR_STATE_UNWRAP_NEGATIVE" => Some(Self::UnwrapNegative),
1610 "ACTUATOR_STATE_TILT_TO_STOWED" => Some(Self::TiltToStowed),
1611 "ACTUATOR_STATE_FAULTED" => Some(Self::Faulted),
1612 "ACTUATOR_STATE_WAIT_TIL_STATIC" => Some(Self::WaitTilStatic),
1613 "ACTUATOR_STATE_DRIVE_TO_MOBILE_POSITION" => {
1614 Some(Self::DriveToMobilePosition)
1615 }
1616 "ACTUATOR_STATE_MOBILE_WAIT" => Some(Self::MobileWait),
1617 _ => None,
1618 }
1619 }
1620}
1621#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1622#[repr(i32)]
1623pub enum AttitudeEstimationState {
1624 FilterReset = 0,
1625 FilterUnconverged = 1,
1626 FilterConverged = 2,
1627 FilterFaulted = 3,
1628 FilterInvalid = 4,
1629}
1630impl AttitudeEstimationState {
1631 pub fn as_str_name(&self) -> &'static str {
1636 match self {
1637 Self::FilterReset => "FILTER_RESET",
1638 Self::FilterUnconverged => "FILTER_UNCONVERGED",
1639 Self::FilterConverged => "FILTER_CONVERGED",
1640 Self::FilterFaulted => "FILTER_FAULTED",
1641 Self::FilterInvalid => "FILTER_INVALID",
1642 }
1643 }
1644 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1646 match value {
1647 "FILTER_RESET" => Some(Self::FilterReset),
1648 "FILTER_UNCONVERGED" => Some(Self::FilterUnconverged),
1649 "FILTER_CONVERGED" => Some(Self::FilterConverged),
1650 "FILTER_FAULTED" => Some(Self::FilterFaulted),
1651 "FILTER_INVALID" => Some(Self::FilterInvalid),
1652 _ => None,
1653 }
1654 }
1655}
1656#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1657#[repr(i32)]
1658pub enum RebootReason {
1659 None = 0,
1660 Manual = 1,
1661 LossOfComm = 2,
1662 SwupdateNow = 3,
1663 SwupdateScheduled = 4,
1664 App = 5,
1665 Emc = 6,
1666 FactoryReset = 7,
1667 TestCase = 8,
1668 ThermalPowerCut = 9,
1669 CriticalProcessDied = 10,
1670 NoRfReady = 11,
1671 PostponedLossOfComm = 12,
1672 SwupdateStationary = 13,
1673 AapCrash = 14,
1674 Xp70Sacs = 15,
1675 IneFailed = 16,
1676}
1677impl RebootReason {
1678 pub fn as_str_name(&self) -> &'static str {
1683 match self {
1684 Self::None => "REBOOT_REASON_NONE",
1685 Self::Manual => "REBOOT_REASON_MANUAL",
1686 Self::LossOfComm => "REBOOT_REASON_LOSS_OF_COMM",
1687 Self::SwupdateNow => "REBOOT_REASON_SWUPDATE_NOW",
1688 Self::SwupdateScheduled => "REBOOT_REASON_SWUPDATE_SCHEDULED",
1689 Self::App => "REBOOT_REASON_APP",
1690 Self::Emc => "REBOOT_REASON_EMC",
1691 Self::FactoryReset => "REBOOT_REASON_FACTORY_RESET",
1692 Self::TestCase => "REBOOT_REASON_TEST_CASE",
1693 Self::ThermalPowerCut => "REBOOT_REASON_THERMAL_POWER_CUT",
1694 Self::CriticalProcessDied => "REBOOT_REASON_CRITICAL_PROCESS_DIED",
1695 Self::NoRfReady => "REBOOT_REASON_NO_RF_READY",
1696 Self::PostponedLossOfComm => "REBOOT_REASON_POSTPONED_LOSS_OF_COMM",
1697 Self::SwupdateStationary => "REBOOT_REASON_SWUPDATE_STATIONARY",
1698 Self::AapCrash => "REBOOT_REASON_AAP_CRASH",
1699 Self::Xp70Sacs => "REBOOT_REASON_XP70_SACS",
1700 Self::IneFailed => "REBOOT_REASON_INE_FAILED",
1701 }
1702 }
1703 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1705 match value {
1706 "REBOOT_REASON_NONE" => Some(Self::None),
1707 "REBOOT_REASON_MANUAL" => Some(Self::Manual),
1708 "REBOOT_REASON_LOSS_OF_COMM" => Some(Self::LossOfComm),
1709 "REBOOT_REASON_SWUPDATE_NOW" => Some(Self::SwupdateNow),
1710 "REBOOT_REASON_SWUPDATE_SCHEDULED" => Some(Self::SwupdateScheduled),
1711 "REBOOT_REASON_APP" => Some(Self::App),
1712 "REBOOT_REASON_EMC" => Some(Self::Emc),
1713 "REBOOT_REASON_FACTORY_RESET" => Some(Self::FactoryReset),
1714 "REBOOT_REASON_TEST_CASE" => Some(Self::TestCase),
1715 "REBOOT_REASON_THERMAL_POWER_CUT" => Some(Self::ThermalPowerCut),
1716 "REBOOT_REASON_CRITICAL_PROCESS_DIED" => Some(Self::CriticalProcessDied),
1717 "REBOOT_REASON_NO_RF_READY" => Some(Self::NoRfReady),
1718 "REBOOT_REASON_POSTPONED_LOSS_OF_COMM" => Some(Self::PostponedLossOfComm),
1719 "REBOOT_REASON_SWUPDATE_STATIONARY" => Some(Self::SwupdateStationary),
1720 "REBOOT_REASON_AAP_CRASH" => Some(Self::AapCrash),
1721 "REBOOT_REASON_XP70_SACS" => Some(Self::Xp70Sacs),
1722 "REBOOT_REASON_INE_FAILED" => Some(Self::IneFailed),
1723 _ => None,
1724 }
1725 }
1726}
1727#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1728#[repr(i32)]
1729pub enum DishState {
1730 Unknown = 0,
1731 Connected = 1,
1732 Searching = 2,
1733 Booting = 3,
1734}
1735impl DishState {
1736 pub fn as_str_name(&self) -> &'static str {
1741 match self {
1742 Self::Unknown => "UNKNOWN",
1743 Self::Connected => "CONNECTED",
1744 Self::Searching => "SEARCHING",
1745 Self::Booting => "BOOTING",
1746 }
1747 }
1748 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1750 match value {
1751 "UNKNOWN" => Some(Self::Unknown),
1752 "CONNECTED" => Some(Self::Connected),
1753 "SEARCHING" => Some(Self::Searching),
1754 "BOOTING" => Some(Self::Booting),
1755 _ => None,
1756 }
1757 }
1758}
1759#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1760pub struct TransceiverIfLoopbackTestRequest {
1761 #[prost(bool, tag = "1")]
1762 pub enable_if_loopback: bool,
1763}
1764#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1765pub struct TransceiverIfLoopbackTestResponse {
1766 #[prost(float, tag = "1")]
1767 pub ber_loopback_test: f32,
1768 #[prost(float, tag = "2")]
1769 pub snr_loopback_test: f32,
1770 #[prost(float, tag = "3")]
1771 pub rssi_loopback_test: f32,
1772 #[prost(bool, tag = "4")]
1773 pub pll_lock: bool,
1774}
1775#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1776pub struct TransceiverGetStatusRequest {}
1777#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1778pub struct TransceiverGetStatusResponse {
1779 #[prost(enumeration = "TransceiverModulatorState", tag = "1")]
1780 pub mod_state: i32,
1781 #[prost(enumeration = "TransceiverModulatorState", tag = "2")]
1782 pub demod_state: i32,
1783 #[prost(enumeration = "TransceiverTxRxState", tag = "3")]
1784 pub tx_state: i32,
1785 #[prost(enumeration = "TransceiverTxRxState", tag = "4")]
1786 pub rx_state: i32,
1787 #[prost(enumeration = "DishState", tag = "1006")]
1788 pub state: i32,
1789 #[prost(message, optional, tag = "1007")]
1790 pub faults: ::core::option::Option<TransceiverFaults>,
1791 #[prost(enumeration = "TransceiverTransmitBlankingState", tag = "1008")]
1792 pub transmit_blanking_state: i32,
1793 #[prost(float, tag = "1009")]
1794 pub modem_asic_temp: f32,
1795 #[prost(float, tag = "1010")]
1796 pub tx_if_temp: f32,
1797}
1798#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1799pub struct TransceiverFaults {
1800 #[prost(bool, tag = "1")]
1801 pub over_temp_modem_asic_fault: bool,
1802 #[prost(bool, tag = "2")]
1803 pub over_temp_pcba_fault: bool,
1804 #[prost(bool, tag = "3")]
1805 pub dc_voltage_fault: bool,
1806}
1807#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1808pub struct TransceiverGetTelemetryRequest {}
1809#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1810pub struct TransceiverGetTelemetryResponse {
1811 #[prost(uint32, tag = "1001")]
1812 pub antenna_pointing_mode: u32,
1813 #[prost(float, tag = "1002")]
1814 pub antenna_pitch: f32,
1815 #[prost(float, tag = "1003")]
1816 pub antenna_roll: f32,
1817 #[prost(float, tag = "1004")]
1818 pub antenna_rx_theta: f32,
1819 #[prost(float, tag = "1005")]
1820 pub antenna_true_heading: f32,
1821 #[prost(uint32, tag = "1006")]
1822 pub rx_channel: u32,
1823 #[prost(uint32, tag = "1007")]
1824 pub current_cell_id: u32,
1825 #[prost(float, tag = "1008")]
1826 pub seconds_until_slot_end: f32,
1827 #[prost(float, tag = "1009")]
1828 pub wb_rssi_peak_mag_db: f32,
1829 #[prost(float, tag = "1010")]
1830 pub pop_ping_drop_rate: f32,
1831 #[prost(float, tag = "1011")]
1832 pub snr_db: f32,
1833 #[prost(float, tag = "1012")]
1834 pub l1_snr_avg_db: f32,
1835 #[prost(float, tag = "1013")]
1836 pub l1_snr_min_db: f32,
1837 #[prost(float, tag = "1014")]
1838 pub l1_snr_max_db: f32,
1839 #[prost(uint32, tag = "1015")]
1840 pub lmac_satellite_id: u32,
1841 #[prost(uint32, tag = "1016")]
1842 pub target_satellite_id: u32,
1843 #[prost(uint32, tag = "1017")]
1844 pub grant_mcs: u32,
1845 #[prost(float, tag = "1018")]
1846 pub grant_symbols_avg: f32,
1847 #[prost(uint32, tag = "1019")]
1848 pub ded_grant: u32,
1849 #[prost(uint32, tag = "1020")]
1850 pub mobility_proactive_slot_change: u32,
1851 #[prost(uint32, tag = "1021")]
1852 pub mobility_reactive_slot_change: u32,
1853 #[prost(uint32, tag = "1022")]
1854 pub rfp_total_syn_failed: u32,
1855 #[prost(uint32, tag = "1023")]
1856 pub num_out_of_seq: u32,
1857 #[prost(uint32, tag = "1024")]
1858 pub num_ulmap_drop: u32,
1859 #[prost(float, tag = "1025")]
1860 pub current_seconds_of_schedule: f32,
1861 #[prost(uint32, tag = "1026")]
1862 pub send_label_switch_to_ground_failed_calls: u32,
1863 #[prost(double, tag = "1027")]
1864 pub ema_velocity_x: f64,
1865 #[prost(double, tag = "1028")]
1866 pub ema_velocity_y: f64,
1867 #[prost(double, tag = "1029")]
1868 pub ema_velocity_z: f64,
1869 #[prost(float, tag = "1030")]
1870 pub ce_rssi_db: f32,
1871}
1872#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1873#[repr(i32)]
1874pub enum TransceiverModulatorState {
1875 ModstateUnknown = 0,
1876 ModstateEnabled = 1,
1877 ModstateDisabled = 2,
1878}
1879impl TransceiverModulatorState {
1880 pub fn as_str_name(&self) -> &'static str {
1885 match self {
1886 Self::ModstateUnknown => "MODSTATE_UNKNOWN",
1887 Self::ModstateEnabled => "MODSTATE_ENABLED",
1888 Self::ModstateDisabled => "MODSTATE_DISABLED",
1889 }
1890 }
1891 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1893 match value {
1894 "MODSTATE_UNKNOWN" => Some(Self::ModstateUnknown),
1895 "MODSTATE_ENABLED" => Some(Self::ModstateEnabled),
1896 "MODSTATE_DISABLED" => Some(Self::ModstateDisabled),
1897 _ => None,
1898 }
1899 }
1900}
1901#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1902#[repr(i32)]
1903pub enum TransceiverTxRxState {
1904 TxrxUnknown = 0,
1905 TxrxEnabled = 1,
1906 TxrxDisabled = 2,
1907}
1908impl TransceiverTxRxState {
1909 pub fn as_str_name(&self) -> &'static str {
1914 match self {
1915 Self::TxrxUnknown => "TXRX_UNKNOWN",
1916 Self::TxrxEnabled => "TXRX_ENABLED",
1917 Self::TxrxDisabled => "TXRX_DISABLED",
1918 }
1919 }
1920 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1922 match value {
1923 "TXRX_UNKNOWN" => Some(Self::TxrxUnknown),
1924 "TXRX_ENABLED" => Some(Self::TxrxEnabled),
1925 "TXRX_DISABLED" => Some(Self::TxrxDisabled),
1926 _ => None,
1927 }
1928 }
1929}
1930#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1931#[repr(i32)]
1932pub enum TransceiverTransmitBlankingState {
1933 TbUnknown = 0,
1934 TbEnabled = 1,
1935 TbDisabled = 2,
1936}
1937impl TransceiverTransmitBlankingState {
1938 pub fn as_str_name(&self) -> &'static str {
1943 match self {
1944 Self::TbUnknown => "TB_UNKNOWN",
1945 Self::TbEnabled => "TB_ENABLED",
1946 Self::TbDisabled => "TB_DISABLED",
1947 }
1948 }
1949 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1951 match value {
1952 "TB_UNKNOWN" => Some(Self::TbUnknown),
1953 "TB_ENABLED" => Some(Self::TbEnabled),
1954 "TB_DISABLED" => Some(Self::TbDisabled),
1955 _ => None,
1956 }
1957 }
1958}
1959#[derive(Clone, PartialEq, ::prost::Message)]
1960pub struct InflatedBasicServiceSet {
1961 #[prost(string, tag = "1")]
1962 pub bssid: ::prost::alloc::string::String,
1963 #[prost(string, tag = "2")]
1964 pub ssid: ::prost::alloc::string::String,
1965 #[prost(string, tag = "3")]
1966 pub mac_lan: ::prost::alloc::string::String,
1967 #[prost(string, tag = "4")]
1968 pub iface_name: ::prost::alloc::string::String,
1969 #[prost(enumeration = "IfaceType", tag = "5")]
1970 pub iface_type: i32,
1971 #[prost(uint32, tag = "6")]
1972 pub channel: u32,
1973 #[prost(uint32, tag = "7")]
1974 pub preference: u32,
1975 #[prost(string, tag = "8")]
1976 pub domain: ::prost::alloc::string::String,
1977}
1978#[derive(Clone, PartialEq, ::prost::Message)]
1979pub struct DhcpLease {
1980 #[prost(string, tag = "1")]
1981 pub ip_address: ::prost::alloc::string::String,
1982 #[prost(string, tag = "2")]
1983 pub mac_address: ::prost::alloc::string::String,
1984 #[prost(string, tag = "3")]
1985 pub hostname: ::prost::alloc::string::String,
1986 #[prost(string, tag = "4")]
1987 pub expires_time: ::prost::alloc::string::String,
1988 #[prost(bool, tag = "5")]
1989 pub active: bool,
1990 #[prost(uint32, tag = "6")]
1991 pub client_id: u32,
1992}
1993#[derive(Clone, PartialEq, ::prost::Message)]
1994pub struct DhcpServer {
1995 #[prost(string, tag = "1")]
1996 pub domain: ::prost::alloc::string::String,
1997 #[prost(string, tag = "2")]
1998 pub subnet: ::prost::alloc::string::String,
1999 #[prost(message, repeated, tag = "3")]
2000 pub leases: ::prost::alloc::vec::Vec<DhcpLease>,
2001 #[prost(bool, tag = "4")]
2002 pub ip_exhausted: bool,
2003}
2004#[derive(Clone, PartialEq, ::prost::Message)]
2005pub struct RadiusStatsMap {
2006 #[prost(map = "string, message", tag = "1")]
2007 pub radius_stats: ::std::collections::HashMap<
2008 ::prost::alloc::string::String,
2009 radius_stats_map::RadiusStats,
2010 >,
2011}
2012pub mod radius_stats_map {
2014 #[derive(Clone, PartialEq, ::prost::Message)]
2015 pub struct RadiusStats {
2016 #[prost(string, tag = "1")]
2017 pub iface_name: ::prost::alloc::string::String,
2018 #[prost(uint32, tag = "2")]
2019 pub timeout_count: u32,
2020 #[prost(uint32, tag = "3")]
2021 pub access_request_count: u32,
2022 #[prost(uint32, tag = "4")]
2023 pub access_accept_count: u32,
2024 #[prost(uint32, tag = "5")]
2025 pub access_reject_count: u32,
2026 #[prost(uint32, tag = "6")]
2027 pub access_challenge_count: u32,
2028 #[prost(uint32, tag = "7")]
2029 pub accounting_request_count: u32,
2030 #[prost(uint32, tag = "8")]
2031 pub accounting_response_count: u32,
2032 }
2033}
2034#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2035pub struct PoeStats {
2036 #[prost(enumeration = "PoeState", tag = "1")]
2037 pub poe_state: i32,
2038 #[prost(float, tag = "2")]
2039 pub poe_power: f32,
2040 #[prost(uint32, tag = "3")]
2041 pub poe_faults_fast_overcurrent: u32,
2042 #[prost(uint32, tag = "4")]
2043 pub poe_faults_slow_overcurrent: u32,
2044 #[prost(uint32, tag = "5")]
2045 pub poe_faults_overvoltage: u32,
2046 #[prost(uint32, tag = "6")]
2047 pub poe_faults_undervoltage: u32,
2048 #[prost(float, tag = "7")]
2049 pub vsns_vin: f32,
2050}
2051#[derive(Clone, PartialEq, ::prost::Message)]
2052pub struct WifiSoftwareUpdateStats {
2053 #[prost(enumeration = "WifiSoftwareUpdateState", tag = "1")]
2054 pub state: i32,
2055 #[prost(float, tag = "2")]
2056 pub software_download_progress: f32,
2057 #[prost(float, tag = "3")]
2058 pub seconds_since_get_target_versions: f32,
2059 #[prost(string, tag = "4")]
2060 pub running_version: ::prost::alloc::string::String,
2061 #[prost(string, tag = "5")]
2062 pub version_in_progress: ::prost::alloc::string::String,
2063}
2064#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2065pub struct WifiSetupRequirement {
2066 #[prost(enumeration = "WifiSetupRequirementState", tag = "1")]
2067 pub state: i32,
2068 #[prost(uint64, tag = "2")]
2069 pub pause_countdown_seconds: u64,
2070}
2071#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2072#[repr(i32)]
2073pub enum IfaceType {
2074 Unknown = 0,
2075 Eth = 1,
2076 Rf2ghz = 2,
2077 Rf5ghz = 5,
2078 Rf5ghzHigh = 6,
2079}
2080impl IfaceType {
2081 pub fn as_str_name(&self) -> &'static str {
2086 match self {
2087 Self::Unknown => "IFACE_TYPE_UNKNOWN",
2088 Self::Eth => "IFACE_TYPE_ETH",
2089 Self::Rf2ghz => "IFACE_TYPE_RF_2GHZ",
2090 Self::Rf5ghz => "IFACE_TYPE_RF_5GHZ",
2091 Self::Rf5ghzHigh => "IFACE_TYPE_RF_5GHZ_HIGH",
2092 }
2093 }
2094 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2096 match value {
2097 "IFACE_TYPE_UNKNOWN" => Some(Self::Unknown),
2098 "IFACE_TYPE_ETH" => Some(Self::Eth),
2099 "IFACE_TYPE_RF_2GHZ" => Some(Self::Rf2ghz),
2100 "IFACE_TYPE_RF_5GHZ" => Some(Self::Rf5ghz),
2101 "IFACE_TYPE_RF_5GHZ_HIGH" => Some(Self::Rf5ghzHigh),
2102 _ => None,
2103 }
2104 }
2105}
2106#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2107#[repr(i32)]
2108pub enum TxPowerLevel {
2109 TxPowerLevel100 = 0,
2110 TxPowerLevel80 = 1,
2111 TxPowerLevel50 = 2,
2112 TxPowerLevel25 = 3,
2113 TxPowerLevel12 = 4,
2114 TxPowerLevel6 = 5,
2115}
2116impl TxPowerLevel {
2117 pub fn as_str_name(&self) -> &'static str {
2122 match self {
2123 Self::TxPowerLevel100 => "TX_POWER_LEVEL_100",
2124 Self::TxPowerLevel80 => "TX_POWER_LEVEL_80",
2125 Self::TxPowerLevel50 => "TX_POWER_LEVEL_50",
2126 Self::TxPowerLevel25 => "TX_POWER_LEVEL_25",
2127 Self::TxPowerLevel12 => "TX_POWER_LEVEL_12",
2128 Self::TxPowerLevel6 => "TX_POWER_LEVEL_6",
2129 }
2130 }
2131 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2133 match value {
2134 "TX_POWER_LEVEL_100" => Some(Self::TxPowerLevel100),
2135 "TX_POWER_LEVEL_80" => Some(Self::TxPowerLevel80),
2136 "TX_POWER_LEVEL_50" => Some(Self::TxPowerLevel50),
2137 "TX_POWER_LEVEL_25" => Some(Self::TxPowerLevel25),
2138 "TX_POWER_LEVEL_12" => Some(Self::TxPowerLevel12),
2139 "TX_POWER_LEVEL_6" => Some(Self::TxPowerLevel6),
2140 _ => None,
2141 }
2142 }
2143}
2144#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2145#[repr(i32)]
2146pub enum PoeState {
2147 Disabled = 0,
2148 Negotiating = 1,
2149 OnRampup = 2,
2150 On = 3,
2151 WaterDetectRampup = 4,
2152 WaterDetect = 5,
2153}
2154impl PoeState {
2155 pub fn as_str_name(&self) -> &'static str {
2160 match self {
2161 Self::Disabled => "POE_STATE_DISABLED",
2162 Self::Negotiating => "POE_STATE_NEGOTIATING",
2163 Self::OnRampup => "POE_STATE_ON_RAMPUP",
2164 Self::On => "POE_STATE_ON",
2165 Self::WaterDetectRampup => "POE_STATE_WATER_DETECT_RAMPUP",
2166 Self::WaterDetect => "POE_STATE_WATER_DETECT",
2167 }
2168 }
2169 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2171 match value {
2172 "POE_STATE_DISABLED" => Some(Self::Disabled),
2173 "POE_STATE_NEGOTIATING" => Some(Self::Negotiating),
2174 "POE_STATE_ON_RAMPUP" => Some(Self::OnRampup),
2175 "POE_STATE_ON" => Some(Self::On),
2176 "POE_STATE_WATER_DETECT_RAMPUP" => Some(Self::WaterDetectRampup),
2177 "POE_STATE_WATER_DETECT" => Some(Self::WaterDetect),
2178 _ => None,
2179 }
2180 }
2181}
2182#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2183#[repr(i32)]
2184pub enum PoeFault {
2185 FastOvercurrent = 0,
2186 SlowOvercurrent = 1,
2187 Undercurrent = 2,
2188 Overvoltage = 3,
2189 Undervoltage = 4,
2190}
2191impl PoeFault {
2192 pub fn as_str_name(&self) -> &'static str {
2197 match self {
2198 Self::FastOvercurrent => "POE_FAULT_FAST_OVERCURRENT",
2199 Self::SlowOvercurrent => "POE_FAULT_SLOW_OVERCURRENT",
2200 Self::Undercurrent => "POE_FAULT_UNDERCURRENT",
2201 Self::Overvoltage => "POE_FAULT_OVERVOLTAGE",
2202 Self::Undervoltage => "POE_FAULT_UNDERVOLTAGE",
2203 }
2204 }
2205 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2207 match value {
2208 "POE_FAULT_FAST_OVERCURRENT" => Some(Self::FastOvercurrent),
2209 "POE_FAULT_SLOW_OVERCURRENT" => Some(Self::SlowOvercurrent),
2210 "POE_FAULT_UNDERCURRENT" => Some(Self::Undercurrent),
2211 "POE_FAULT_OVERVOLTAGE" => Some(Self::Overvoltage),
2212 "POE_FAULT_UNDERVOLTAGE" => Some(Self::Undervoltage),
2213 _ => None,
2214 }
2215 }
2216}
2217#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2218#[repr(i32)]
2219pub enum WifiMode {
2220 Default = 0,
2221 AOnly = 1,
2222 BOnly = 2,
2223 GOnly = 3,
2224 NOnly = 4,
2225 BGMixed = 5,
2226 ANMixed = 6,
2227 GNMixed = 7,
2228 BGNMixed = 8,
2229 AAnAcMixed = 9,
2230 AnAcMixed = 10,
2231 BGNAxMixed = 11,
2232 AAnAcAxMixed = 12,
2233 ANAcMixed = 13,
2234 ANAcAxMixed = 14,
2235}
2236impl WifiMode {
2237 pub fn as_str_name(&self) -> &'static str {
2242 match self {
2243 Self::Default => "WIFI_MODE_DEFAULT",
2244 Self::AOnly => "A_ONLY",
2245 Self::BOnly => "B_ONLY",
2246 Self::GOnly => "G_ONLY",
2247 Self::NOnly => "N_ONLY",
2248 Self::BGMixed => "B_G_MIXED",
2249 Self::ANMixed => "A_N_MIXED",
2250 Self::GNMixed => "G_N_MIXED",
2251 Self::BGNMixed => "B_G_N_MIXED",
2252 Self::AAnAcMixed => "A_AN_AC_MIXED",
2253 Self::AnAcMixed => "AN_AC_MIXED",
2254 Self::BGNAxMixed => "B_G_N_AX_MIXED",
2255 Self::AAnAcAxMixed => "A_AN_AC_AX_MIXED",
2256 Self::ANAcMixed => "A_N_AC_MIXED",
2257 Self::ANAcAxMixed => "A_N_AC_AX_MIXED",
2258 }
2259 }
2260 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2262 match value {
2263 "WIFI_MODE_DEFAULT" => Some(Self::Default),
2264 "A_ONLY" => Some(Self::AOnly),
2265 "B_ONLY" => Some(Self::BOnly),
2266 "G_ONLY" => Some(Self::GOnly),
2267 "N_ONLY" => Some(Self::NOnly),
2268 "B_G_MIXED" => Some(Self::BGMixed),
2269 "A_N_MIXED" => Some(Self::ANMixed),
2270 "G_N_MIXED" => Some(Self::GNMixed),
2271 "B_G_N_MIXED" => Some(Self::BGNMixed),
2272 "A_AN_AC_MIXED" => Some(Self::AAnAcMixed),
2273 "AN_AC_MIXED" => Some(Self::AnAcMixed),
2274 "B_G_N_AX_MIXED" => Some(Self::BGNAxMixed),
2275 "A_AN_AC_AX_MIXED" => Some(Self::AAnAcAxMixed),
2276 "A_N_AC_MIXED" => Some(Self::ANAcMixed),
2277 "A_N_AC_AX_MIXED" => Some(Self::ANAcAxMixed),
2278 _ => None,
2279 }
2280 }
2281}
2282#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2283#[repr(i32)]
2284pub enum WifiSecurity {
2285 Unknown = 0,
2286 Open = 1,
2287 Wpa2 = 2,
2288 Wpa3 = 3,
2289 Wpa2wpa3 = 4,
2290}
2291impl WifiSecurity {
2292 pub fn as_str_name(&self) -> &'static str {
2297 match self {
2298 Self::Unknown => "WIFI_SECURITY_UNKNOWN",
2299 Self::Open => "OPEN",
2300 Self::Wpa2 => "WPA2",
2301 Self::Wpa3 => "WPA3",
2302 Self::Wpa2wpa3 => "WPA2WPA3",
2303 }
2304 }
2305 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2307 match value {
2308 "WIFI_SECURITY_UNKNOWN" => Some(Self::Unknown),
2309 "OPEN" => Some(Self::Open),
2310 "WPA2" => Some(Self::Wpa2),
2311 "WPA3" => Some(Self::Wpa3),
2312 "WPA2WPA3" => Some(Self::Wpa2wpa3),
2313 _ => None,
2314 }
2315 }
2316}
2317#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2318#[repr(i32)]
2319pub enum Protocol {
2320 Tcp = 0,
2321 Udp = 1,
2322 Tls = 2,
2323 Dtls = 3,
2324}
2325impl Protocol {
2326 pub fn as_str_name(&self) -> &'static str {
2331 match self {
2332 Self::Tcp => "TCP",
2333 Self::Udp => "UDP",
2334 Self::Tls => "TLS",
2335 Self::Dtls => "DTLS",
2336 }
2337 }
2338 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2340 match value {
2341 "TCP" => Some(Self::Tcp),
2342 "UDP" => Some(Self::Udp),
2343 "TLS" => Some(Self::Tls),
2344 "DTLS" => Some(Self::Dtls),
2345 _ => None,
2346 }
2347 }
2348}
2349#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2350#[repr(i32)]
2351pub enum WifiSoftwareUpdateState {
2352 NotRun = 0,
2353 GettingTargetVersion = 1,
2354 DownloadingUpdateImage = 2,
2355 Flashing = 3,
2356 NoUpdateRequired = 4,
2357 RebootPending = 5,
2358 GettingTargetVersionFailed = 6,
2359 GettingTargetVersionExhausted = 7,
2360 NoValidArtifact = 8,
2361 IllegalArtifact = 9,
2362 DownloadingUpdateImageFailed = 10,
2363 DownloadingUpdateImageExhausted = 11,
2364 FlashingFailed = 12,
2365}
2366impl WifiSoftwareUpdateState {
2367 pub fn as_str_name(&self) -> &'static str {
2372 match self {
2373 Self::NotRun => "NOT_RUN",
2374 Self::GettingTargetVersion => "GETTING_TARGET_VERSION",
2375 Self::DownloadingUpdateImage => "DOWNLOADING_UPDATE_IMAGE",
2376 Self::Flashing => "FLASHING",
2377 Self::NoUpdateRequired => "NO_UPDATE_REQUIRED",
2378 Self::RebootPending => "REBOOT_PENDING",
2379 Self::GettingTargetVersionFailed => "GETTING_TARGET_VERSION_FAILED",
2380 Self::GettingTargetVersionExhausted => "GETTING_TARGET_VERSION_EXHAUSTED",
2381 Self::NoValidArtifact => "NO_VALID_ARTIFACT",
2382 Self::IllegalArtifact => "ILLEGAL_ARTIFACT",
2383 Self::DownloadingUpdateImageFailed => "DOWNLOADING_UPDATE_IMAGE_FAILED",
2384 Self::DownloadingUpdateImageExhausted => "DOWNLOADING_UPDATE_IMAGE_EXHAUSTED",
2385 Self::FlashingFailed => "FLASHING_FAILED",
2386 }
2387 }
2388 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2390 match value {
2391 "NOT_RUN" => Some(Self::NotRun),
2392 "GETTING_TARGET_VERSION" => Some(Self::GettingTargetVersion),
2393 "DOWNLOADING_UPDATE_IMAGE" => Some(Self::DownloadingUpdateImage),
2394 "FLASHING" => Some(Self::Flashing),
2395 "NO_UPDATE_REQUIRED" => Some(Self::NoUpdateRequired),
2396 "REBOOT_PENDING" => Some(Self::RebootPending),
2397 "GETTING_TARGET_VERSION_FAILED" => Some(Self::GettingTargetVersionFailed),
2398 "GETTING_TARGET_VERSION_EXHAUSTED" => {
2399 Some(Self::GettingTargetVersionExhausted)
2400 }
2401 "NO_VALID_ARTIFACT" => Some(Self::NoValidArtifact),
2402 "ILLEGAL_ARTIFACT" => Some(Self::IllegalArtifact),
2403 "DOWNLOADING_UPDATE_IMAGE_FAILED" => Some(Self::DownloadingUpdateImageFailed),
2404 "DOWNLOADING_UPDATE_IMAGE_EXHAUSTED" => {
2405 Some(Self::DownloadingUpdateImageExhausted)
2406 }
2407 "FLASHING_FAILED" => Some(Self::FlashingFailed),
2408 _ => None,
2409 }
2410 }
2411}
2412#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2413#[repr(i32)]
2414pub enum WifiSetupRequirementState {
2415 NotRequired = 0,
2416 RequiredCountdown = 1,
2417 RequiredPaused = 2,
2418 RequiredComplete = 3,
2419}
2420impl WifiSetupRequirementState {
2421 pub fn as_str_name(&self) -> &'static str {
2426 match self {
2427 Self::NotRequired => "NOT_REQUIRED",
2428 Self::RequiredCountdown => "REQUIRED_COUNTDOWN",
2429 Self::RequiredPaused => "REQUIRED_PAUSED",
2430 Self::RequiredComplete => "REQUIRED_COMPLETE",
2431 }
2432 }
2433 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2435 match value {
2436 "NOT_REQUIRED" => Some(Self::NotRequired),
2437 "REQUIRED_COUNTDOWN" => Some(Self::RequiredCountdown),
2438 "REQUIRED_PAUSED" => Some(Self::RequiredPaused),
2439 "REQUIRED_COMPLETE" => Some(Self::RequiredComplete),
2440 _ => None,
2441 }
2442 }
2443}
2444#[derive(Clone, PartialEq, ::prost::Message)]
2445pub struct MeshConfig {
2446 #[prost(string, tag = "1")]
2447 pub display_name: ::prost::alloc::string::String,
2448 #[prost(bool, tag = "2")]
2449 pub apply_display_name: bool,
2450 #[prost(enumeration = "MeshAuth", tag = "3")]
2451 pub auth: i32,
2452 #[prost(bool, tag = "4")]
2453 pub apply_auth: bool,
2454 #[prost(int64, tag = "5")]
2455 pub last_connected: i64,
2456 #[prost(uint64, tag = "7")]
2457 pub incarnation: u64,
2458 #[prost(string, tag = "9")]
2459 pub hardware_version: ::prost::alloc::string::String,
2460 #[prost(bool, tag = "10")]
2461 pub supports_5ghz_high: bool,
2462}
2463#[derive(Clone, PartialEq, ::prost::Message)]
2464pub struct TlsConfig {
2465 #[prost(string, tag = "1")]
2466 pub key: ::prost::alloc::string::String,
2467 #[prost(string, tag = "2")]
2468 pub cert: ::prost::alloc::string::String,
2469}
2470#[derive(Clone, PartialEq, ::prost::Message)]
2471pub struct HttpServer {
2472 #[prost(string, tag = "1")]
2473 pub domain_name: ::prost::alloc::string::String,
2474 #[prost(message, optional, tag = "2")]
2475 pub tls: ::core::option::Option<TlsConfig>,
2476 #[prost(string, tag = "3")]
2477 pub file_content_id: ::prost::alloc::string::String,
2478 #[prost(string, tag = "4")]
2479 pub file_content_hash: ::prost::alloc::string::String,
2480 #[prost(string, repeated, tag = "5")]
2481 pub access_control_allow_origins: ::prost::alloc::vec::Vec<
2482 ::prost::alloc::string::String,
2483 >,
2484}
2485#[derive(Clone, PartialEq, ::prost::Message)]
2486pub struct CaptivePortal {
2487 #[prost(string, tag = "1")]
2488 pub url: ::prost::alloc::string::String,
2489 #[prost(bool, tag = "2")]
2490 pub display_in_captive_browser: bool,
2491}
2492#[derive(Clone, PartialEq, ::prost::Message)]
2493pub struct WifiConfig {
2494 #[prost(string, tag = "3")]
2495 pub country_code: ::prost::alloc::string::String,
2496 #[prost(bool, tag = "1085")]
2497 pub apply_country_code: bool,
2498 #[prost(bool, tag = "53")]
2499 pub pin_country_code: bool,
2500 #[prost(bool, tag = "1086")]
2501 pub apply_pin_country_code: bool,
2502 #[prost(bool, tag = "54")]
2503 pub custom_power_table: bool,
2504 #[prost(bool, tag = "1087")]
2505 pub apply_custom_power_table: bool,
2506 #[prost(bool, tag = "7")]
2507 pub setup_complete: bool,
2508 #[prost(bool, tag = "1010")]
2509 pub apply_setup_complete: bool,
2510 #[prost(uint32, tag = "9")]
2511 pub version: u32,
2512 #[prost(string, tag = "12")]
2513 pub mac_wan: ::prost::alloc::string::String,
2514 #[prost(string, tag = "13")]
2515 pub mac_lan: ::prost::alloc::string::String,
2516 #[prost(uint32, tag = "19")]
2517 pub channel_2ghz: u32,
2518 #[prost(bool, tag = "1013")]
2519 pub apply_channel_2ghz: bool,
2520 #[prost(uint32, tag = "20")]
2521 pub channel_5ghz: u32,
2522 #[prost(bool, tag = "1014")]
2523 pub apply_channel_5ghz: bool,
2524 #[prost(uint32, tag = "57")]
2525 pub channel_5ghz_high: u32,
2526 #[prost(bool, tag = "1016")]
2527 pub apply_channel_5ghz_high: bool,
2528 #[prost(map = "string, message", tag = "33")]
2529 pub mesh_configs: ::std::collections::HashMap<
2530 ::prost::alloc::string::String,
2531 MeshConfig,
2532 >,
2533 #[prost(map = "string, message", tag = "3033")]
2534 pub mesh_configs_updates: ::std::collections::HashMap<
2535 ::prost::alloc::string::String,
2536 MeshConfig,
2537 >,
2538 #[prost(bool, tag = "1033")]
2539 pub apply_mesh_configs: bool,
2540 #[prost(message, repeated, tag = "22")]
2541 pub dynamic_keys: ::prost::alloc::vec::Vec<PublicKey>,
2542 #[prost(bool, tag = "39")]
2543 pub apply_dynamic_keys: bool,
2544 #[prost(bool, tag = "23")]
2545 pub is_repeater: bool,
2546 #[prost(bool, tag = "1031")]
2547 pub apply_is_repeater: bool,
2548 #[prost(bool, tag = "51")]
2549 pub ap_mode: bool,
2550 #[prost(bool, tag = "1066")]
2551 pub apply_ap_mode: bool,
2552 #[prost(bool, tag = "49")]
2553 pub is_aviation: bool,
2554 #[prost(bool, tag = "1064")]
2555 pub apply_is_aviation: bool,
2556 #[prost(int32, tag = "26")]
2557 pub boot_count: i32,
2558 #[prost(message, optional, tag = "3001")]
2559 pub boot: ::core::option::Option<BootInfo>,
2560 #[prost(string, repeated, tag = "30")]
2561 pub nameservers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2562 #[prost(bool, tag = "1054")]
2563 pub apply_nameservers: bool,
2564 #[prost(bool, tag = "50")]
2565 pub secure_dns: bool,
2566 #[prost(bool, tag = "1065")]
2567 pub apply_secure_dns: bool,
2568 #[prost(bool, tag = "31")]
2569 pub bypass_mode: bool,
2570 #[prost(bool, tag = "1055")]
2571 pub apply_bypass_mode: bool,
2572 #[prost(bool, tag = "42")]
2573 pub dfs_enabled: bool,
2574 #[prost(bool, tag = "1058")]
2575 pub apply_dfs_enabled: bool,
2576 #[prost(bool, tag = "52")]
2577 pub disable_mesh_onboarding: bool,
2578 #[prost(bool, tag = "1067")]
2579 pub apply_disable_mesh_onboarding: bool,
2580 #[prost(bool, tag = "1097")]
2581 pub disable_wireless_mesh_onboarding: bool,
2582 #[prost(bool, tag = "1098")]
2583 pub apply_disable_wireless_mesh_onboarding: bool,
2584 #[prost(bool, tag = "1107")]
2585 pub apply_http_server: bool,
2586 #[prost(message, optional, tag = "1108")]
2587 pub http_server: ::core::option::Option<HttpServer>,
2588 #[prost(message, repeated, tag = "1100")]
2589 pub networks: ::prost::alloc::vec::Vec<wifi_config::Network>,
2590 #[prost(bool, tag = "1101")]
2591 pub apply_networks: bool,
2592 #[prost(uint64, tag = "43")]
2593 pub incarnation: u64,
2594 #[prost(enumeration = "wifi_config::WirelessMode", tag = "44")]
2595 pub wireless_mode_2ghz: i32,
2596 #[prost(bool, tag = "1059")]
2597 pub apply_wireless_mode_2ghz: bool,
2598 #[prost(enumeration = "wifi_config::WirelessMode", tag = "45")]
2599 pub wireless_mode_5ghz: i32,
2600 #[prost(bool, tag = "1060")]
2601 pub apply_wireless_mode_5ghz: bool,
2602 #[prost(enumeration = "wifi_config::WirelessMode", tag = "58")]
2603 pub wireless_mode_5ghz_high: i32,
2604 #[prost(bool, tag = "1070")]
2605 pub apply_wireless_mode_5ghz_high: bool,
2606 #[prost(enumeration = "wifi_config::HtBandwidth", tag = "46")]
2607 pub ht_bandwidth_2ghz: i32,
2608 #[prost(bool, tag = "1061")]
2609 pub apply_ht_bandwidth_2ghz: bool,
2610 #[prost(enumeration = "wifi_config::HtBandwidth", tag = "47")]
2611 pub ht_bandwidth_5ghz: i32,
2612 #[prost(bool, tag = "1062")]
2613 pub apply_ht_bandwidth_5ghz: bool,
2614 #[prost(enumeration = "wifi_config::HtBandwidth", tag = "59")]
2615 pub ht_bandwidth_5ghz_high: i32,
2616 #[prost(bool, tag = "1071")]
2617 pub apply_ht_bandwidth_5ghz_high: bool,
2618 #[prost(enumeration = "wifi_config::VhtBandwidth", tag = "48")]
2619 pub vht_bandwidth: i32,
2620 #[prost(bool, tag = "1063")]
2621 pub apply_vht_bandwidth: bool,
2622 #[prost(enumeration = "wifi_config::VhtBandwidth", tag = "60")]
2623 pub vht_bandwidth_5ghz_high: i32,
2624 #[prost(bool, tag = "1072")]
2625 pub apply_vht_bandwidth_5ghz_high: bool,
2626 #[prost(bool, tag = "55")]
2627 pub use_public_services: bool,
2628 #[prost(bool, tag = "1068")]
2629 pub apply_use_public_services: bool,
2630 #[prost(bool, tag = "56")]
2631 pub disable_automated_speedtests: bool,
2632 #[prost(bool, tag = "1069")]
2633 pub apply_disable_automated_speedtests: bool,
2634 #[prost(bool, tag = "61")]
2635 pub enable_umbilical_vlan: bool,
2636 #[prost(bool, tag = "1073")]
2637 pub apply_enable_umbilical_vlan: bool,
2638 #[deprecated]
2639 #[prost(message, repeated, tag = "62")]
2640 pub client_names: ::prost::alloc::vec::Vec<ClientName>,
2641 #[deprecated]
2642 #[prost(bool, tag = "1074")]
2643 pub apply_client_names: bool,
2644 #[prost(bool, tag = "63")]
2645 pub outdoor_mode: bool,
2646 #[prost(bool, tag = "1075")]
2647 pub apply_outdoor_mode: bool,
2648 #[prost(bool, tag = "64")]
2649 pub disable_2ghz: bool,
2650 #[prost(bool, tag = "1076")]
2651 pub apply_disable_2ghz: bool,
2652 #[prost(bool, tag = "65")]
2653 pub disable_5ghz: bool,
2654 #[prost(bool, tag = "1077")]
2655 pub apply_disable_5ghz: bool,
2656 #[prost(bool, tag = "66")]
2657 pub disable_5ghz_high: bool,
2658 #[prost(bool, tag = "1078")]
2659 pub apply_disable_5ghz_high: bool,
2660 #[prost(bool, tag = "67")]
2661 pub disable_x_mesh_backhaul: bool,
2662 #[prost(bool, tag = "1079")]
2663 pub apply_disable_x_mesh_backhaul: bool,
2664 #[deprecated]
2665 #[prost(string, tag = "68")]
2666 pub golden_bssid: ::prost::alloc::string::String,
2667 #[deprecated]
2668 #[prost(bool, tag = "1080")]
2669 pub apply_golden_bssid: bool,
2670 #[deprecated]
2671 #[prost(enumeration = "IfaceType", tag = "69")]
2672 pub golden_iface_type: i32,
2673 #[deprecated]
2674 #[prost(bool, tag = "1081")]
2675 pub apply_golden_iface_type: bool,
2676 #[prost(enumeration = "TxPowerLevel", tag = "70")]
2677 pub tx_power_level_2ghz: i32,
2678 #[prost(bool, tag = "1082")]
2679 pub apply_tx_power_level_2ghz: bool,
2680 #[prost(enumeration = "TxPowerLevel", tag = "71")]
2681 pub tx_power_level_5ghz: i32,
2682 #[prost(bool, tag = "1083")]
2683 pub apply_tx_power_level_5ghz: bool,
2684 #[prost(enumeration = "TxPowerLevel", tag = "72")]
2685 pub tx_power_level_5ghz_high: i32,
2686 #[prost(bool, tag = "1084")]
2687 pub apply_tx_power_level_5ghz_high: bool,
2688 #[prost(bool, tag = "73")]
2689 pub disable_pending_update_reboot: bool,
2690 #[prost(bool, tag = "1088")]
2691 pub apply_disable_pending_update_reboot: bool,
2692 #[prost(message, repeated, tag = "74")]
2693 pub client_configs: ::prost::alloc::vec::Vec<ClientConfig>,
2694 #[prost(bool, tag = "1089")]
2695 pub apply_client_configs: bool,
2696 #[prost(bool, tag = "75")]
2697 pub disable_set_wifi_config_from_controller: bool,
2698 #[prost(bool, tag = "1090")]
2699 pub apply_disable_set_wifi_config_from_controller: bool,
2700 #[prost(bytes = "vec", tag = "76")]
2701 pub client_key: ::prost::alloc::vec::Vec<u8>,
2702 #[prost(bool, tag = "1091")]
2703 pub apply_client_key: bool,
2704 #[prost(bool, tag = "1092")]
2705 pub apply_wan_traffic_control: bool,
2706 #[prost(int32, tag = "77")]
2707 pub wan_host_dscp_mark: i32,
2708 #[prost(bool, tag = "1093")]
2709 pub apply_wan_host_dscp_mark: bool,
2710 #[prost(bool, tag = "79")]
2711 pub debug_pop_pings: bool,
2712 #[prost(bool, tag = "1095")]
2713 pub apply_debug_pop_pings: bool,
2714 #[prost(bool, tag = "94")]
2715 pub debug_pings: bool,
2716 #[prost(bool, tag = "1106")]
2717 pub apply_debug_pings: bool,
2718 #[prost(bool, tag = "80")]
2719 pub client_tester: bool,
2720 #[prost(bool, tag = "1096")]
2721 pub apply_client_tester: bool,
2722 #[prost(uint32, tag = "81")]
2723 pub asset_class: u32,
2724 #[prost(bool, tag = "1099")]
2725 pub apply_asset_class: bool,
2726 #[prost(bool, tag = "95")]
2727 pub disable_band_steering: bool,
2728 #[prost(bool, tag = "1109")]
2729 pub apply_disable_band_steering: bool,
2730 #[prost(string, repeated, tag = "1110")]
2731 pub only_overflight_countries: ::prost::alloc::vec::Vec<
2732 ::prost::alloc::string::String,
2733 >,
2734 #[prost(bool, tag = "1111")]
2735 pub apply_only_overflight_countries: bool,
2736 #[prost(bool, tag = "1114")]
2737 pub only_overflight_countries_using_default: bool,
2738 #[prost(message, repeated, tag = "1112")]
2739 pub unbridged_eth_ports: ::prost::alloc::vec::Vec<wifi_config::UnbridgedEthPort>,
2740 #[prost(bool, tag = "1113")]
2741 pub apply_unbridged_eth_ports: bool,
2742 #[prost(uint32, tag = "78")]
2743 pub tag: u32,
2744 #[prost(oneof = "wifi_config::WanTrafficControl", tags = "4001, 4002, 4003")]
2745 pub wan_traffic_control: ::core::option::Option<wifi_config::WanTrafficControl>,
2746}
2747pub mod wifi_config {
2749 #[derive(Clone, PartialEq, ::prost::Message)]
2750 pub struct BasicServiceSet {
2751 #[prost(string, tag = "1003")]
2752 pub bssid: ::prost::alloc::string::String,
2753 #[prost(string, tag = "1005")]
2754 pub ssid: ::prost::alloc::string::String,
2755 #[prost(enumeration = "Band", tag = "1011")]
2756 pub band: i32,
2757 #[prost(string, tag = "1017")]
2758 pub iface_name: ::prost::alloc::string::String,
2759 #[prost(bool, tag = "1013")]
2760 pub disable: bool,
2761 #[prost(bool, tag = "1015")]
2762 pub hidden: bool,
2763 #[prost(
2764 oneof = "basic_service_set::Auth",
2765 tags = "2001, 2002, 2003, 2004, 2005, 2006"
2766 )]
2767 pub auth: ::core::option::Option<basic_service_set::Auth>,
2768 }
2769 pub mod basic_service_set {
2771 #[derive(Clone, PartialEq, ::prost::Oneof)]
2772 pub enum Auth {
2773 #[prost(message, tag = "2001")]
2774 AuthOpen(super::super::AuthOpen),
2775 #[prost(message, tag = "2002")]
2776 AuthWpa2(super::super::AuthWpa2),
2777 #[prost(message, tag = "2003")]
2778 AuthWpa3(super::super::AuthWpa3),
2779 #[prost(message, tag = "2004")]
2780 AuthWpa2Wpa3(super::super::AuthWpa2Wpa3),
2781 #[prost(message, tag = "2005")]
2782 AuthRadius(super::super::AuthRadius),
2783 #[prost(message, tag = "2006")]
2784 AuthOpenEncrypted(super::super::AuthOpenEncrypted),
2785 }
2786 }
2787 #[derive(Clone, PartialEq, ::prost::Message)]
2788 pub struct DnsStaticEntry {
2789 #[prost(string, repeated, tag = "1000")]
2790 pub domains: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2791 #[prost(string, repeated, tag = "1001")]
2792 pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2793 }
2794 #[derive(Clone, PartialEq, ::prost::Message)]
2795 pub struct DnsForwardRule {
2796 #[prost(string, repeated, tag = "1000")]
2797 pub domains: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2798 #[prost(string, repeated, tag = "1001")]
2799 pub server_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2800 }
2801 #[derive(Clone, PartialEq, ::prost::Message)]
2802 pub struct StaticRoute {
2803 #[prost(string, tag = "1")]
2804 pub subnet: ::prost::alloc::string::String,
2805 #[prost(string, tag = "2")]
2806 pub gateway: ::prost::alloc::string::String,
2807 }
2808 #[derive(Clone, PartialEq, ::prost::Message)]
2809 pub struct Network {
2810 #[prost(string, tag = "1003")]
2811 pub ipv4: ::prost::alloc::string::String,
2812 #[prost(uint32, tag = "1012")]
2813 pub dhcpv4_start: u32,
2814 #[prost(uint32, tag = "1025")]
2815 pub dhcpv4_end: u32,
2816 #[prost(bool, tag = "1015")]
2817 pub dhcp_disabled: bool,
2818 #[prost(uint32, tag = "1016")]
2819 pub dhcpv4_lease_duration_s: u32,
2820 #[prost(string, tag = "1011")]
2821 pub domain: ::prost::alloc::string::String,
2822 #[prost(message, repeated, tag = "1007")]
2823 pub basic_service_sets: ::prost::alloc::vec::Vec<BasicServiceSet>,
2824 #[prost(bool, tag = "1008")]
2825 pub client_isolation: bool,
2826 #[prost(bool, tag = "1009")]
2827 pub guest: bool,
2828 #[prost(string, tag = "1010")]
2829 pub landing: ::prost::alloc::string::String,
2830 #[prost(bool, tag = "1017")]
2831 pub landing_page_v2: bool,
2832 #[prost(bool, tag = "1020")]
2833 pub sandbox_enabled: bool,
2834 #[prost(string, repeated, tag = "1022")]
2835 pub sandbox_domain_allow_list: ::prost::alloc::vec::Vec<
2836 ::prost::alloc::string::String,
2837 >,
2838 #[prost(uint32, tag = "1023")]
2839 pub sandbox_id: u32,
2840 #[prost(bool, tag = "1013")]
2841 pub internal: bool,
2842 #[prost(uint32, tag = "1014")]
2843 pub vlan: u32,
2844 #[prost(message, optional, tag = "1024")]
2845 pub captive_portal: ::core::option::Option<super::CaptivePortal>,
2846 #[prost(uint32, tag = "1026")]
2847 pub network_groups: u32,
2848 #[prost(message, repeated, tag = "1027")]
2849 pub dns_static_entries: ::prost::alloc::vec::Vec<DnsStaticEntry>,
2850 #[prost(message, repeated, tag = "1028")]
2851 pub dns_forward_rules: ::prost::alloc::vec::Vec<DnsForwardRule>,
2852 #[prost(bool, tag = "1029")]
2853 pub disable_when_offline: bool,
2854 #[prost(message, repeated, tag = "1030")]
2855 pub static_routes: ::prost::alloc::vec::Vec<StaticRoute>,
2856 }
2857 #[derive(Clone, PartialEq, ::prost::Message)]
2858 pub struct UnbridgedEthPort {
2859 #[prost(uint32, tag = "1")]
2860 pub lan_port_index: u32,
2861 #[prost(string, tag = "2")]
2862 pub ip: ::prost::alloc::string::String,
2863 #[prost(string, tag = "3")]
2864 pub gateway: ::prost::alloc::string::String,
2865 #[prost(message, repeated, tag = "4")]
2866 pub static_routes: ::prost::alloc::vec::Vec<unbridged_eth_port::StaticRoute>,
2867 }
2868 pub mod unbridged_eth_port {
2870 #[derive(Clone, PartialEq, ::prost::Message)]
2871 pub struct StaticRoute {
2872 #[prost(string, tag = "1")]
2873 pub subnet: ::prost::alloc::string::String,
2874 #[prost(uint32, tag = "2")]
2875 pub network_groups: u32,
2876 }
2877 }
2878 #[derive(
2879 Clone,
2880 Copy,
2881 Debug,
2882 PartialEq,
2883 Eq,
2884 Hash,
2885 PartialOrd,
2886 Ord,
2887 ::prost::Enumeration
2888 )]
2889 #[repr(i32)]
2890 pub enum Security {
2891 Unknown = 0,
2892 Wpa2 = 1,
2893 Wpa3 = 2,
2894 Wpa2wpa3 = 3,
2895 }
2896 impl Security {
2897 pub fn as_str_name(&self) -> &'static str {
2902 match self {
2903 Self::Unknown => "UNKNOWN",
2904 Self::Wpa2 => "WPA2",
2905 Self::Wpa3 => "WPA3",
2906 Self::Wpa2wpa3 => "WPA2WPA3",
2907 }
2908 }
2909 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2911 match value {
2912 "UNKNOWN" => Some(Self::Unknown),
2913 "WPA2" => Some(Self::Wpa2),
2914 "WPA3" => Some(Self::Wpa3),
2915 "WPA2WPA3" => Some(Self::Wpa2wpa3),
2916 _ => None,
2917 }
2918 }
2919 }
2920 #[derive(
2921 Clone,
2922 Copy,
2923 Debug,
2924 PartialEq,
2925 Eq,
2926 Hash,
2927 PartialOrd,
2928 Ord,
2929 ::prost::Enumeration
2930 )]
2931 #[repr(i32)]
2932 pub enum Band {
2933 RfUnknown = 0,
2934 Rf2ghz = 2,
2935 Rf5ghz = 5,
2936 Rf5ghzHigh = 6,
2937 }
2938 impl Band {
2939 pub fn as_str_name(&self) -> &'static str {
2944 match self {
2945 Self::RfUnknown => "RF_UNKNOWN",
2946 Self::Rf2ghz => "RF_2GHZ",
2947 Self::Rf5ghz => "RF_5GHZ",
2948 Self::Rf5ghzHigh => "RF_5GHZ_HIGH",
2949 }
2950 }
2951 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2953 match value {
2954 "RF_UNKNOWN" => Some(Self::RfUnknown),
2955 "RF_2GHZ" => Some(Self::Rf2ghz),
2956 "RF_5GHZ" => Some(Self::Rf5ghz),
2957 "RF_5GHZ_HIGH" => Some(Self::Rf5ghzHigh),
2958 _ => None,
2959 }
2960 }
2961 }
2962 #[derive(
2963 Clone,
2964 Copy,
2965 Debug,
2966 PartialEq,
2967 Eq,
2968 Hash,
2969 PartialOrd,
2970 Ord,
2971 ::prost::Enumeration
2972 )]
2973 #[repr(i32)]
2974 pub enum WirelessMode {
2975 Default = 0,
2976 AOnly = 1,
2977 BOnly = 2,
2978 GOnly = 3,
2979 NOnly = 4,
2980 BGMixed = 5,
2981 ANMixed = 6,
2982 GNMixed = 7,
2983 BGNMixed = 8,
2984 AAnAcMixed = 9,
2985 AnAcMixed = 10,
2986 BGNAxMixed = 11,
2987 AAnAcAxMixed = 12,
2988 }
2989 impl WirelessMode {
2990 pub fn as_str_name(&self) -> &'static str {
2995 match self {
2996 Self::Default => "WIRELESS_MODE_DEFAULT",
2997 Self::AOnly => "A_ONLY",
2998 Self::BOnly => "B_ONLY",
2999 Self::GOnly => "G_ONLY",
3000 Self::NOnly => "N_ONLY",
3001 Self::BGMixed => "B_G_MIXED",
3002 Self::ANMixed => "A_N_MIXED",
3003 Self::GNMixed => "G_N_MIXED",
3004 Self::BGNMixed => "B_G_N_MIXED",
3005 Self::AAnAcMixed => "A_AN_AC_MIXED",
3006 Self::AnAcMixed => "AN_AC_MIXED",
3007 Self::BGNAxMixed => "B_G_N_AX_MIXED",
3008 Self::AAnAcAxMixed => "A_AN_AC_AX_MIXED",
3009 }
3010 }
3011 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3013 match value {
3014 "WIRELESS_MODE_DEFAULT" => Some(Self::Default),
3015 "A_ONLY" => Some(Self::AOnly),
3016 "B_ONLY" => Some(Self::BOnly),
3017 "G_ONLY" => Some(Self::GOnly),
3018 "N_ONLY" => Some(Self::NOnly),
3019 "B_G_MIXED" => Some(Self::BGMixed),
3020 "A_N_MIXED" => Some(Self::ANMixed),
3021 "G_N_MIXED" => Some(Self::GNMixed),
3022 "B_G_N_MIXED" => Some(Self::BGNMixed),
3023 "A_AN_AC_MIXED" => Some(Self::AAnAcMixed),
3024 "AN_AC_MIXED" => Some(Self::AnAcMixed),
3025 "B_G_N_AX_MIXED" => Some(Self::BGNAxMixed),
3026 "A_AN_AC_AX_MIXED" => Some(Self::AAnAcAxMixed),
3027 _ => None,
3028 }
3029 }
3030 }
3031 #[derive(
3032 Clone,
3033 Copy,
3034 Debug,
3035 PartialEq,
3036 Eq,
3037 Hash,
3038 PartialOrd,
3039 Ord,
3040 ::prost::Enumeration
3041 )]
3042 #[repr(i32)]
3043 pub enum HtBandwidth {
3044 Default = 0,
3045 HtBandwidth20Mhz = 1,
3046 HtBandwidth20Or40Mhz = 2,
3047 }
3048 impl HtBandwidth {
3049 pub fn as_str_name(&self) -> &'static str {
3054 match self {
3055 Self::Default => "HT_BANDWIDTH_DEFAULT",
3056 Self::HtBandwidth20Mhz => "HT_BANDWIDTH_20_MHZ",
3057 Self::HtBandwidth20Or40Mhz => "HT_BANDWIDTH_20_OR_40_MHZ",
3058 }
3059 }
3060 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3062 match value {
3063 "HT_BANDWIDTH_DEFAULT" => Some(Self::Default),
3064 "HT_BANDWIDTH_20_MHZ" => Some(Self::HtBandwidth20Mhz),
3065 "HT_BANDWIDTH_20_OR_40_MHZ" => Some(Self::HtBandwidth20Or40Mhz),
3066 _ => None,
3067 }
3068 }
3069 }
3070 #[derive(
3071 Clone,
3072 Copy,
3073 Debug,
3074 PartialEq,
3075 Eq,
3076 Hash,
3077 PartialOrd,
3078 Ord,
3079 ::prost::Enumeration
3080 )]
3081 #[repr(i32)]
3082 pub enum VhtBandwidth {
3083 Default = 0,
3084 Disabled = 1,
3085 VhtBandwidth80Mhz = 2,
3086 VhtBandwidth160Mhz = 3,
3087 VhtBandwidth80Plus80Mhz = 4,
3088 }
3089 impl VhtBandwidth {
3090 pub fn as_str_name(&self) -> &'static str {
3095 match self {
3096 Self::Default => "VHT_BANDWIDTH_DEFAULT",
3097 Self::Disabled => "VHT_BANDWIDTH_DISABLED",
3098 Self::VhtBandwidth80Mhz => "VHT_BANDWIDTH_80_MHZ",
3099 Self::VhtBandwidth160Mhz => "VHT_BANDWIDTH_160_MHZ",
3100 Self::VhtBandwidth80Plus80Mhz => "VHT_BANDWIDTH_80_PLUS_80_MHZ",
3101 }
3102 }
3103 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3105 match value {
3106 "VHT_BANDWIDTH_DEFAULT" => Some(Self::Default),
3107 "VHT_BANDWIDTH_DISABLED" => Some(Self::Disabled),
3108 "VHT_BANDWIDTH_80_MHZ" => Some(Self::VhtBandwidth80Mhz),
3109 "VHT_BANDWIDTH_160_MHZ" => Some(Self::VhtBandwidth160Mhz),
3110 "VHT_BANDWIDTH_80_PLUS_80_MHZ" => Some(Self::VhtBandwidth80Plus80Mhz),
3111 _ => None,
3112 }
3113 }
3114 }
3115 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
3116 pub enum WanTrafficControl {
3117 #[prost(message, tag = "4001")]
3118 WanNoTrafficControl(super::NoTrafficControl),
3119 #[prost(message, tag = "4002")]
3120 WanAckSuppression(super::AckSuppression),
3121 #[prost(message, tag = "4003")]
3122 WanCakeRateLimit(super::CakeRateLimit),
3123 }
3124}
3125#[derive(Clone, PartialEq, ::prost::Message)]
3126pub struct WeeklyBlockSchedule {
3127 #[prost(message, repeated, tag = "1")]
3128 pub block_ranges: ::prost::alloc::vec::Vec<weekly_block_schedule::BlockRange>,
3129 #[prost(string, tag = "2")]
3130 pub group_id: ::prost::alloc::string::String,
3131}
3132pub mod weekly_block_schedule {
3134 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
3135 pub struct BlockRange {
3136 #[prost(uint32, tag = "1")]
3137 pub start_minutes: u32,
3138 #[prost(uint32, tag = "2")]
3139 pub end_minutes: u32,
3140 }
3141}
3142#[derive(Clone, PartialEq, ::prost::Message)]
3143pub struct ClientConfig {
3144 #[prost(uint32, tag = "1")]
3145 pub client_id: u32,
3146 #[prost(string, tag = "2")]
3147 pub mac_address: ::prost::alloc::string::String,
3148 #[prost(string, tag = "3")]
3149 pub given_name: ::prost::alloc::string::String,
3150 #[prost(message, repeated, tag = "5")]
3151 pub weekly_block_schedules: ::prost::alloc::vec::Vec<WeeklyBlockSchedule>,
3152 #[prost(string, tag = "6")]
3153 pub group_id: ::prost::alloc::string::String,
3154}
3155#[derive(Clone, PartialEq, ::prost::Message)]
3156pub struct ClientName {
3157 #[prost(string, tag = "1")]
3158 pub mac_address: ::prost::alloc::string::String,
3159 #[prost(string, tag = "2")]
3160 pub given_name: ::prost::alloc::string::String,
3161}
3162#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3163pub struct AuthOpen {}
3164#[derive(Clone, PartialEq, ::prost::Message)]
3165pub struct AuthWpa2 {
3166 #[prost(string, tag = "1")]
3167 pub password: ::prost::alloc::string::String,
3168}
3169#[derive(Clone, PartialEq, ::prost::Message)]
3170pub struct AuthWpa3 {
3171 #[prost(string, tag = "1")]
3172 pub password: ::prost::alloc::string::String,
3173}
3174#[derive(Clone, PartialEq, ::prost::Message)]
3175pub struct AuthWpa2Wpa3 {
3176 #[prost(string, tag = "1")]
3177 pub password: ::prost::alloc::string::String,
3178}
3179#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3180pub struct AuthOpenEncrypted {}
3181#[derive(Clone, PartialEq, ::prost::Message)]
3182pub struct AuthRadius {
3183 #[prost(string, tag = "1")]
3184 pub server: ::prost::alloc::string::String,
3185 #[deprecated]
3186 #[prost(string, tag = "3")]
3187 pub server_ca: ::prost::alloc::string::String,
3188 #[prost(string, tag = "4")]
3189 pub server_ca_base_64: ::prost::alloc::string::String,
3190 #[prost(string, tag = "2")]
3191 pub password: ::prost::alloc::string::String,
3192 #[prost(enumeration = "Protocol", tag = "5")]
3193 pub transport: i32,
3194}
3195#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3196pub struct NoTrafficControl {}
3197#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3198pub struct AckSuppression {
3199 #[prost(uint32, tag = "1")]
3200 pub ack_mark: u32,
3201 #[prost(float, tag = "2")]
3202 pub htb_ack_queue_rate: f32,
3203 #[prost(float, tag = "3")]
3204 pub htb_ack_queue_ceil: f32,
3205 #[prost(float, tag = "4")]
3206 pub cake_queue_bandwidth: f32,
3207 #[prost(bool, tag = "5")]
3208 pub cake_ack_filter_aggressive: bool,
3209 #[prost(float, tag = "6")]
3210 pub cake_manual_rtt: f32,
3211}
3212#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3213pub struct CakeRateLimit {
3214 #[prost(uint32, tag = "1")]
3215 pub host_mark: u32,
3216 #[prost(float, tag = "2")]
3217 pub bandwidth: f32,
3218 #[prost(enumeration = "CakePriorityQueueParameter", tag = "3")]
3219 pub priority_queue_parameter: i32,
3220 #[prost(enumeration = "CakeAckFilter", tag = "4")]
3221 pub ack_filter: i32,
3222 #[prost(float, tag = "6")]
3223 pub manual_rtt: f32,
3224}
3225#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3226#[repr(i32)]
3227pub enum MeshAuth {
3228 Unknown = 0,
3229 New = 1,
3230 Trusted = 2,
3231 Untrusted = 3,
3232}
3233impl MeshAuth {
3234 pub fn as_str_name(&self) -> &'static str {
3239 match self {
3240 Self::Unknown => "MESH_AUTH_UNKNOWN",
3241 Self::New => "MESH_AUTH_NEW",
3242 Self::Trusted => "MESH_AUTH_TRUSTED",
3243 Self::Untrusted => "MESH_AUTH_UNTRUSTED",
3244 }
3245 }
3246 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3248 match value {
3249 "MESH_AUTH_UNKNOWN" => Some(Self::Unknown),
3250 "MESH_AUTH_NEW" => Some(Self::New),
3251 "MESH_AUTH_TRUSTED" => Some(Self::Trusted),
3252 "MESH_AUTH_UNTRUSTED" => Some(Self::Untrusted),
3253 _ => None,
3254 }
3255 }
3256}
3257#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3258#[repr(i32)]
3259pub enum CakeAckFilter {
3260 NoAckFilter = 0,
3261 AckFilter = 1,
3262 AckFilterAggressive = 2,
3263}
3264impl CakeAckFilter {
3265 pub fn as_str_name(&self) -> &'static str {
3270 match self {
3271 Self::NoAckFilter => "NO_ACK_FILTER",
3272 Self::AckFilter => "ACK_FILTER",
3273 Self::AckFilterAggressive => "ACK_FILTER_AGGRESSIVE",
3274 }
3275 }
3276 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3278 match value {
3279 "NO_ACK_FILTER" => Some(Self::NoAckFilter),
3280 "ACK_FILTER" => Some(Self::AckFilter),
3281 "ACK_FILTER_AGGRESSIVE" => Some(Self::AckFilterAggressive),
3282 _ => None,
3283 }
3284 }
3285}
3286#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3287#[repr(i32)]
3288pub enum CakePriorityQueueParameter {
3289 Diffserv3 = 0,
3290 Diffserv4 = 1,
3291 Precedence = 2,
3292 BestEffort = 3,
3293}
3294impl CakePriorityQueueParameter {
3295 pub fn as_str_name(&self) -> &'static str {
3300 match self {
3301 Self::Diffserv3 => "DIFFSERV3",
3302 Self::Diffserv4 => "DIFFSERV4",
3303 Self::Precedence => "PRECEDENCE",
3304 Self::BestEffort => "BEST_EFFORT",
3305 }
3306 }
3307 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3309 match value {
3310 "DIFFSERV3" => Some(Self::Diffserv3),
3311 "DIFFSERV4" => Some(Self::Diffserv4),
3312 "PRECEDENCE" => Some(Self::Precedence),
3313 "BEST_EFFORT" => Some(Self::BestEffort),
3314 _ => None,
3315 }
3316 }
3317}
3318#[derive(Clone, PartialEq, ::prost::Message)]
3319pub struct WifiClients {
3320 #[prost(message, repeated, tag = "1")]
3321 pub clients: ::prost::alloc::vec::Vec<WifiClient>,
3322}
3323#[derive(Clone, PartialEq, ::prost::Message)]
3324pub struct ToController {
3325 #[prost(int32, tag = "4")]
3326 pub api_version: i32,
3327 #[prost(int32, tag = "7")]
3328 pub api_version_other_side: i32,
3329 #[prost(bool, tag = "6")]
3330 pub ready_for_multiple_networks: bool,
3331 #[prost(oneof = "to_controller::Message", tags = "1, 2, 3, 5")]
3332 pub message: ::core::option::Option<to_controller::Message>,
3333}
3334pub mod to_controller {
3336 #[derive(Clone, PartialEq, ::prost::Oneof)]
3337 pub enum Message {
3338 #[prost(message, tag = "1")]
3339 Clients(super::WifiClients),
3340 #[prost(message, tag = "2")]
3341 MeshJoin(super::WifiMeshJoin),
3342 #[prost(message, tag = "3")]
3343 Status(super::WifiMeshStatus),
3344 #[prost(message, tag = "5")]
3345 Speedtest(super::MeshSpeedtest),
3346 }
3347}
3348#[derive(Clone, PartialEq, ::prost::Message)]
3349pub struct WifiMeshJoin {
3350 #[prost(uint64, tag = "1")]
3351 pub incarnation: u64,
3352 #[prost(string, tag = "2")]
3353 pub hardware_version: ::prost::alloc::string::String,
3354 #[prost(bool, tag = "3")]
3355 pub supports_5ghz_high: bool,
3356 #[prost(message, repeated, tag = "4")]
3357 pub site_survey_scan: ::prost::alloc::vec::Vec<WifiSiteSurveyResult>,
3358}
3359#[derive(Clone, PartialEq, ::prost::Message)]
3360pub struct WifiMeshStatus {
3361 #[prost(string, tag = "5")]
3362 pub software_version: ::prost::alloc::string::String,
3363 #[prost(string, tag = "6")]
3364 pub mac_lan: ::prost::alloc::string::String,
3365 #[prost(string, repeated, tag = "7")]
3366 pub source_mac_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3367 #[prost(message, repeated, tag = "2")]
3368 pub clients: ::prost::alloc::vec::Vec<WifiClient>,
3369 #[prost(message, repeated, tag = "3")]
3370 pub bss_list: ::prost::alloc::vec::Vec<InflatedBasicServiceSet>,
3371 #[prost(string, tag = "4")]
3372 pub hardware_version: ::prost::alloc::string::String,
3373 #[prost(string, tag = "8")]
3374 pub backhaul_bssid: ::prost::alloc::string::String,
3375 #[prost(uint32, tag = "9")]
3376 pub backhaul_est_preference: u32,
3377}
3378#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3379pub struct MeshSpeedtestRequest {}
3380#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3381pub struct MeshSpeedtest {
3382 #[prost(int64, tag = "1")]
3383 pub upload_start_time: i64,
3384 #[prost(int64, tag = "2")]
3385 pub download_start_time: i64,
3386 #[prost(float, tag = "3")]
3387 pub upload_mbps: f32,
3388 #[prost(float, tag = "4")]
3389 pub download_mbps: f32,
3390}
3391#[derive(Clone, PartialEq, ::prost::Message)]
3392pub struct WifiSiteSurveyResult {
3393 #[prost(float, tag = "1")]
3394 pub rssi: f32,
3395 #[prost(uint32, tag = "2")]
3396 pub channel: u32,
3397 #[prost(string, tag = "3")]
3398 pub ssid: ::prost::alloc::string::String,
3399 #[prost(enumeration = "WifiSecurity", tag = "4")]
3400 pub security: i32,
3401 #[prost(enumeration = "WifiMode", tag = "5")]
3402 pub wireless_mode: i32,
3403 #[prost(enumeration = "IfaceType", tag = "6")]
3404 pub iface: i32,
3405 #[prost(string, tag = "7")]
3406 pub mac_address: ::prost::alloc::string::String,
3407 #[prost(float, tag = "8")]
3408 pub est_rx_rate: f32,
3409}
3410#[derive(Clone, PartialEq, ::prost::Message)]
3411pub struct WifiGlobalMeshStatus {
3412 #[prost(string, tag = "1")]
3413 pub hardware_version: ::prost::alloc::string::String,
3414 #[prost(string, tag = "2")]
3415 pub software_version: ::prost::alloc::string::String,
3416 #[prost(message, repeated, tag = "3")]
3417 pub bss_list: ::prost::alloc::vec::Vec<InflatedBasicServiceSet>,
3418}
3419#[derive(Clone, PartialEq, ::prost::Message)]
3420pub struct BackhaulRequest {
3421 #[prost(bool, tag = "1")]
3422 pub retry_backhaul: bool,
3423 #[prost(message, optional, tag = "2")]
3424 pub golden_bss: ::core::option::Option<WifiConfig>,
3425}
3426#[derive(Clone, PartialEq, ::prost::Message)]
3427pub struct FromController {
3428 #[prost(int32, tag = "3")]
3429 pub api_version: i32,
3430 #[prost(oneof = "from_controller::Message", tags = "1, 2, 4, 5, 6, 7")]
3431 pub message: ::core::option::Option<from_controller::Message>,
3432}
3433pub mod from_controller {
3435 #[derive(Clone, PartialEq, ::prost::Oneof)]
3436 pub enum Message {
3437 #[prost(message, tag = "1")]
3438 WifiConfig(super::WifiConfig),
3439 #[prost(message, tag = "2")]
3440 SteerClientRequest(super::SteerClientRequest),
3441 #[prost(message, tag = "4")]
3442 Status(super::WifiGlobalMeshStatus),
3443 #[prost(message, tag = "5")]
3444 BackhaulRequest(super::BackhaulRequest),
3445 #[prost(message, tag = "6")]
3446 StartSpeedtest(super::MeshSpeedtestRequest),
3447 #[prost(message, tag = "7")]
3448 WifiBtmRequest(super::WifiBtmRequest),
3449 }
3450}
3451#[derive(Clone, PartialEq, ::prost::Message)]
3452pub struct SteerClientRequest {
3453 #[deprecated]
3454 #[prost(string, tag = "1")]
3455 pub client_mac_addr: ::prost::alloc::string::String,
3456 #[deprecated]
3457 #[prost(message, repeated, tag = "2")]
3458 pub targets: ::prost::alloc::vec::Vec<steer_client_request::SteerTarget>,
3459}
3460pub mod steer_client_request {
3462 #[derive(Clone, PartialEq, ::prost::Message)]
3463 pub struct SteerTarget {
3464 #[deprecated]
3465 #[prost(string, tag = "1")]
3466 pub bssid: ::prost::alloc::string::String,
3467 #[deprecated]
3468 #[prost(int32, tag = "2")]
3469 pub channel: i32,
3470 }
3471}
3472#[derive(Clone, PartialEq, ::prost::Message)]
3473pub struct WifiBtmRequest {
3474 #[prost(uint32, tag = "5")]
3475 pub bss_termination_duration_m: u32,
3476 #[prost(string, tag = "1")]
3477 pub peer_bssid: ::prost::alloc::string::String,
3478 #[prost(message, repeated, tag = "4")]
3479 pub neighbor_report: ::prost::alloc::vec::Vec<wifi_btm_request::NeighborReport>,
3480}
3481pub mod wifi_btm_request {
3483 #[derive(Clone, PartialEq, ::prost::Message)]
3484 pub struct NeighborReport {
3485 #[prost(string, tag = "1")]
3486 pub bssid: ::prost::alloc::string::String,
3487 #[prost(uint32, tag = "2")]
3488 pub channel: u32,
3489 }
3490}
3491#[derive(Clone, PartialEq, ::prost::Message)]
3492pub struct WifiSelfTest {
3493 #[prost(bool, tag = "1")]
3494 pub total_success: bool,
3495 #[prost(message, optional, tag = "2")]
3496 pub fused: ::core::option::Option<wifi_self_test::TestResult>,
3497 #[prost(message, repeated, tag = "3")]
3498 pub eth_phys: ::prost::alloc::vec::Vec<wifi_self_test::TestResult>,
3499 #[prost(message, repeated, tag = "4")]
3500 pub pcis: ::prost::alloc::vec::Vec<wifi_self_test::TestResult>,
3501 #[prost(message, optional, tag = "5")]
3502 pub bl2_prod: ::core::option::Option<wifi_self_test::TestResult>,
3503}
3504pub mod wifi_self_test {
3506 #[derive(Clone, PartialEq, ::prost::Message)]
3507 pub struct TestResult {
3508 #[prost(string, tag = "1")]
3509 pub name: ::prost::alloc::string::String,
3510 #[prost(bool, tag = "2")]
3511 pub success: bool,
3512 #[prost(string, tag = "3")]
3513 pub failure_reason: ::prost::alloc::string::String,
3514 }
3515}
3516#[derive(Clone, PartialEq, ::prost::Message)]
3517pub struct WifiSetConfigRequest {
3518 #[prost(message, optional, tag = "1")]
3519 pub wifi_config: ::core::option::Option<WifiConfig>,
3520}
3521#[derive(Clone, PartialEq, ::prost::Message)]
3522pub struct WifiSetConfigResponse {
3523 #[prost(message, optional, tag = "1")]
3524 pub updated_wifi_config: ::core::option::Option<WifiConfig>,
3525}
3526#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3527pub struct WifiGetConfigRequest {}
3528#[derive(Clone, PartialEq, ::prost::Message)]
3529pub struct WifiGetConfigResponse {
3530 #[prost(message, optional, tag = "1")]
3531 pub wifi_config: ::core::option::Option<WifiConfig>,
3532}
3533#[derive(Clone, PartialEq, ::prost::Message)]
3534pub struct WifiSetMeshDeviceTrustRequest {
3535 #[prost(string, tag = "1")]
3536 pub device_id: ::prost::alloc::string::String,
3537 #[prost(enumeration = "MeshAuth", tag = "2")]
3538 pub auth: i32,
3539}
3540#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3541pub struct WifiSetMeshDeviceTrustResponse {}
3542#[derive(Clone, PartialEq, ::prost::Message)]
3543pub struct WifiSetMeshConfigRequest {
3544 #[prost(message, optional, tag = "1")]
3545 pub mesh_config: ::core::option::Option<MeshConfig>,
3546 #[prost(string, tag = "2")]
3547 pub device_id: ::prost::alloc::string::String,
3548}
3549#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3550pub struct WifiSetMeshConfigResponse {}
3551#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3552pub struct WifiGetClientsRequest {}
3553#[derive(Clone, PartialEq, ::prost::Message)]
3554pub struct WifiGetClientsResponse {
3555 #[prost(message, repeated, tag = "1")]
3556 pub clients: ::prost::alloc::vec::Vec<WifiClient>,
3557 #[prost(bool, tag = "2")]
3558 pub has_client_index: bool,
3559 #[prost(int32, tag = "3")]
3560 pub client_index: i32,
3561}
3562#[derive(Clone, PartialEq, ::prost::Message)]
3563pub struct WifiGetClientHistoryRequest {
3564 #[deprecated]
3565 #[prost(string, tag = "1")]
3566 pub mac_address: ::prost::alloc::string::String,
3567 #[prost(uint32, tag = "2")]
3568 pub client_id: u32,
3569}
3570#[derive(Clone, PartialEq, ::prost::Message)]
3571pub struct WifiGetClientHistoryResponse {
3572 #[prost(uint64, tag = "1")]
3573 pub current: u64,
3574 #[prost(float, repeated, tag = "2")]
3575 pub tx_throughput_mbps: ::prost::alloc::vec::Vec<f32>,
3576 #[prost(float, repeated, tag = "3")]
3577 pub rx_throughput_mbps: ::prost::alloc::vec::Vec<f32>,
3578 #[prost(
3579 enumeration = "wifi_get_client_history_response::WifiLimitedReason",
3580 repeated,
3581 tag = "4"
3582 )]
3583 pub throughput_limited: ::prost::alloc::vec::Vec<i32>,
3584 #[prost(float, repeated, tag = "5")]
3585 pub rx_rate_mbps: ::prost::alloc::vec::Vec<f32>,
3586 #[prost(bytes = "vec", tag = "6")]
3587 pub rssi: ::prost::alloc::vec::Vec<u8>,
3588}
3589pub mod wifi_get_client_history_response {
3591 #[derive(
3592 Clone,
3593 Copy,
3594 Debug,
3595 PartialEq,
3596 Eq,
3597 Hash,
3598 PartialOrd,
3599 Ord,
3600 ::prost::Enumeration
3601 )]
3602 #[repr(i32)]
3603 pub enum WifiLimitedReason {
3604 LimitUnknown = 0,
3605 LimitNone = 1,
3606 LimitUnclassified = 2,
3607 LimitDroppedPackets = 3,
3608 }
3609 impl WifiLimitedReason {
3610 pub fn as_str_name(&self) -> &'static str {
3615 match self {
3616 Self::LimitUnknown => "LIMIT_UNKNOWN",
3617 Self::LimitNone => "LIMIT_NONE",
3618 Self::LimitUnclassified => "LIMIT_UNCLASSIFIED",
3619 Self::LimitDroppedPackets => "LIMIT_DROPPED_PACKETS",
3620 }
3621 }
3622 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3624 match value {
3625 "LIMIT_UNKNOWN" => Some(Self::LimitUnknown),
3626 "LIMIT_NONE" => Some(Self::LimitNone),
3627 "LIMIT_UNCLASSIFIED" => Some(Self::LimitUnclassified),
3628 "LIMIT_DROPPED_PACKETS" => Some(Self::LimitDroppedPackets),
3629 _ => None,
3630 }
3631 }
3632 }
3633}
3634#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3635pub struct WifiSetAviationConformedRequest {}
3636#[derive(Clone, PartialEq, ::prost::Message)]
3637pub struct WifiGetHistoryResponse {
3638 #[prost(uint64, tag = "1")]
3639 pub current: u64,
3640 #[prost(float, repeated, tag = "1001")]
3641 pub ping_drop_rate: ::prost::alloc::vec::Vec<f32>,
3642 #[prost(float, repeated, tag = "1002")]
3643 pub ping_latency_ms: ::prost::alloc::vec::Vec<f32>,
3644 #[prost(uint64, tag = "2")]
3645 pub current_index_15s: u64,
3646 #[prost(float, repeated, tag = "1003")]
3647 pub pop_ipv4_ping_drop_rate_last_15s: ::prost::alloc::vec::Vec<f32>,
3648 #[prost(float, repeated, tag = "1004")]
3649 pub pop_ipv6_ping_drop_rate_last_15s: ::prost::alloc::vec::Vec<f32>,
3650 #[prost(float, repeated, tag = "1005")]
3651 pub google_ipv4_ping_drop_rate_last_15s: ::prost::alloc::vec::Vec<f32>,
3652 #[prost(float, repeated, tag = "1006")]
3653 pub google_ipv6_ping_drop_rate_last_15s: ::prost::alloc::vec::Vec<f32>,
3654 #[prost(float, repeated, tag = "1007")]
3655 pub cloudflare_ipv4_ping_drop_rate_last_15s: ::prost::alloc::vec::Vec<f32>,
3656 #[prost(float, repeated, tag = "1008")]
3657 pub cloudflare_ipv6_ping_drop_rate_last_15s: ::prost::alloc::vec::Vec<f32>,
3658 #[prost(map = "string, message", tag = "1009")]
3659 pub dns_resolver_drop_rate: ::std::collections::HashMap<
3660 ::prost::alloc::string::String,
3661 wifi_get_history_response::DnsResolverHistory,
3662 >,
3663}
3664pub mod wifi_get_history_response {
3666 #[derive(Clone, PartialEq, ::prost::Message)]
3667 pub struct DnsResolverHistory {
3668 #[prost(float, repeated, tag = "2")]
3669 pub drop_rate_last_15s: ::prost::alloc::vec::Vec<f32>,
3670 }
3671}
3672#[derive(Clone, PartialEq, ::prost::Message)]
3673pub struct WifiNewClientConnectedEvent {
3674 #[prost(message, optional, tag = "1")]
3675 pub client: ::core::option::Option<WifiClient>,
3676}
3677#[derive(Clone, PartialEq, ::prost::Message)]
3678pub struct WifiClient {
3679 #[prost(string, tag = "1")]
3680 pub name: ::prost::alloc::string::String,
3681 #[prost(string, tag = "31")]
3682 pub given_name: ::prost::alloc::string::String,
3683 #[prost(string, tag = "22")]
3684 pub domain: ::prost::alloc::string::String,
3685 #[prost(string, tag = "2")]
3686 pub mac_address: ::prost::alloc::string::String,
3687 #[prost(string, tag = "3")]
3688 pub ip_address: ::prost::alloc::string::String,
3689 #[prost(bool, tag = "49")]
3690 pub dhcp_lease_found: bool,
3691 #[prost(bool, tag = "46")]
3692 pub dhcp_lease_active: bool,
3693 #[prost(bool, tag = "47")]
3694 pub dhcp_lease_renewed: bool,
3695 #[prost(float, tag = "48")]
3696 pub seconds_until_dhcp_lease_expires: f32,
3697 #[prost(string, repeated, tag = "41")]
3698 pub ipv6_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3699 #[prost(float, tag = "4")]
3700 pub signal_strength: f32,
3701 #[prost(uint32, tag = "12")]
3702 pub channel_width: u32,
3703 #[prost(message, optional, tag = "5")]
3704 pub rx_stats: ::core::option::Option<wifi_client::RxStats>,
3705 #[prost(bool, tag = "60")]
3706 pub rx_stats_valid: bool,
3707 #[prost(message, optional, tag = "6")]
3708 pub tx_stats: ::core::option::Option<wifi_client::TxStats>,
3709 #[prost(bool, tag = "61")]
3710 pub tx_stats_valid: bool,
3711 #[prost(uint32, tag = "7")]
3712 pub associated_time_s: u32,
3713 #[prost(uint32, tag = "45")]
3714 pub no_data_idle_s: u32,
3715 #[prost(string, tag = "8")]
3716 pub mode_str: ::prost::alloc::string::String,
3717 #[prost(enumeration = "wifi_client::Interface", tag = "9")]
3718 pub iface: i32,
3719 #[prost(string, tag = "26")]
3720 pub iface_name: ::prost::alloc::string::String,
3721 #[prost(float, tag = "10")]
3722 pub snr: f32,
3723 #[prost(int32, tag = "11")]
3724 pub psmode: i32,
3725 #[prost(string, tag = "13")]
3726 pub upstream_mac_address: ::prost::alloc::string::String,
3727 #[prost(enumeration = "wifi_client::Role", tag = "14")]
3728 pub role: i32,
3729 #[prost(string, tag = "15")]
3730 pub device_id: ::prost::alloc::string::String,
3731 #[prost(uint32, tag = "16")]
3732 pub swq_checks: u32,
3733 #[prost(uint32, tag = "17")]
3734 pub swq_checks_non_empty: u32,
3735 #[prost(uint32, tag = "18")]
3736 pub mib_steer_state: u32,
3737 #[prost(uint32, tag = "19")]
3738 pub mib_steer_method: u32,
3739 #[prost(uint32, tag = "20")]
3740 pub btm_requests: u32,
3741 #[prost(uint32, tag = "21")]
3742 pub btm_requests_success: u32,
3743 #[prost(uint32, tag = "30")]
3744 pub steer_state: u32,
3745 #[prost(uint32, tag = "27")]
3746 pub steer_req_success_last_1h: u32,
3747 #[prost(uint32, tag = "28")]
3748 pub steer_req_fail_last_1h: u32,
3749 #[prost(uint32, tag = "29")]
3750 pub steer_req_fail_and_dissoc_last_1h: u32,
3751 #[prost(bool, tag = "23")]
3752 pub dot11v_support: bool,
3753 #[prost(uint32, tag = "32")]
3754 pub hops_from_controller: u32,
3755 #[prost(float, tag = "33")]
3756 pub est_tx_rate_mbps_from_controller: f32,
3757 #[prost(float, tag = "34")]
3758 pub est_rx_rate_mbps_from_controller: f32,
3759 #[prost(string, tag = "37")]
3760 pub hardware_version: ::prost::alloc::string::String,
3761 #[prost(string, tag = "38")]
3762 pub software_version: ::prost::alloc::string::String,
3763 #[prost(uint32, tag = "39")]
3764 pub api_version: u32,
3765 #[prost(message, optional, tag = "40")]
3766 pub ping_metrics: ::core::option::Option<wifi_client::PingMetrics>,
3767 #[prost(bool, tag = "42")]
3768 pub blocked: bool,
3769 #[prost(uint32, tag = "43")]
3770 pub client_id: u32,
3771 #[prost(string, tag = "53")]
3772 pub captive_client_id: ::prost::alloc::string::String,
3773 #[prost(message, optional, tag = "44")]
3774 pub fqcodel_info: ::core::option::Option<wifi_client::FqcodelInfo>,
3775 #[prost(message, optional, tag = "52")]
3776 pub alerts: ::core::option::Option<wifi_client::Alerts>,
3777}
3778pub mod wifi_client {
3780 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
3781 pub struct RxStats {
3782 #[prost(uint64, tag = "1")]
3783 pub bytes: u64,
3784 #[prost(uint64, tag = "2")]
3785 pub count_errors: u64,
3786 #[prost(uint32, tag = "13")]
3787 pub phy_mode: u32,
3788 #[prost(int32, tag = "3")]
3789 pub nss: i32,
3790 #[prost(uint32, tag = "8")]
3791 pub rate_mbps: u32,
3792 #[prost(float, tag = "14")]
3793 pub rate_mbps_last_30s: f32,
3794 #[prost(float, tag = "15")]
3795 pub rate_mbps_last_15s: f32,
3796 #[prost(float, tag = "16")]
3797 pub rate_mbps_last_1m_avg: f32,
3798 #[prost(float, tag = "17")]
3799 pub throughput_mbps_last_1m_avg: f32,
3800 #[prost(uint32, tag = "5")]
3801 pub mcs: u32,
3802 #[prost(uint32, tag = "6")]
3803 pub bandwidth: u32,
3804 #[prost(uint32, tag = "7")]
3805 pub guard_ns: u32,
3806 #[prost(float, tag = "9")]
3807 pub airtime_fraction_last_1s: f32,
3808 #[prost(uint32, tag = "10")]
3809 pub sampled_packets: u32,
3810 #[prost(uint32, tag = "11")]
3811 pub sampled_packets_retried: u32,
3812 #[prost(uint32, tag = "12")]
3813 pub sampled_packets_dropped: u32,
3814 }
3815 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
3816 pub struct TxStats {
3817 #[prost(uint64, tag = "1")]
3818 pub bytes: u64,
3819 #[prost(uint64, tag = "2")]
3820 pub success_bytes: u64,
3821 #[prost(uint32, tag = "10")]
3822 pub phy_mode: u32,
3823 #[prost(int32, tag = "3")]
3824 pub nss: i32,
3825 #[prost(uint32, tag = "8")]
3826 pub rate_mbps: u32,
3827 #[prost(float, tag = "11")]
3828 pub rate_mbps_last_30s: f32,
3829 #[prost(float, tag = "12")]
3830 pub rate_mbps_last_15s: f32,
3831 #[prost(uint32, tag = "5")]
3832 pub mcs: u32,
3833 #[prost(uint32, tag = "6")]
3834 pub bandwidth: u32,
3835 #[prost(uint32, tag = "7")]
3836 pub guard_ns: u32,
3837 #[prost(float, tag = "9")]
3838 pub airtime_fraction_last_1s: f32,
3839 }
3840 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
3841 pub struct PingMetrics {
3842 #[prost(bool, tag = "1")]
3843 pub in_unhappy_hour_2s: bool,
3844 #[prost(bool, tag = "2")]
3845 pub in_unhappy_hour_5s: bool,
3846 #[prost(float, tag = "3")]
3847 pub drop_rate_5m: f32,
3848 #[prost(float, tag = "4")]
3849 pub latency_5m: f32,
3850 }
3851 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
3852 pub struct FqcodelInfo {
3853 #[prost(uint64, tag = "1")]
3854 pub enqs_hi_prio: u64,
3855 #[prost(uint64, tag = "2")]
3856 pub enqs_fqcodel: u64,
3857 #[prost(uint64, tag = "3")]
3858 pub enqs_new: u64,
3859 #[prost(uint64, tag = "4")]
3860 pub enqs_old: u64,
3861 #[prost(uint64, tag = "5")]
3862 pub enqs_dropped: u64,
3863 #[prost(uint64, tag = "6")]
3864 pub deqs_new: u64,
3865 #[prost(uint64, tag = "7")]
3866 pub deqs_old: u64,
3867 #[prost(uint64, tag = "8")]
3868 pub deqs_flow_new: u64,
3869 #[prost(uint64, tag = "9")]
3870 pub deqs_flow_old_deficit: u64,
3871 #[prost(uint64, tag = "10")]
3872 pub deqs_flow_old_starvation: u64,
3873 #[prost(uint64, tag = "11")]
3874 pub deqs_dropped: u64,
3875 }
3876 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
3877 pub struct Alerts {
3878 #[prost(bool, tag = "1")]
3879 pub throughput_limited: bool,
3880 }
3881 #[derive(
3882 Clone,
3883 Copy,
3884 Debug,
3885 PartialEq,
3886 Eq,
3887 Hash,
3888 PartialOrd,
3889 Ord,
3890 ::prost::Enumeration
3891 )]
3892 #[repr(i32)]
3893 pub enum Interface {
3894 Unknown = 0,
3895 Eth = 1,
3896 Rf2ghz = 2,
3897 Rf5ghz = 3,
3898 Rf5ghzHigh = 4,
3899 }
3900 impl Interface {
3901 pub fn as_str_name(&self) -> &'static str {
3906 match self {
3907 Self::Unknown => "UNKNOWN",
3908 Self::Eth => "ETH",
3909 Self::Rf2ghz => "RF_2GHZ",
3910 Self::Rf5ghz => "RF_5GHZ",
3911 Self::Rf5ghzHigh => "RF_5GHZ_HIGH",
3912 }
3913 }
3914 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3916 match value {
3917 "UNKNOWN" => Some(Self::Unknown),
3918 "ETH" => Some(Self::Eth),
3919 "RF_2GHZ" => Some(Self::Rf2ghz),
3920 "RF_5GHZ" => Some(Self::Rf5ghz),
3921 "RF_5GHZ_HIGH" => Some(Self::Rf5ghzHigh),
3922 _ => None,
3923 }
3924 }
3925 }
3926 #[derive(
3927 Clone,
3928 Copy,
3929 Debug,
3930 PartialEq,
3931 Eq,
3932 Hash,
3933 PartialOrd,
3934 Ord,
3935 ::prost::Enumeration
3936 )]
3937 #[repr(i32)]
3938 pub enum Role {
3939 Unknown = 0,
3940 Client = 1,
3941 Repeater = 2,
3942 Controller = 3,
3943 }
3944 impl Role {
3945 pub fn as_str_name(&self) -> &'static str {
3950 match self {
3951 Self::Unknown => "ROLE_UNKNOWN",
3952 Self::Client => "CLIENT",
3953 Self::Repeater => "REPEATER",
3954 Self::Controller => "CONTROLLER",
3955 }
3956 }
3957 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3959 match value {
3960 "ROLE_UNKNOWN" => Some(Self::Unknown),
3961 "CLIENT" => Some(Self::Client),
3962 "REPEATER" => Some(Self::Repeater),
3963 "CONTROLLER" => Some(Self::Controller),
3964 _ => None,
3965 }
3966 }
3967 }
3968}
3969#[derive(Clone, PartialEq, ::prost::Message)]
3970pub struct WifiSetupRequest {
3971 #[prost(bool, tag = "1")]
3972 pub skip: bool,
3973 #[prost(string, tag = "2")]
3974 pub network_name: ::prost::alloc::string::String,
3975 #[prost(string, tag = "3")]
3976 pub network_password: ::prost::alloc::string::String,
3977 #[prost(bool, tag = "4")]
3978 pub bypass: bool,
3979}
3980#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3981pub struct WifiSetupResponse {}
3982#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3983pub struct WifiBandStatus {
3984 #[prost(float, tag = "1")]
3985 pub chan_busy_time_fraction: f32,
3986 #[prost(float, tag = "2")]
3987 pub tx_air_time_fraction: f32,
3988 #[prost(float, tag = "3")]
3989 pub rx_air_time_fraction: f32,
3990 #[prost(float, tag = "4")]
3991 pub obss_air_time_fraction: f32,
3992 #[prost(float, tag = "5")]
3993 pub edcca_air_time_fraction: f32,
3994}
3995#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3996pub struct WifiAlerts {
3997 #[prost(bool, tag = "1")]
3998 pub thermal_throttle: bool,
3999 #[prost(bool, tag = "2")]
4000 pub install_pending: bool,
4001 #[prost(bool, tag = "3")]
4002 pub freshly_fused: bool,
4003 #[prost(bool, tag = "4")]
4004 pub lan_eth_slow_link_10: bool,
4005 #[prost(bool, tag = "5")]
4006 pub lan_eth_slow_link_100: bool,
4007 #[prost(bool, tag = "21")]
4008 pub high_cable_ping_drop_rate: bool,
4009 #[prost(bool, tag = "10")]
4010 pub wan_eth_poor_connection: bool,
4011 #[prost(bool, tag = "11")]
4012 pub mesh_topology_changing_often: bool,
4013 #[prost(bool, tag = "12")]
4014 pub mesh_unreliable_backhaul: bool,
4015 #[prost(bool, tag = "13")]
4016 pub radius_missing_process: bool,
4017 #[prost(bool, tag = "14")]
4018 pub eth_switch_error: bool,
4019 #[prost(bool, tag = "15")]
4020 pub poe_on_dish_unreachable: bool,
4021 #[prost(bool, tag = "16")]
4022 pub poe_fuse_blown: bool,
4023 #[prost(bool, tag = "17")]
4024 pub poe_router_overcurrent: bool,
4025 #[prost(bool, tag = "18")]
4026 pub poe_off_current_nominal: bool,
4027 #[prost(bool, tag = "19")]
4028 pub poe_vin_overvoltage: bool,
4029 #[prost(bool, tag = "20")]
4030 pub poe_vin_undervoltage: bool,
4031 #[prost(bool, tag = "22")]
4032 pub sandbox_disabled: bool,
4033 #[prost(bool, tag = "23")]
4034 pub only_overflight_blocked: bool,
4035 #[prost(bool, tag = "24")]
4036 pub offline_networks_disabled: bool,
4037}
4038#[derive(Clone, PartialEq, ::prost::Message)]
4039pub struct WifiGetStatusResponse {
4040 #[prost(message, optional, tag = "3")]
4041 pub device_info: ::core::option::Option<DeviceInfo>,
4042 #[prost(message, optional, tag = "4")]
4043 pub device_state: ::core::option::Option<DeviceState>,
4044 #[deprecated]
4045 #[prost(bool, tag = "1")]
4046 pub captive_portal_enabled: bool,
4047 #[prost(string, tag = "1003")]
4048 pub ipv4_wan_address: ::prost::alloc::string::String,
4049 #[prost(string, repeated, tag = "1017")]
4050 pub ipv6_wan_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4051 #[prost(float, tag = "1004")]
4052 pub ping_drop_rate: f32,
4053 #[prost(float, tag = "1021")]
4054 pub ping_drop_rate_5m: f32,
4055 #[prost(float, tag = "1005")]
4056 pub ping_latency_ms: f32,
4057 #[prost(float, tag = "1012")]
4058 pub dish_ping_drop_rate: f32,
4059 #[prost(float, tag = "1018")]
4060 pub dish_ping_drop_rate_5m: f32,
4061 #[prost(float, tag = "1013")]
4062 pub dish_ping_latency_ms: f32,
4063 #[prost(float, tag = "1014")]
4064 pub pop_ping_drop_rate: f32,
4065 #[prost(float, tag = "1020")]
4066 pub pop_ping_drop_rate_5m: f32,
4067 #[prost(float, tag = "1015")]
4068 pub pop_ping_latency_ms: f32,
4069 #[prost(float, tag = "1027")]
4070 pub pop_ipv6_ping_drop_rate: f32,
4071 #[prost(float, tag = "1028")]
4072 pub pop_ipv6_ping_drop_rate_5m: f32,
4073 #[prost(float, tag = "1029")]
4074 pub pop_ipv6_ping_latency_ms: f32,
4075 #[deprecated]
4076 #[prost(message, optional, tag = "1008")]
4077 pub rf_2ghz_status: ::core::option::Option<WifiBandStatus>,
4078 #[deprecated]
4079 #[prost(message, optional, tag = "1009")]
4080 pub rf_5ghz_status: ::core::option::Option<WifiBandStatus>,
4081 #[prost(message, optional, tag = "1010")]
4082 pub alerts: ::core::option::Option<WifiAlerts>,
4083 #[prost(bool, tag = "1011")]
4084 pub is_aviation: bool,
4085 #[prost(message, optional, tag = "2000")]
4086 pub config: ::core::option::Option<WifiConfig>,
4087 #[prost(message, repeated, tag = "3000")]
4088 pub clients: ::prost::alloc::vec::Vec<WifiClient>,
4089 #[prost(bool, tag = "3001")]
4090 pub has_client_index: bool,
4091 #[prost(int32, tag = "3002")]
4092 pub client_index: i32,
4093 #[prost(bool, tag = "1016")]
4094 pub is_aviation_conformed: bool,
4095 #[prost(message, optional, tag = "3003")]
4096 pub radius_stats: ::core::option::Option<RadiusStatsMap>,
4097 #[prost(message, repeated, tag = "1019")]
4098 pub dhcp_servers: ::prost::alloc::vec::Vec<DhcpServer>,
4099 #[prost(message, optional, tag = "1022")]
4100 pub poe_stats: ::core::option::Option<PoeStats>,
4101 #[prost(string, tag = "1023")]
4102 pub dish_id: ::prost::alloc::string::String,
4103 #[prost(enumeration = "super::satellites::network::UtDisablementCode", tag = "1031")]
4104 pub dish_disablement_code: i32,
4105 #[prost(int64, tag = "1024")]
4106 pub utc_ns: i64,
4107 #[prost(message, optional, tag = "1025")]
4108 pub software_update_stats: ::core::option::Option<WifiSoftwareUpdateStats>,
4109 #[prost(message, optional, tag = "1026")]
4110 pub setup_requirement: ::core::option::Option<WifiSetupRequirement>,
4111 #[prost(float, tag = "1030")]
4112 pub secs_since_last_public_ipv4_change: f32,
4113}
4114#[derive(Clone, PartialEq, ::prost::Message)]
4115pub struct WifiAuthenticateRequest {
4116 #[prost(message, optional, tag = "1")]
4117 pub challenge: ::core::option::Option<SignedData>,
4118}
4119#[derive(Clone, PartialEq, ::prost::Message)]
4120pub struct WifiAuthenticateResponse {
4121 #[prost(message, optional, tag = "1")]
4122 pub wifi: ::core::option::Option<ChallengeResponse>,
4123 #[prost(message, optional, tag = "2")]
4124 pub dish: ::core::option::Option<ChallengeResponse>,
4125}
4126#[derive(Clone, PartialEq, ::prost::Message)]
4127pub struct WifiAccountBondingEvent {
4128 #[prost(string, tag = "1")]
4129 pub dish_id: ::prost::alloc::string::String,
4130 #[prost(bool, tag = "2")]
4131 pub is_repeater: bool,
4132 #[prost(string, tag = "3")]
4133 pub hardware_version: ::prost::alloc::string::String,
4134}
4135#[derive(Clone, PartialEq, ::prost::Message)]
4136pub struct WifiNewPeerEvent {
4137 #[prost(string, tag = "1")]
4138 pub peer_id: ::prost::alloc::string::String,
4139}
4140#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4141pub struct PingMetrics {
4142 #[prost(float, tag = "1")]
4143 pub latency_mean_ms: f32,
4144 #[prost(float, tag = "2")]
4145 pub latency_stddev_ms: f32,
4146 #[prost(float, tag = "3")]
4147 pub latency_mean_ms_5m: f32,
4148 #[prost(float, tag = "4")]
4149 pub latency_mean_ms_1h: f32,
4150 #[deprecated]
4151 #[prost(float, tag = "5")]
4152 pub latency_mean_ms_1d: f32,
4153 #[prost(float, tag = "6")]
4154 pub drop_rate: f32,
4155 #[prost(float, tag = "7")]
4156 pub drop_rate_5m: f32,
4157 #[prost(float, tag = "8")]
4158 pub drop_rate_1h: f32,
4159 #[prost(float, tag = "9")]
4160 pub drop_rate_1d: f32,
4161 #[prost(float, tag = "10")]
4162 pub seconds_since_last_success: f32,
4163 #[prost(float, tag = "11")]
4164 pub seconds_since_last_1s_outage: f32,
4165 #[prost(float, tag = "15")]
4166 pub seconds_since_last_2s_outage: f32,
4167 #[prost(float, tag = "12")]
4168 pub seconds_since_last_5s_outage: f32,
4169 #[prost(float, tag = "18")]
4170 pub seconds_since_last_15s_outage: f32,
4171 #[prost(float, tag = "19")]
4172 pub seconds_since_last_60s_outage: f32,
4173 #[prost(float, tag = "20")]
4174 pub seconds_since_last_300s_outage: f32,
4175 #[prost(float, tag = "13")]
4176 pub happy_hours_1s_1d: f32,
4177 #[prost(float, tag = "16")]
4178 pub happy_hours_2s_1d: f32,
4179 #[prost(float, tag = "14")]
4180 pub happy_hours_5s_1d: f32,
4181}
4182#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4183pub struct WifiGetPingMetricsRequest {}
4184#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4185pub struct WifiGetPingMetricsResponse {
4186 #[prost(message, optional, tag = "1")]
4187 pub internet: ::core::option::Option<PingMetrics>,
4188}
4189#[derive(Clone, PartialEq, ::prost::Message)]
4190pub struct WifiNetwork {
4191 #[prost(enumeration = "wifi_network::Band", tag = "1")]
4192 pub band: i32,
4193 #[prost(string, tag = "2")]
4194 pub ssid: ::prost::alloc::string::String,
4195 #[prost(uint32, tag = "3")]
4196 pub channel: u32,
4197 #[prost(string, tag = "4")]
4198 pub encryption_type_str: ::prost::alloc::string::String,
4199}
4200pub mod wifi_network {
4202 #[derive(
4203 Clone,
4204 Copy,
4205 Debug,
4206 PartialEq,
4207 Eq,
4208 Hash,
4209 PartialOrd,
4210 Ord,
4211 ::prost::Enumeration
4212 )]
4213 #[repr(i32)]
4214 pub enum Band {
4215 WifiUnknown = 0,
4216 Wifi24ghz = 1,
4217 Wifi5ghz = 2,
4218 }
4219 impl Band {
4220 pub fn as_str_name(&self) -> &'static str {
4225 match self {
4226 Self::WifiUnknown => "WIFI_UNKNOWN",
4227 Self::Wifi24ghz => "WIFI_2_4GHZ",
4228 Self::Wifi5ghz => "WIFI_5GHZ",
4229 }
4230 }
4231 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4233 match value {
4234 "WIFI_UNKNOWN" => Some(Self::WifiUnknown),
4235 "WIFI_2_4GHZ" => Some(Self::Wifi24ghz),
4236 "WIFI_5GHZ" => Some(Self::Wifi5ghz),
4237 _ => None,
4238 }
4239 }
4240 }
4241}
4242#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4243pub struct WifiPersistentStats {
4244 #[prost(message, optional, tag = "1")]
4245 pub factory_reset_button: ::core::option::Option<wifi_persistent_stats::Event>,
4246 #[prost(message, optional, tag = "2")]
4247 pub factory_reset_plug_unplug: ::core::option::Option<wifi_persistent_stats::Event>,
4248 #[prost(message, optional, tag = "3")]
4249 pub factory_reset_command: ::core::option::Option<wifi_persistent_stats::Event>,
4250 #[prost(message, optional, tag = "4")]
4251 pub factory_reset_failed_load_wifi_config: ::core::option::Option<
4252 wifi_persistent_stats::Event,
4253 >,
4254 #[prost(message, optional, tag = "5")]
4255 pub reboot_from_software_update: ::core::option::Option<
4256 wifi_persistent_stats::Event,
4257 >,
4258}
4259pub mod wifi_persistent_stats {
4261 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
4262 pub struct Event {
4263 #[prost(uint32, tag = "1")]
4264 pub count: u32,
4265 #[prost(int64, tag = "2")]
4266 pub last_occurred_timestamp: i64,
4267 }
4268}
4269#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4270pub struct WifiGetPersistentStatsResponse {
4271 #[prost(message, optional, tag = "1")]
4272 pub stats: ::core::option::Option<WifiPersistentStats>,
4273}
4274#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4275pub struct RadioStats {
4276 #[prost(enumeration = "wifi_config::Band", tag = "1")]
4277 pub band: i32,
4278 #[prost(message, optional, tag = "2")]
4279 pub rx_stats: ::core::option::Option<network_interface::RxStats>,
4280 #[prost(message, optional, tag = "3")]
4281 pub tx_stats: ::core::option::Option<network_interface::TxStats>,
4282 #[prost(message, optional, tag = "4")]
4283 pub thermal_status: ::core::option::Option<radio_stats::ThermalStatus>,
4284 #[prost(message, optional, tag = "5")]
4285 pub antenna_status: ::core::option::Option<radio_stats::AntennaStatus>,
4286}
4287pub mod radio_stats {
4289 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
4290 pub struct ThermalStatus {
4291 #[prost(uint32, tag = "1")]
4292 pub level: u32,
4293 #[deprecated]
4294 #[prost(uint32, tag = "2")]
4295 pub temp: u32,
4296 #[prost(double, tag = "3")]
4297 pub temp2: f64,
4298 #[prost(uint32, tag = "4")]
4299 pub power_reduction: u32,
4300 #[prost(uint32, tag = "5")]
4301 pub duty_cycle: u32,
4302 }
4303 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
4304 pub struct AntennaStatus {
4305 #[prost(float, tag = "1")]
4306 pub rssi1: f32,
4307 #[prost(float, tag = "2")]
4308 pub rssi2: f32,
4309 #[prost(float, tag = "3")]
4310 pub rssi3: f32,
4311 #[prost(float, tag = "4")]
4312 pub rssi4: f32,
4313 }
4314}
4315#[derive(Clone, PartialEq, ::prost::Message)]
4316pub struct StarlinkRoutersHourlyMetricsV2 {
4317 #[prost(message, optional, tag = "1")]
4318 pub id: ::core::option::Option<::prost::alloc::string::String>,
4319 #[prost(message, optional, tag = "2")]
4320 pub timestamp_date: ::core::option::Option<::prost::alloc::string::String>,
4321 #[prost(message, optional, tag = "3")]
4322 pub timestamp_hour: ::core::option::Option<u32>,
4323 #[prost(message, optional, tag = "10000")]
4324 pub timestamp: ::core::option::Option<
4325 super::telemetron::public::common::TimestampInfo,
4326 >,
4327 #[prost(message, optional, tag = "4")]
4328 pub sys_hw_gen: ::core::option::Option<u32>,
4329 #[prost(message, optional, tag = "5")]
4330 pub sys_sw: ::core::option::Option<::prost::alloc::string::String>,
4331 #[prost(message, optional, tag = "6")]
4332 pub sys_country: ::core::option::Option<::prost::alloc::string::String>,
4333 #[prost(message, optional, tag = "7")]
4334 pub sys_is_dev: ::core::option::Option<bool>,
4335 #[prost(message, optional, tag = "8")]
4336 pub sys_alloc_fds: ::core::option::Option<u32>,
4337 #[prost(message, optional, tag = "9")]
4338 pub sys_cpu_usage: ::core::option::Option<f32>,
4339 #[prost(message, optional, tag = "10")]
4340 pub sys_mem_free_kb: ::core::option::Option<f32>,
4341 #[prost(message, optional, tag = "11")]
4342 pub sys_bootcount: ::core::option::Option<i32>,
4343 #[prost(message, optional, tag = "12")]
4344 pub sys_partitions_equal: ::core::option::Option<bool>,
4345 #[prost(message, optional, tag = "13")]
4346 pub sys_uptime_seconds: ::core::option::Option<u32>,
4347 #[prost(message, optional, tag = "14")]
4348 pub sys_anti_rollback_version: ::core::option::Option<i32>,
4349 #[prost(message, optional, tag = "15")]
4350 pub sys_is_witl: ::core::option::Option<bool>,
4351 #[prost(message, optional, tag = "16")]
4352 pub sys_is_aviation_conformed: ::core::option::Option<bool>,
4353 #[prost(message, optional, tag = "17")]
4354 pub sys_ubi_max_ec: ::core::option::Option<u32>,
4355 #[prost(message, optional, tag = "18")]
4356 pub sys_ubi_bad_peb: ::core::option::Option<u32>,
4357 #[prost(message, optional, tag = "19")]
4358 pub sys_board_rev: ::core::option::Option<u32>,
4359 #[prost(message, optional, tag = "100")]
4360 pub radios_2ghz_channel: ::core::option::Option<u32>,
4361 #[prost(message, optional, tag = "101")]
4362 pub radios_2ghz_antenna1_rssi: ::core::option::Option<f32>,
4363 #[prost(message, optional, tag = "102")]
4364 pub radios_2ghz_antenna2_rssi: ::core::option::Option<f32>,
4365 #[prost(message, optional, tag = "103")]
4366 pub radios_2ghz_antenna3_rssi: ::core::option::Option<f32>,
4367 #[prost(message, optional, tag = "197")]
4368 pub radios_2ghz_antenna4_rssi: ::core::option::Option<f32>,
4369 #[prost(message, optional, tag = "157")]
4370 pub radios_2ghz_antenna1_tssi: ::core::option::Option<f32>,
4371 #[prost(message, optional, tag = "158")]
4372 pub radios_2ghz_antenna2_tssi: ::core::option::Option<f32>,
4373 #[prost(message, optional, tag = "159")]
4374 pub radios_2ghz_antenna3_tssi: ::core::option::Option<f32>,
4375 #[prost(message, optional, tag = "160")]
4376 pub radios_2ghz_antenna4_tssi: ::core::option::Option<f32>,
4377 #[prost(message, optional, tag = "104")]
4378 pub radios_2ghz_iface_count: ::core::option::Option<u32>,
4379 #[prost(message, optional, tag = "105")]
4380 pub radios_2ghz_chan_busy_fraction: ::core::option::Option<f32>,
4381 #[prost(message, optional, tag = "106")]
4382 pub radios_2ghz_edcca_fraction: ::core::option::Option<f32>,
4383 #[prost(message, optional, tag = "107")]
4384 pub radios_2ghz_overlapping_bss_fraction: ::core::option::Option<f32>,
4385 #[prost(message, optional, tag = "108")]
4386 pub radios_2ghz_rx_bytes: ::core::option::Option<i64>,
4387 #[prost(message, optional, tag = "109")]
4388 pub radios_2ghz_rx_packets: ::core::option::Option<i64>,
4389 #[prost(message, optional, tag = "110")]
4390 pub radios_2ghz_rx_errors: ::core::option::Option<i64>,
4391 #[prost(message, optional, tag = "111")]
4392 pub radios_2ghz_rx_frame_errors: ::core::option::Option<i64>,
4393 #[prost(message, optional, tag = "112")]
4394 pub radios_2ghz_rx_packet_error_rate: ::core::option::Option<f32>,
4395 #[prost(message, optional, tag = "113")]
4396 pub radios_2ghz_rx_airtime_fraction: ::core::option::Option<f32>,
4397 #[prost(message, optional, tag = "114")]
4398 pub radios_2ghz_tx_bytes: ::core::option::Option<i64>,
4399 #[prost(message, optional, tag = "115")]
4400 pub radios_2ghz_tx_packets: ::core::option::Option<i64>,
4401 #[prost(message, optional, tag = "116")]
4402 pub radios_2ghz_tx_errors: ::core::option::Option<i64>,
4403 #[prost(message, optional, tag = "117")]
4404 pub radios_2ghz_tx_packet_error_rate: ::core::option::Option<f32>,
4405 #[prost(message, optional, tag = "118")]
4406 pub radios_2ghz_tx_airtime_fraction: ::core::option::Option<f32>,
4407 #[prost(message, optional, tag = "119")]
4408 pub radios_5ghz_channel: ::core::option::Option<u32>,
4409 #[prost(message, optional, tag = "120")]
4410 pub radios_5ghz_antenna1_rssi: ::core::option::Option<f32>,
4411 #[prost(message, optional, tag = "121")]
4412 pub radios_5ghz_antenna2_rssi: ::core::option::Option<f32>,
4413 #[prost(message, optional, tag = "122")]
4414 pub radios_5ghz_antenna3_rssi: ::core::option::Option<f32>,
4415 #[prost(message, optional, tag = "198")]
4416 pub radios_5ghz_antenna4_rssi: ::core::option::Option<f32>,
4417 #[prost(message, optional, tag = "161")]
4418 pub radios_5ghz_antenna1_tssi: ::core::option::Option<f32>,
4419 #[prost(message, optional, tag = "162")]
4420 pub radios_5ghz_antenna2_tssi: ::core::option::Option<f32>,
4421 #[prost(message, optional, tag = "163")]
4422 pub radios_5ghz_antenna3_tssi: ::core::option::Option<f32>,
4423 #[prost(message, optional, tag = "164")]
4424 pub radios_5ghz_antenna4_tssi: ::core::option::Option<f32>,
4425 #[prost(message, optional, tag = "123")]
4426 pub radios_5ghz_iface_count: ::core::option::Option<u32>,
4427 #[prost(message, optional, tag = "124")]
4428 pub radios_5ghz_chan_busy_fraction: ::core::option::Option<f32>,
4429 #[prost(message, optional, tag = "125")]
4430 pub radios_5ghz_edcca_fraction: ::core::option::Option<f32>,
4431 #[prost(message, optional, tag = "126")]
4432 pub radios_5ghz_overlapping_bss_fraction: ::core::option::Option<f32>,
4433 #[prost(message, optional, tag = "127")]
4434 pub radios_5ghz_rx_bytes: ::core::option::Option<i64>,
4435 #[prost(message, optional, tag = "128")]
4436 pub radios_5ghz_rx_packets: ::core::option::Option<i64>,
4437 #[prost(message, optional, tag = "129")]
4438 pub radios_5ghz_rx_errors: ::core::option::Option<i64>,
4439 #[prost(message, optional, tag = "130")]
4440 pub radios_5ghz_rx_frame_errors: ::core::option::Option<i64>,
4441 #[prost(message, optional, tag = "131")]
4442 pub radios_5ghz_rx_packet_error_rate: ::core::option::Option<f32>,
4443 #[prost(message, optional, tag = "132")]
4444 pub radios_5ghz_rx_airtime_fraction: ::core::option::Option<f32>,
4445 #[prost(message, optional, tag = "133")]
4446 pub radios_5ghz_tx_bytes: ::core::option::Option<i64>,
4447 #[prost(message, optional, tag = "134")]
4448 pub radios_5ghz_tx_packets: ::core::option::Option<i64>,
4449 #[prost(message, optional, tag = "135")]
4450 pub radios_5ghz_tx_errors: ::core::option::Option<i64>,
4451 #[prost(message, optional, tag = "136")]
4452 pub radios_5ghz_tx_packet_error_rate: ::core::option::Option<f32>,
4453 #[prost(message, optional, tag = "137")]
4454 pub radios_5ghz_tx_airtime_fraction: ::core::option::Option<f32>,
4455 #[prost(message, optional, tag = "138")]
4456 pub radios_5ghz_high_channel: ::core::option::Option<u32>,
4457 #[prost(message, optional, tag = "139")]
4458 pub radios_5ghz_high_antenna1_rssi: ::core::option::Option<f32>,
4459 #[prost(message, optional, tag = "140")]
4460 pub radios_5ghz_high_antenna2_rssi: ::core::option::Option<f32>,
4461 #[prost(message, optional, tag = "141")]
4462 pub radios_5ghz_high_antenna3_rssi: ::core::option::Option<f32>,
4463 #[prost(message, optional, tag = "199")]
4464 pub radios_5ghz_high_antenna4_rssi: ::core::option::Option<f32>,
4465 #[prost(message, optional, tag = "165")]
4466 pub radios_5ghz_high_antenna1_tssi: ::core::option::Option<f32>,
4467 #[prost(message, optional, tag = "166")]
4468 pub radios_5ghz_high_antenna2_tssi: ::core::option::Option<f32>,
4469 #[prost(message, optional, tag = "167")]
4470 pub radios_5ghz_high_antenna3_tssi: ::core::option::Option<f32>,
4471 #[prost(message, optional, tag = "168")]
4472 pub radios_5ghz_high_antenna4_tssi: ::core::option::Option<f32>,
4473 #[prost(message, optional, tag = "142")]
4474 pub radios_5ghz_high_iface_count: ::core::option::Option<u32>,
4475 #[prost(message, optional, tag = "143")]
4476 pub radios_5ghz_high_chan_busy_fraction: ::core::option::Option<f32>,
4477 #[prost(message, optional, tag = "144")]
4478 pub radios_5ghz_high_edcca_fraction: ::core::option::Option<f32>,
4479 #[prost(message, optional, tag = "145")]
4480 pub radios_5ghz_high_overlapping_bss_fraction: ::core::option::Option<f32>,
4481 #[prost(message, optional, tag = "146")]
4482 pub radios_5ghz_high_rx_bytes: ::core::option::Option<i64>,
4483 #[prost(message, optional, tag = "147")]
4484 pub radios_5ghz_high_rx_packets: ::core::option::Option<i64>,
4485 #[prost(message, optional, tag = "148")]
4486 pub radios_5ghz_high_rx_errors: ::core::option::Option<i64>,
4487 #[prost(message, optional, tag = "149")]
4488 pub radios_5ghz_high_rx_frame_errors: ::core::option::Option<i64>,
4489 #[prost(message, optional, tag = "150")]
4490 pub radios_5ghz_high_rx_packet_error_rate: ::core::option::Option<f32>,
4491 #[prost(message, optional, tag = "151")]
4492 pub radios_5ghz_high_rx_airtime_fraction: ::core::option::Option<f32>,
4493 #[prost(message, optional, tag = "152")]
4494 pub radios_5ghz_high_tx_bytes: ::core::option::Option<i64>,
4495 #[prost(message, optional, tag = "153")]
4496 pub radios_5ghz_high_tx_packets: ::core::option::Option<i64>,
4497 #[prost(message, optional, tag = "154")]
4498 pub radios_5ghz_high_tx_errors: ::core::option::Option<i64>,
4499 #[prost(message, optional, tag = "155")]
4500 pub radios_5ghz_high_tx_packet_error_rate: ::core::option::Option<f32>,
4501 #[prost(message, optional, tag = "156")]
4502 pub radios_5ghz_high_tx_airtime_fraction: ::core::option::Option<f32>,
4503 #[prost(message, optional, tag = "200")]
4504 pub radios_2ghz_thermal_temp: ::core::option::Option<f32>,
4505 #[prost(message, optional, tag = "201")]
4506 pub radios_5ghz_thermal_temp: ::core::option::Option<f32>,
4507 #[prost(message, optional, tag = "206")]
4508 pub radios_5ghz_high_thermal_temp: ::core::option::Option<f32>,
4509 #[prost(message, optional, tag = "202")]
4510 pub radios_2ghz_thermal_duty_cycle: ::core::option::Option<f32>,
4511 #[prost(message, optional, tag = "203")]
4512 pub radios_5ghz_thermal_duty_cycle: ::core::option::Option<f32>,
4513 #[prost(message, optional, tag = "207")]
4514 pub radios_5ghz_high_thermal_duty_cycle: ::core::option::Option<f32>,
4515 #[prost(message, optional, tag = "204")]
4516 pub radios_2ghz_thermal_throttled_seconds: ::core::option::Option<u32>,
4517 #[prost(message, optional, tag = "205")]
4518 pub radios_5ghz_thermal_throttled_seconds: ::core::option::Option<u32>,
4519 #[prost(message, optional, tag = "208")]
4520 pub radios_5ghz_high_thermal_throttled_seconds: ::core::option::Option<u32>,
4521 #[prost(message, optional, tag = "210")]
4522 pub board_temp: ::core::option::Option<f32>,
4523 #[prost(message, optional, tag = "211")]
4524 pub poe_mcu_die_temp: ::core::option::Option<f32>,
4525 #[prost(message, optional, tag = "212")]
4526 pub poe_percent_water_detect_avg: ::core::option::Option<f32>,
4527 #[prost(message, optional, tag = "300")]
4528 pub ifaces_lan_eth_rx_bytes: ::core::option::Option<i64>,
4529 #[prost(message, optional, tag = "301")]
4530 pub ifaces_lan_eth_rx_packets: ::core::option::Option<i64>,
4531 #[prost(message, optional, tag = "302")]
4532 pub ifaces_lan_eth_rx_errors: ::core::option::Option<i64>,
4533 #[prost(message, optional, tag = "303")]
4534 pub ifaces_lan_eth_rx_frame_errors: ::core::option::Option<i64>,
4535 #[prost(message, optional, tag = "304")]
4536 pub ifaces_lan_eth_tx_bytes: ::core::option::Option<i64>,
4537 #[prost(message, optional, tag = "305")]
4538 pub ifaces_lan_eth_tx_packets: ::core::option::Option<i64>,
4539 #[prost(message, optional, tag = "306")]
4540 pub ifaces_lan_eth_tx_errors: ::core::option::Option<i64>,
4541 #[prost(message, optional, tag = "314")]
4542 pub ifaces_lan1_eth_rx_bytes: ::core::option::Option<i64>,
4543 #[prost(message, optional, tag = "315")]
4544 pub ifaces_lan1_eth_rx_packets: ::core::option::Option<i64>,
4545 #[prost(message, optional, tag = "316")]
4546 pub ifaces_lan1_eth_rx_errors: ::core::option::Option<i64>,
4547 #[prost(message, optional, tag = "317")]
4548 pub ifaces_lan1_eth_rx_frame_errors: ::core::option::Option<i64>,
4549 #[prost(message, optional, tag = "318")]
4550 pub ifaces_lan1_eth_tx_bytes: ::core::option::Option<i64>,
4551 #[prost(message, optional, tag = "319")]
4552 pub ifaces_lan1_eth_tx_packets: ::core::option::Option<i64>,
4553 #[prost(message, optional, tag = "320")]
4554 pub ifaces_lan1_eth_tx_errors: ::core::option::Option<i64>,
4555 #[prost(message, optional, tag = "307")]
4556 pub ifaces_wan_eth_rx_bytes: ::core::option::Option<i64>,
4557 #[prost(message, optional, tag = "308")]
4558 pub ifaces_wan_eth_rx_packets: ::core::option::Option<i64>,
4559 #[prost(message, optional, tag = "309")]
4560 pub ifaces_wan_eth_rx_errors: ::core::option::Option<i64>,
4561 #[prost(message, optional, tag = "310")]
4562 pub ifaces_wan_eth_rx_frame_errors: ::core::option::Option<i64>,
4563 #[prost(message, optional, tag = "311")]
4564 pub ifaces_wan_eth_tx_bytes: ::core::option::Option<i64>,
4565 #[prost(message, optional, tag = "312")]
4566 pub ifaces_wan_eth_tx_packets: ::core::option::Option<i64>,
4567 #[prost(message, optional, tag = "313")]
4568 pub ifaces_wan_eth_tx_errors: ::core::option::Option<i64>,
4569 #[prost(message, optional, tag = "400")]
4570 pub clients: ::core::option::Option<u32>,
4571 #[prost(message, optional, tag = "401")]
4572 pub clients_2ghz: ::core::option::Option<u32>,
4573 #[prost(message, optional, tag = "402")]
4574 pub clients_5ghz: ::core::option::Option<u32>,
4575 #[prost(message, optional, tag = "413")]
4576 pub clients_5ghz_high: ::core::option::Option<u32>,
4577 #[prost(message, optional, tag = "403")]
4578 pub clients_eth: ::core::option::Option<u32>,
4579 #[prost(message, optional, tag = "429")]
4580 pub clients_5ghz_rx_bandwidth_20mhz: ::core::option::Option<u32>,
4581 #[prost(message, optional, tag = "430")]
4582 pub clients_5ghz_rx_bandwidth_40mhz: ::core::option::Option<u32>,
4583 #[prost(message, optional, tag = "431")]
4584 pub clients_5ghz_rx_bandwidth_80mhz: ::core::option::Option<u32>,
4585 #[prost(message, optional, tag = "404")]
4586 pub clients_repeater: ::core::option::Option<u32>,
4587 #[prost(message, optional, tag = "405")]
4588 pub clients_repeater_2ghz: ::core::option::Option<u32>,
4589 #[prost(message, optional, tag = "406")]
4590 pub clients_repeater_5ghz: ::core::option::Option<u32>,
4591 #[prost(message, optional, tag = "416")]
4592 pub clients_repeater_5ghz_high: ::core::option::Option<u32>,
4593 #[prost(message, optional, tag = "407")]
4594 pub clients_repeater_eth: ::core::option::Option<u32>,
4595 #[prost(message, optional, tag = "408")]
4596 pub mesh_hops: ::core::option::Option<u32>,
4597 #[prost(message, optional, tag = "409")]
4598 pub mesh_one_hop_rssi_avg_2ghz: ::core::option::Option<f32>,
4599 #[prost(message, optional, tag = "410")]
4600 pub mesh_one_hop_rssi_avg_5ghz: ::core::option::Option<f32>,
4601 #[prost(message, optional, tag = "414")]
4602 pub mesh_one_hop_rssi_avg_5ghz_high: ::core::option::Option<f32>,
4603 #[prost(message, optional, tag = "411")]
4604 pub mesh_two_hop_rssi_avg_2ghz: ::core::option::Option<f32>,
4605 #[prost(message, optional, tag = "412")]
4606 pub mesh_two_hop_rssi_avg_5ghz: ::core::option::Option<f32>,
4607 #[prost(message, optional, tag = "415")]
4608 pub mesh_two_hop_rssi_avg_5ghz_high: ::core::option::Option<f32>,
4609 #[prost(message, optional, tag = "418")]
4610 pub repeater_tx_rate_mbps_min: ::core::option::Option<f32>,
4611 #[prost(message, optional, tag = "419")]
4612 pub repeater_rx_rate_mbps_min: ::core::option::Option<f32>,
4613 #[prost(message, optional, tag = "420")]
4614 pub repeater_tx_rate_mbps_avg: ::core::option::Option<f32>,
4615 #[prost(message, optional, tag = "421")]
4616 pub repeater_rx_rate_mbps_avg: ::core::option::Option<f32>,
4617 #[prost(message, optional, tag = "422")]
4618 pub repeater_seconds_since_2s_outage_min: ::core::option::Option<f32>,
4619 #[prost(message, optional, tag = "424")]
4620 pub repeater_seconds_since_5s_outage_min: ::core::option::Option<f32>,
4621 #[prost(message, optional, tag = "423")]
4622 pub repeater_seconds_since_2s_outage_avg: ::core::option::Option<f32>,
4623 #[prost(message, optional, tag = "425")]
4624 pub repeater_seconds_since_5s_outage_avg: ::core::option::Option<f32>,
4625 #[prost(message, optional, tag = "426")]
4626 pub repeater_latency_ms_1h_max: ::core::option::Option<f32>,
4627 #[prost(message, optional, tag = "427")]
4628 pub repeater_latency_ms_1h_avg: ::core::option::Option<f32>,
4629 #[prost(message, optional, tag = "428")]
4630 pub mesh_topology_change_count_1d: ::core::option::Option<u32>,
4631 #[prost(message, optional, tag = "600")]
4632 pub ping_seconds_since_last_1s_outage: ::core::option::Option<f32>,
4633 #[prost(message, optional, tag = "601")]
4634 pub ping_seconds_since_last_2s_outage: ::core::option::Option<f32>,
4635 #[prost(message, optional, tag = "602")]
4636 pub ping_seconds_since_last_5s_outage: ::core::option::Option<f32>,
4637 #[prost(message, optional, tag = "603")]
4638 pub ping_seconds_since_last_60s_outage: ::core::option::Option<f32>,
4639 #[prost(message, optional, tag = "604")]
4640 pub ping_seconds_since_last_300s_outage: ::core::option::Option<f32>,
4641 #[prost(message, optional, tag = "605")]
4642 pub ping_drop_rate: ::core::option::Option<f32>,
4643 #[prost(message, optional, tag = "606")]
4644 pub ping_drop_rate_last_1h: ::core::option::Option<f32>,
4645 #[prost(message, optional, tag = "607")]
4646 pub ping_latency: ::core::option::Option<f32>,
4647 #[prost(message, optional, tag = "618")]
4648 pub ping_latency_last_1h: ::core::option::Option<f32>,
4649 #[prost(message, optional, tag = "610")]
4650 pub ping_dish_seconds_since_last_1s_outage: ::core::option::Option<f32>,
4651 #[prost(message, optional, tag = "611")]
4652 pub ping_dish_seconds_since_last_2s_outage: ::core::option::Option<f32>,
4653 #[prost(message, optional, tag = "612")]
4654 pub ping_dish_seconds_since_last_5s_outage: ::core::option::Option<f32>,
4655 #[prost(message, optional, tag = "613")]
4656 pub ping_dish_seconds_since_last_60s_outage: ::core::option::Option<f32>,
4657 #[prost(message, optional, tag = "614")]
4658 pub ping_dish_seconds_since_last_300s_outage: ::core::option::Option<f32>,
4659 #[prost(message, optional, tag = "615")]
4660 pub ping_dish_drop_rate: ::core::option::Option<f32>,
4661 #[prost(message, optional, tag = "616")]
4662 pub ping_dish_drop_rate_last_1h: ::core::option::Option<f32>,
4663 #[prost(message, optional, tag = "617")]
4664 pub ping_dish_latency: ::core::option::Option<f32>,
4665 #[prost(message, optional, tag = "619")]
4666 pub ping_dish_latency_last_1h: ::core::option::Option<f32>,
4667 #[prost(message, optional, tag = "621")]
4668 pub ping_pop_ipv6_drop_rate_last_1h: ::core::option::Option<f32>,
4669 #[prost(message, optional, tag = "623")]
4670 pub ping_pop_ipv6_latency_last_1h: ::core::option::Option<f32>,
4671 #[prost(message, optional, tag = "700")]
4672 pub client_speedtest_router_download_mbps: ::core::option::Option<f32>,
4673 #[prost(message, optional, tag = "701")]
4674 pub client_speedtest_router_upload_mbps: ::core::option::Option<f32>,
4675 #[prost(message, optional, tag = "702")]
4676 pub client_speedtest_router_rssi: ::core::option::Option<f32>,
4677 #[prost(message, optional, tag = "703")]
4678 pub client_speedtest_wifi_download_mbps: ::core::option::Option<f32>,
4679 #[prost(message, optional, tag = "704")]
4680 pub client_speedtest_wifi_upload_mbps: ::core::option::Option<f32>,
4681 #[prost(message, optional, tag = "705")]
4682 pub client_speedtest_client_download_mbps: ::core::option::Option<f32>,
4683 #[prost(message, optional, tag = "706")]
4684 pub client_speedtest_client_upload_mbps: ::core::option::Option<f32>,
4685 #[prost(message, optional, tag = "707")]
4686 pub client_speedtest_client_rssi: ::core::option::Option<f32>,
4687 #[prost(message, optional, tag = "708")]
4688 pub client_speedtest_client_iface: ::core::option::Option<u32>,
4689 #[prost(message, optional, tag = "709")]
4690 pub client_speedtest_client_oui: ::core::option::Option<
4691 ::prost::alloc::string::String,
4692 >,
4693 #[prost(message, optional, tag = "710")]
4694 pub client_speedtest_client_tx_rate: ::core::option::Option<u32>,
4695 #[prost(message, optional, tag = "711")]
4696 pub client_speedtest_client_rx_rate: ::core::option::Option<u32>,
4697 #[prost(message, optional, tag = "712")]
4698 pub client_speedtest_client_platform_type: ::core::option::Option<u32>,
4699 #[prost(message, optional, tag = "800")]
4700 pub speedtest_tcp_8_download_mbps_avg: ::core::option::Option<f32>,
4701 #[prost(message, optional, tag = "801")]
4702 pub speedtest_tcp_8_download_mbps_max: ::core::option::Option<f32>,
4703 #[prost(message, optional, tag = "802")]
4704 pub speedtest_tcp_8_upload_mbps_avg: ::core::option::Option<f32>,
4705 #[prost(message, optional, tag = "803")]
4706 pub speedtest_tcp_8_upload_mbps_max: ::core::option::Option<f32>,
4707 #[prost(message, optional, tag = "804")]
4708 pub speedtest_tcp_64_download_mbps_avg: ::core::option::Option<f32>,
4709 #[prost(message, optional, tag = "805")]
4710 pub speedtest_tcp_64_download_mbps_max: ::core::option::Option<f32>,
4711 #[prost(message, optional, tag = "806")]
4712 pub speedtest_tcp_64_upload_mbps_avg: ::core::option::Option<f32>,
4713 #[prost(message, optional, tag = "807")]
4714 pub speedtest_tcp_64_upload_mbps_max: ::core::option::Option<f32>,
4715 #[prost(message, optional, tag = "808")]
4716 pub speedtest_tcp_1_download_mbps_avg: ::core::option::Option<f32>,
4717 #[prost(message, optional, tag = "809")]
4718 pub speedtest_tcp_1_download_mbps_max: ::core::option::Option<f32>,
4719 #[prost(message, optional, tag = "810")]
4720 pub speedtest_tcp_1_upload_mbps_avg: ::core::option::Option<f32>,
4721 #[prost(message, optional, tag = "811")]
4722 pub speedtest_tcp_1_upload_mbps_max: ::core::option::Option<f32>,
4723 #[prost(message, optional, tag = "900")]
4724 pub dish_cell_id: ::core::option::Option<u32>,
4725 #[prost(message, optional, tag = "1000")]
4726 pub config_setup_complete: ::core::option::Option<bool>,
4727 #[prost(message, optional, tag = "1001")]
4728 pub config_bands_split: ::core::option::Option<bool>,
4729 #[prost(message, optional, tag = "1002")]
4730 pub config_is_repeater: ::core::option::Option<bool>,
4731 #[prost(message, optional, tag = "1003")]
4732 pub config_open_network: ::core::option::Option<bool>,
4733 #[prost(message, optional, tag = "1004")]
4734 pub config_is_aviation: ::core::option::Option<bool>,
4735 #[prost(message, optional, tag = "1005")]
4736 pub config_secure_dns: ::core::option::Option<bool>,
4737 #[prost(message, optional, tag = "1006")]
4738 pub config_legacy: ::core::option::Option<bool>,
4739 #[prost(message, optional, tag = "1007")]
4740 pub config_ap_mode: ::core::option::Option<bool>,
4741 #[prost(message, optional, tag = "1008")]
4742 pub config_dfs_enabled: ::core::option::Option<bool>,
4743 #[prost(message, optional, tag = "1009")]
4744 pub config_network_name_is_default: ::core::option::Option<bool>,
4745 #[prost(message, optional, tag = "1010")]
4746 pub config_remote_ssh_enabled: ::core::option::Option<bool>,
4747 #[prost(message, optional, tag = "1011")]
4748 pub config_is_repeater_wired: ::core::option::Option<bool>,
4749 #[prost(message, optional, tag = "1012")]
4750 pub config_is_repeater_wireless: ::core::option::Option<bool>,
4751 #[prost(message, optional, tag = "1013")]
4752 pub config_block_schedules_set: ::core::option::Option<u32>,
4753 #[prost(message, optional, tag = "1014")]
4754 pub config_custom_nameservers: ::core::option::Option<bool>,
4755 #[prost(message, optional, tag = "1015")]
4756 pub config_disable_mesh_onboarding: ::core::option::Option<bool>,
4757 #[prost(message, optional, tag = "1016")]
4758 pub config_pin_country_code: ::core::option::Option<bool>,
4759 #[prost(message, optional, tag = "1017")]
4760 pub config_disable_update_reboot: ::core::option::Option<bool>,
4761 #[prost(message, optional, tag = "1031")]
4762 pub config_https_content_hosting_enabled: ::core::option::Option<bool>,
4763 #[prost(message, optional, tag = "1018")]
4764 pub config_disable_2ghz: ::core::option::Option<bool>,
4765 #[prost(message, optional, tag = "1019")]
4766 pub config_disable_5ghz: ::core::option::Option<bool>,
4767 #[prost(message, optional, tag = "1029")]
4768 pub config_disable_5ghz_high: ::core::option::Option<bool>,
4769 #[prost(message, optional, tag = "1020")]
4770 pub config_channel_2ghz: ::core::option::Option<u32>,
4771 #[prost(message, optional, tag = "1021")]
4772 pub config_channel_5ghz: ::core::option::Option<u32>,
4773 #[prost(message, optional, tag = "1022")]
4774 pub config_channel_5ghz_high: ::core::option::Option<u32>,
4775 #[prost(message, optional, tag = "1023")]
4776 pub config_networks: ::core::option::Option<u32>,
4777 #[prost(message, optional, tag = "1024")]
4778 pub config_networks_guest: ::core::option::Option<u32>,
4779 #[prost(message, optional, tag = "1025")]
4780 pub config_networks_hidden: ::core::option::Option<u32>,
4781 #[prost(message, optional, tag = "1026")]
4782 pub config_networks_client_isolation: ::core::option::Option<u32>,
4783 #[prost(message, optional, tag = "1027")]
4784 pub config_networks_bands_split: ::core::option::Option<u32>,
4785 #[prost(message, optional, tag = "1101")]
4786 pub wan_traffic_control_cake_bytes: ::core::option::Option<i64>,
4787 #[prost(message, optional, tag = "1102")]
4788 pub wan_traffic_control_cake_packets: ::core::option::Option<i64>,
4789 #[prost(message, optional, tag = "1103")]
4790 pub wan_traffic_control_cake_drops: ::core::option::Option<i64>,
4791 #[prost(message, optional, tag = "1104")]
4792 pub wan_traffic_control_cake_ack_drops: ::core::option::Option<i64>,
4793 #[prost(message, optional, tag = "1100")]
4794 pub conntrack_entries: ::core::option::Option<u32>,
4795 #[prost(message, optional, tag = "1105")]
4796 pub dhcp_secs_eq_0: ::core::option::Option<u32>,
4797 #[prost(message, optional, tag = "1106")]
4798 pub dhcp_secs_gt_0: ::core::option::Option<u32>,
4799 #[prost(message, optional, tag = "1107")]
4800 pub dhcp_secs_gt_10: ::core::option::Option<u32>,
4801 #[prost(message, optional, tag = "1108")]
4802 pub dhcp_secs_gt_30: ::core::option::Option<u32>,
4803 #[prost(message, optional, tag = "1109")]
4804 pub dhcp_secs_gt_60: ::core::option::Option<u32>,
4805 #[prost(message, optional, tag = "1200")]
4806 pub dns_forwards: ::core::option::Option<u32>,
4807 #[prost(message, optional, tag = "1201")]
4808 pub dns_forwards_success: ::core::option::Option<u32>,
4809 #[prost(message, optional, tag = "1202")]
4810 pub dns_forwards_server_failure: ::core::option::Option<u32>,
4811 #[prost(message, optional, tag = "1203")]
4812 pub dns_forwards_no_server_response: ::core::option::Option<u32>,
4813 #[prost(message, optional, tag = "1204")]
4814 pub dns_forwards_success_on_default_backup: ::core::option::Option<u32>,
4815 #[prost(message, optional, tag = "1205")]
4816 pub dns_forwards_dropped: ::core::option::Option<u32>,
4817 #[prost(message, optional, tag = "1206")]
4818 pub dns_forwards_with_backup: ::core::option::Option<u32>,
4819}
4820#[derive(Clone, PartialEq, ::prost::Message)]
4821pub struct StarlinkRouterAlerts {
4822 #[prost(string, tag = "1")]
4823 pub name: ::prost::alloc::string::String,
4824 #[prost(string, tag = "2")]
4825 pub source: ::prost::alloc::string::String,
4826 #[prost(bool, tag = "3")]
4827 pub active: bool,
4828 #[prost(message, optional, tag = "4")]
4829 pub start: ::core::option::Option<super::telemetron::public::common::TimestampInfo>,
4830 #[prost(message, optional, tag = "5")]
4831 pub end: ::core::option::Option<super::telemetron::public::common::TimestampInfo>,
4832 #[prost(string, tag = "6")]
4833 pub hardware: ::prost::alloc::string::String,
4834 #[prost(string, tag = "7")]
4835 pub software: ::prost::alloc::string::String,
4836 #[prost(string, tag = "8")]
4837 pub details: ::prost::alloc::string::String,
4838}
4839#[derive(Clone, PartialEq, ::prost::Message)]
4840pub struct StarlinkRouterClientSpeedtests {
4841 #[prost(string, tag = "1")]
4842 pub id: ::prost::alloc::string::String,
4843 #[prost(message, optional, tag = "2")]
4844 pub data_record: ::core::option::Option<
4845 super::telemetron::public::common::TimestampInfo,
4846 >,
4847 #[prost(string, tag = "3")]
4848 pub country: ::prost::alloc::string::String,
4849 #[prost(message, optional, tag = "30")]
4850 pub speedtest_id: ::core::option::Option<::prost::alloc::string::String>,
4851 #[prost(message, optional, tag = "8")]
4852 pub client_rssi: ::core::option::Option<f32>,
4853 #[prost(message, optional, tag = "9")]
4854 pub router_rssi: ::core::option::Option<f32>,
4855 #[prost(message, optional, tag = "10")]
4856 pub client_iface: ::core::option::Option<u32>,
4857 #[prost(message, optional, tag = "11")]
4858 pub client_oui: ::core::option::Option<::prost::alloc::string::String>,
4859 #[prost(message, optional, tag = "12")]
4860 pub client_tx_rate: ::core::option::Option<u32>,
4861 #[prost(message, optional, tag = "13")]
4862 pub client_rx_rate: ::core::option::Option<u32>,
4863 #[prost(message, optional, tag = "27")]
4864 pub client_platform_type: ::core::option::Option<::prost::alloc::string::String>,
4865 #[prost(message, optional, tag = "34")]
4866 pub client_app_version: ::core::option::Option<::prost::alloc::string::String>,
4867 #[prost(message, optional, tag = "35")]
4868 pub client_app_build: ::core::option::Option<u32>,
4869 #[prost(message, optional, tag = "31")]
4870 pub client_rx_phy_mode: ::core::option::Option<u32>,
4871 #[prost(message, optional, tag = "32")]
4872 pub client_rx_spatial_streams: ::core::option::Option<u32>,
4873 #[prost(message, optional, tag = "33")]
4874 pub client_rx_mcs: ::core::option::Option<u32>,
4875 #[prost(message, optional, tag = "4")]
4876 pub client_download_start_time: ::core::option::Option<
4877 super::telemetron::public::common::TimestampInfo,
4878 >,
4879 #[prost(message, optional, tag = "5")]
4880 pub client_upload_start_time: ::core::option::Option<
4881 super::telemetron::public::common::TimestampInfo,
4882 >,
4883 #[prost(message, optional, tag = "6")]
4884 pub client_download_mbps_avg: ::core::option::Option<f32>,
4885 #[prost(message, optional, tag = "7")]
4886 pub client_upload_mbps_avg: ::core::option::Option<f32>,
4887 #[prost(message, optional, tag = "28")]
4888 pub client_target: ::core::option::Option<::prost::alloc::string::String>,
4889 #[prost(message, optional, tag = "16")]
4890 pub client_tcp_streams: ::core::option::Option<u32>,
4891 #[prost(message, optional, tag = "17")]
4892 pub router_download_start_time: ::core::option::Option<
4893 super::telemetron::public::common::TimestampInfo,
4894 >,
4895 #[prost(message, optional, tag = "18")]
4896 pub router_upload_start_time: ::core::option::Option<
4897 super::telemetron::public::common::TimestampInfo,
4898 >,
4899 #[prost(message, optional, tag = "19")]
4900 pub router_download_mbps_avg: ::core::option::Option<f32>,
4901 #[prost(message, optional, tag = "20")]
4902 pub router_upload_mbps_avg: ::core::option::Option<f32>,
4903 #[prost(message, optional, tag = "29")]
4904 pub router_target: ::core::option::Option<::prost::alloc::string::String>,
4905 #[prost(message, optional, tag = "22")]
4906 pub router_tcp_streams: ::core::option::Option<u32>,
4907 #[prost(message, optional, tag = "23")]
4908 pub wifi_download_start_time: ::core::option::Option<
4909 super::telemetron::public::common::TimestampInfo,
4910 >,
4911 #[prost(message, optional, tag = "24")]
4912 pub wifi_upload_start_time: ::core::option::Option<
4913 super::telemetron::public::common::TimestampInfo,
4914 >,
4915 #[prost(message, optional, tag = "25")]
4916 pub wifi_download_mbps_avg: ::core::option::Option<f32>,
4917 #[prost(message, optional, tag = "26")]
4918 pub wifi_upload_mbps_avg: ::core::option::Option<f32>,
4919}
4920#[derive(Clone, PartialEq, ::prost::Message)]
4921pub struct StarlinkRouterClients {
4922 #[prost(string, tag = "1")]
4923 pub router_id: ::prost::alloc::string::String,
4924 #[prost(message, optional, tag = "2")]
4925 pub timestamp: ::core::option::Option<
4926 super::telemetron::public::common::TimestampInfo,
4927 >,
4928 #[prost(uint32, tag = "3")]
4929 pub client_id: u32,
4930 #[prost(string, tag = "4")]
4931 pub client_telem_index: ::prost::alloc::string::String,
4932 #[prost(message, optional, tag = "119")]
4933 pub router_hw: ::core::option::Option<::prost::alloc::string::String>,
4934 #[prost(message, optional, tag = "120")]
4935 pub router_sw: ::core::option::Option<::prost::alloc::string::String>,
4936 #[prost(message, optional, tag = "137")]
4937 pub router_uptime_s: ::core::option::Option<u32>,
4938 #[prost(message, optional, tag = "121")]
4939 pub client_router_id: ::core::option::Option<::prost::alloc::string::String>,
4940 #[prost(message, optional, tag = "122")]
4941 pub client_hw: ::core::option::Option<::prost::alloc::string::String>,
4942 #[prost(message, optional, tag = "123")]
4943 pub client_sw: ::core::option::Option<::prost::alloc::string::String>,
4944 #[prost(message, optional, tag = "101")]
4945 pub oui: ::core::option::Option<::prost::alloc::string::String>,
4946 #[prost(message, optional, tag = "102")]
4947 pub upstream_id: ::core::option::Option<::prost::alloc::string::String>,
4948 #[prost(message, optional, tag = "103")]
4949 pub is_repeater: ::core::option::Option<bool>,
4950 #[prost(message, optional, tag = "104")]
4951 pub connected_s: ::core::option::Option<u32>,
4952 #[prost(message, optional, tag = "105")]
4953 pub interface: ::core::option::Option<::prost::alloc::string::String>,
4954 #[prost(message, optional, tag = "106")]
4955 pub radio_channel: ::core::option::Option<u32>,
4956 #[prost(message, optional, tag = "107")]
4957 pub rssi: ::core::option::Option<f32>,
4958 #[prost(message, optional, tag = "108")]
4959 pub rx_mcs: ::core::option::Option<u32>,
4960 #[prost(message, optional, tag = "109")]
4961 pub tx_mcs: ::core::option::Option<u32>,
4962 #[prost(message, optional, tag = "110")]
4963 pub rx_rate: ::core::option::Option<u32>,
4964 #[prost(message, optional, tag = "111")]
4965 pub tx_rate: ::core::option::Option<u32>,
4966 #[prost(message, optional, tag = "112")]
4967 pub rx_bandwidth: ::core::option::Option<u32>,
4968 #[prost(message, optional, tag = "113")]
4969 pub rx_spatial_streams: ::core::option::Option<u32>,
4970 #[prost(message, optional, tag = "114")]
4971 pub rx_phy_mode: ::core::option::Option<u32>,
4972 #[prost(message, optional, tag = "118")]
4973 pub mesh_hops: ::core::option::Option<u32>,
4974 #[prost(message, optional, tag = "124")]
4975 pub speedtest_upload_mbps: ::core::option::Option<f32>,
4976 #[prost(message, optional, tag = "125")]
4977 pub speedtest_download_mbps: ::core::option::Option<f32>,
4978 #[prost(message, optional, tag = "127")]
4979 pub site_survey_rssi: ::core::option::Option<f32>,
4980 #[prost(message, optional, tag = "128")]
4981 pub site_survey_est_rx_rate: ::core::option::Option<f32>,
4982 #[prost(message, optional, tag = "129")]
4983 pub est_controller_throughput_mbps: ::core::option::Option<u32>,
4984 #[prost(message, optional, tag = "115")]
4985 pub ping_drop_rate_last_1h: ::core::option::Option<f32>,
4986 #[prost(message, optional, tag = "116")]
4987 pub ping_latency_last_1h: ::core::option::Option<f32>,
4988 #[prost(message, optional, tag = "117")]
4989 pub steer_state: ::core::option::Option<::prost::alloc::string::String>,
4990 #[prost(message, optional, tag = "126")]
4991 pub blocked: ::core::option::Option<bool>,
4992 #[prost(message, optional, tag = "150")]
4993 pub throughput_limited_last_fired: ::core::option::Option<
4994 super::telemetron::public::common::TimestampInfo,
4995 >,
4996 #[prost(message, optional, tag = "130")]
4997 pub has_dhcp_v4_lease: ::core::option::Option<bool>,
4998 #[prost(message, optional, tag = "131")]
4999 pub ipv4_address: ::core::option::Option<::prost::alloc::string::String>,
5000 #[prost(message, optional, tag = "132")]
5001 pub has_hostname: ::core::option::Option<bool>,
5002 #[prost(message, optional, tag = "133")]
5003 pub dhcp_v4_lease_is_active: ::core::option::Option<bool>,
5004 #[prost(message, optional, tag = "134")]
5005 pub dhcp_v4_lease_was_renewed: ::core::option::Option<bool>,
5006 #[prost(message, optional, tag = "135")]
5007 pub seconds_until_dhcp_v4_lease_expires: ::core::option::Option<f32>,
5008 #[prost(message, optional, tag = "138")]
5009 pub dissociations_under_10s: ::core::option::Option<u32>,
5010 #[prost(message, optional, tag = "139")]
5011 pub dissociations_under_30s: ::core::option::Option<u32>,
5012 #[prost(message, optional, tag = "140")]
5013 pub dissociations_under_60s: ::core::option::Option<u32>,
5014 #[prost(message, optional, tag = "141")]
5015 pub dissociations_under_120s: ::core::option::Option<u32>,
5016 #[prost(message, optional, tag = "142")]
5017 pub seconds_to_conn_tcp_ipv4: ::core::option::Option<f32>,
5018 #[prost(message, optional, tag = "143")]
5019 pub seconds_to_conn_tcp_ipv6: ::core::option::Option<f32>,
5020 #[prost(message, optional, tag = "144")]
5021 pub seconds_to_conn_udp_ipv4: ::core::option::Option<f32>,
5022 #[prost(message, optional, tag = "145")]
5023 pub seconds_to_conn_udp_ipv6: ::core::option::Option<f32>,
5024 #[prost(message, optional, tag = "146")]
5025 pub flows_tcp_ipv4: ::core::option::Option<u32>,
5026 #[prost(message, optional, tag = "147")]
5027 pub flows_tcp_ipv6: ::core::option::Option<u32>,
5028 #[prost(message, optional, tag = "148")]
5029 pub flows_udp_ipv4: ::core::option::Option<u32>,
5030 #[prost(message, optional, tag = "149")]
5031 pub flows_udp_ipv6: ::core::option::Option<u32>,
5032}
5033#[derive(Clone, PartialEq, ::prost::Message)]
5034pub struct StarlinkRouterClientTesterRun {
5035 #[prost(string, tag = "1")]
5036 pub client_tester_router_id: ::prost::alloc::string::String,
5037 #[prost(message, optional, tag = "2")]
5038 pub timestamp: ::core::option::Option<
5039 super::telemetron::public::common::TimestampInfo,
5040 >,
5041 #[prost(message, optional, tag = "3")]
5042 pub client_iface_name: ::core::option::Option<::prost::alloc::string::String>,
5043 #[prost(message, optional, tag = "4")]
5044 pub target_ssid: ::core::option::Option<::prost::alloc::string::String>,
5045 #[prost(message, optional, tag = "5")]
5046 pub target_has_password: ::core::option::Option<bool>,
5047 #[prost(message, optional, tag = "6")]
5048 pub target_auth: ::core::option::Option<::prost::alloc::string::String>,
5049 #[prost(message, optional, tag = "7")]
5050 pub target_encryption: ::core::option::Option<::prost::alloc::string::String>,
5051 #[prost(message, optional, tag = "8")]
5052 pub target_bssid: ::core::option::Option<::prost::alloc::string::String>,
5053 #[prost(message, optional, tag = "25")]
5054 pub target_irtt_server: ::core::option::Option<::prost::alloc::string::String>,
5055 #[prost(message, optional, tag = "9")]
5056 pub iteration: ::core::option::Option<u32>,
5057 #[prost(message, optional, tag = "10")]
5058 pub error_code: ::core::option::Option<::prost::alloc::string::String>,
5059 #[prost(message, optional, tag = "11")]
5060 pub seconds_to_associate: ::core::option::Option<f32>,
5061 #[prost(message, optional, tag = "12")]
5062 pub seconds_to_lease: ::core::option::Option<f32>,
5063 #[prost(message, optional, tag = "13")]
5064 pub seconds_to_resolve_router: ::core::option::Option<f32>,
5065 #[prost(message, optional, tag = "14")]
5066 pub seconds_to_resolve_internet: ::core::option::Option<f32>,
5067 #[prost(message, optional, tag = "15")]
5068 pub seconds_to_ping_dish: ::core::option::Option<f32>,
5069 #[prost(message, optional, tag = "16")]
5070 pub v4_irtt_test_duration_s: ::core::option::Option<f32>,
5071 #[prost(message, optional, tag = "17")]
5072 pub v4_irtt_rtt_latency_min_ms: ::core::option::Option<f32>,
5073 #[prost(message, optional, tag = "18")]
5074 pub v4_irtt_rtt_latency_mean_ms: ::core::option::Option<f32>,
5075 #[prost(message, optional, tag = "19")]
5076 pub v4_irtt_rtt_latency_median_ms: ::core::option::Option<f32>,
5077 #[prost(message, optional, tag = "20")]
5078 pub v4_irtt_rtt_latency_max_ms: ::core::option::Option<f32>,
5079 #[prost(message, optional, tag = "21")]
5080 pub v4_irtt_rtt_latency_std_dev_ms: ::core::option::Option<f32>,
5081 #[prost(message, optional, tag = "22")]
5082 pub v4_irtt_pkts_sent: ::core::option::Option<u32>,
5083 #[prost(message, optional, tag = "23")]
5084 pub v4_irtt_pkts_recv: ::core::option::Option<u32>,
5085 #[prost(message, optional, tag = "24")]
5086 pub v4_irtt_loss_percent: ::core::option::Option<f32>,
5087}
5088#[derive(Clone, PartialEq, ::prost::Message)]
5089pub struct WifiSetClientGivenNameRequest {
5090 #[deprecated]
5091 #[prost(message, optional, tag = "1")]
5092 pub client_name: ::core::option::Option<ClientName>,
5093 #[prost(message, optional, tag = "2")]
5094 pub client_config: ::core::option::Option<ClientConfig>,
5095}
5096#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5097pub struct WifiSelfTestRequest {}
5098#[derive(Clone, PartialEq, ::prost::Message)]
5099pub struct WifiSelfTestResponse {
5100 #[prost(message, optional, tag = "1")]
5101 pub self_test: ::core::option::Option<WifiSelfTest>,
5102 #[prost(string, tag = "2")]
5103 pub json: ::prost::alloc::string::String,
5104}
5105#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5106pub struct WifiRunSelfTestRequest {}
5107#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5108pub struct WifiRfTestRequest {
5109 #[prost(uint32, tag = "1")]
5110 pub num_measurements: u32,
5111 #[prost(uint32, tag = "2")]
5112 pub channel_2ghz: u32,
5113 #[prost(uint32, tag = "3")]
5114 pub channel_5ghz: u32,
5115 #[prost(uint32, tag = "4")]
5116 pub channel_5ghz_high: u32,
5117 #[prost(uint32, tag = "5")]
5118 pub mcs_2ghz: u32,
5119 #[prost(uint32, tag = "6")]
5120 pub mcs_5ghz: u32,
5121 #[prost(uint32, tag = "7")]
5122 pub mcs_5ghz_high: u32,
5123 #[prost(uint32, tag = "8")]
5124 pub phy_mode_2ghz: u32,
5125 #[prost(uint32, tag = "9")]
5126 pub phy_mode_5ghz: u32,
5127 #[prost(uint32, tag = "10")]
5128 pub phy_mode_5ghz_high: u32,
5129}
5130#[derive(Clone, PartialEq, ::prost::Message)]
5131pub struct WifiRfTestResponse {
5132 #[prost(string, tag = "1")]
5133 pub report: ::prost::alloc::string::String,
5134}
5135#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5136pub struct WifiGetFirewallRequest {}
5137#[derive(Clone, PartialEq, ::prost::Message)]
5138pub struct WifiGetFirewallResponse {
5139 #[prost(string, tag = "1")]
5140 pub iptables: ::prost::alloc::string::String,
5141 #[prost(string, tag = "2")]
5142 pub iptables_6: ::prost::alloc::string::String,
5143}
5144#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5145pub struct WifiTogglePoeNegotiationRequest {
5146 #[prost(bool, tag = "1")]
5147 pub enable: bool,
5148}
5149#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5150pub struct WifiCalibrationModeRequest {}
5151#[derive(Clone, PartialEq, ::prost::Message)]
5152pub struct StarlinkRouterHourlyMetricsV2 {
5153 #[prost(message, optional, tag = "1")]
5154 pub id: ::core::option::Option<::prost::alloc::string::String>,
5155 #[prost(message, optional, tag = "2")]
5156 pub timestamp_date: ::core::option::Option<::prost::alloc::string::String>,
5157 #[prost(message, optional, tag = "3")]
5158 pub timestamp_hour: ::core::option::Option<u32>,
5159 #[prost(message, optional, tag = "4")]
5160 pub sys_hw_gen: ::core::option::Option<u32>,
5161 #[prost(message, optional, tag = "5")]
5162 pub sys_sw: ::core::option::Option<::prost::alloc::string::String>,
5163 #[prost(message, optional, tag = "6")]
5164 pub sys_country: ::core::option::Option<::prost::alloc::string::String>,
5165 #[prost(message, optional, tag = "7")]
5166 pub sys_is_dev: ::core::option::Option<bool>,
5167 #[prost(message, optional, tag = "8")]
5168 pub sys_alloc_fds: ::core::option::Option<u32>,
5169 #[prost(message, optional, tag = "9")]
5170 pub sys_cpu_usage: ::core::option::Option<f32>,
5171 #[prost(message, optional, tag = "10")]
5172 pub sys_mem_free_kb: ::core::option::Option<f32>,
5173 #[prost(message, optional, tag = "11")]
5174 pub sys_bootcount: ::core::option::Option<i32>,
5175 #[prost(message, optional, tag = "12")]
5176 pub sys_partitions_equal: ::core::option::Option<bool>,
5177 #[prost(message, optional, tag = "13")]
5178 pub sys_uptime_seconds: ::core::option::Option<u32>,
5179 #[prost(message, optional, tag = "14")]
5180 pub sys_anti_rollback_version: ::core::option::Option<i32>,
5181 #[prost(message, optional, tag = "100")]
5182 pub radios_2ghz_channel: ::core::option::Option<u32>,
5183 #[prost(message, optional, tag = "101")]
5184 pub radios_2ghz_antenna1_rssi: ::core::option::Option<f32>,
5185 #[prost(message, optional, tag = "102")]
5186 pub radios_2ghz_antenna2_rssi: ::core::option::Option<f32>,
5187 #[prost(message, optional, tag = "103")]
5188 pub radios_2ghz_antenna3_rssi: ::core::option::Option<f32>,
5189 #[prost(message, optional, tag = "104")]
5190 pub radios_2ghz_iface_count: ::core::option::Option<u32>,
5191 #[prost(message, optional, tag = "105")]
5192 pub radios_2ghz_chan_busy_fraction: ::core::option::Option<f32>,
5193 #[prost(message, optional, tag = "106")]
5194 pub radios_2ghz_edcca_fraction: ::core::option::Option<f32>,
5195 #[prost(message, optional, tag = "107")]
5196 pub radios_2ghz_overlapping_bss_fraction: ::core::option::Option<f32>,
5197 #[prost(message, optional, tag = "108")]
5198 pub radios_2ghz_rx_bytes: ::core::option::Option<u32>,
5199 #[prost(message, optional, tag = "109")]
5200 pub radios_2ghz_rx_packets: ::core::option::Option<u32>,
5201 #[prost(message, optional, tag = "110")]
5202 pub radios_2ghz_rx_errors: ::core::option::Option<u32>,
5203 #[prost(message, optional, tag = "111")]
5204 pub radios_2ghz_rx_frame_errors: ::core::option::Option<u32>,
5205 #[prost(message, optional, tag = "112")]
5206 pub radios_2ghz_rx_packet_error_rate: ::core::option::Option<f32>,
5207 #[prost(message, optional, tag = "113")]
5208 pub radios_2ghz_rx_airtime_fraction: ::core::option::Option<f32>,
5209 #[prost(message, optional, tag = "114")]
5210 pub radios_2ghz_tx_bytes: ::core::option::Option<u32>,
5211 #[prost(message, optional, tag = "115")]
5212 pub radios_2ghz_tx_packets: ::core::option::Option<u32>,
5213 #[prost(message, optional, tag = "116")]
5214 pub radios_2ghz_tx_errors: ::core::option::Option<u32>,
5215 #[prost(message, optional, tag = "117")]
5216 pub radios_2ghz_tx_packet_error_rate: ::core::option::Option<f32>,
5217 #[prost(message, optional, tag = "118")]
5218 pub radios_2ghz_tx_airtime_fraction: ::core::option::Option<f32>,
5219 #[prost(message, optional, tag = "119")]
5220 pub radios_5ghz_channel: ::core::option::Option<u32>,
5221 #[prost(message, optional, tag = "120")]
5222 pub radios_5ghz_antenna1_rssi: ::core::option::Option<f32>,
5223 #[prost(message, optional, tag = "121")]
5224 pub radios_5ghz_antenna2_rssi: ::core::option::Option<f32>,
5225 #[prost(message, optional, tag = "122")]
5226 pub radios_5ghz_antenna3_rssi: ::core::option::Option<f32>,
5227 #[prost(message, optional, tag = "123")]
5228 pub radios_5ghz_iface_count: ::core::option::Option<u32>,
5229 #[prost(message, optional, tag = "124")]
5230 pub radios_5ghz_chan_busy_fraction: ::core::option::Option<f32>,
5231 #[prost(message, optional, tag = "125")]
5232 pub radios_5ghz_edcca_fraction: ::core::option::Option<f32>,
5233 #[prost(message, optional, tag = "126")]
5234 pub radios_5ghz_overlapping_bss_fraction: ::core::option::Option<f32>,
5235 #[prost(message, optional, tag = "127")]
5236 pub radios_5ghz_rx_bytes: ::core::option::Option<u32>,
5237 #[prost(message, optional, tag = "128")]
5238 pub radios_5ghz_rx_packets: ::core::option::Option<u32>,
5239 #[prost(message, optional, tag = "129")]
5240 pub radios_5ghz_rx_errors: ::core::option::Option<u32>,
5241 #[prost(message, optional, tag = "130")]
5242 pub radios_5ghz_rx_frame_errors: ::core::option::Option<u32>,
5243 #[prost(message, optional, tag = "131")]
5244 pub radios_5ghz_rx_packet_error_rate: ::core::option::Option<f32>,
5245 #[prost(message, optional, tag = "132")]
5246 pub radios_5ghz_rx_airtime_fraction: ::core::option::Option<f32>,
5247 #[prost(message, optional, tag = "133")]
5248 pub radios_5ghz_tx_bytes: ::core::option::Option<u32>,
5249 #[prost(message, optional, tag = "134")]
5250 pub radios_5ghz_tx_packets: ::core::option::Option<u32>,
5251 #[prost(message, optional, tag = "135")]
5252 pub radios_5ghz_tx_errors: ::core::option::Option<u32>,
5253 #[prost(message, optional, tag = "136")]
5254 pub radios_5ghz_tx_packet_error_rate: ::core::option::Option<f32>,
5255 #[prost(message, optional, tag = "137")]
5256 pub radios_5ghz_tx_airtime_fraction: ::core::option::Option<f32>,
5257 #[prost(message, optional, tag = "200")]
5258 pub radios_2ghz_thermal_temp: ::core::option::Option<f32>,
5259 #[prost(message, optional, tag = "201")]
5260 pub radios_5ghz_thermal_temp: ::core::option::Option<f32>,
5261 #[prost(message, optional, tag = "202")]
5262 pub radios_2ghz_thermal_duty_cycle: ::core::option::Option<f32>,
5263 #[prost(message, optional, tag = "203")]
5264 pub radios_5ghz_thermal_duty_cycle: ::core::option::Option<f32>,
5265 #[prost(message, optional, tag = "204")]
5266 pub radios_2ghz_thermal_throttled_seconds: ::core::option::Option<u32>,
5267 #[prost(message, optional, tag = "205")]
5268 pub radios_5ghz_thermal_throttled_seconds: ::core::option::Option<u32>,
5269 #[prost(message, optional, tag = "300")]
5270 pub ifaces_lan_eth_rx_bytes: ::core::option::Option<u32>,
5271 #[prost(message, optional, tag = "301")]
5272 pub ifaces_lan_eth_rx_packets: ::core::option::Option<u32>,
5273 #[prost(message, optional, tag = "302")]
5274 pub ifaces_lan_eth_rx_errors: ::core::option::Option<u32>,
5275 #[prost(message, optional, tag = "303")]
5276 pub ifaces_lan_eth_rx_frame_errors: ::core::option::Option<u32>,
5277 #[prost(message, optional, tag = "304")]
5278 pub ifaces_lan_eth_tx_bytes: ::core::option::Option<u32>,
5279 #[prost(message, optional, tag = "305")]
5280 pub ifaces_lan_eth_tx_packets: ::core::option::Option<u32>,
5281 #[prost(message, optional, tag = "306")]
5282 pub ifaces_lan_eth_tx_errors: ::core::option::Option<u32>,
5283 #[prost(message, optional, tag = "307")]
5284 pub ifaces_wan_eth_rx_bytes: ::core::option::Option<u32>,
5285 #[prost(message, optional, tag = "308")]
5286 pub ifaces_wan_eth_rx_packets: ::core::option::Option<u32>,
5287 #[prost(message, optional, tag = "309")]
5288 pub ifaces_wan_eth_rx_errors: ::core::option::Option<u32>,
5289 #[prost(message, optional, tag = "310")]
5290 pub ifaces_wan_eth_rx_frame_errors: ::core::option::Option<u32>,
5291 #[prost(message, optional, tag = "311")]
5292 pub ifaces_wan_eth_tx_bytes: ::core::option::Option<u32>,
5293 #[prost(message, optional, tag = "312")]
5294 pub ifaces_wan_eth_tx_packets: ::core::option::Option<u32>,
5295 #[prost(message, optional, tag = "313")]
5296 pub ifaces_wan_eth_tx_errors: ::core::option::Option<u32>,
5297 #[prost(message, optional, tag = "400")]
5298 pub clients: ::core::option::Option<u32>,
5299 #[prost(message, optional, tag = "401")]
5300 pub clients_2ghz: ::core::option::Option<u32>,
5301 #[prost(message, optional, tag = "402")]
5302 pub clients_5ghz: ::core::option::Option<u32>,
5303 #[prost(message, optional, tag = "403")]
5304 pub clients_eth: ::core::option::Option<u32>,
5305 #[prost(message, optional, tag = "404")]
5306 pub clients_repeater: ::core::option::Option<u32>,
5307 #[prost(message, optional, tag = "405")]
5308 pub clients_repeater_2ghz: ::core::option::Option<u32>,
5309 #[prost(message, optional, tag = "406")]
5310 pub clients_repeater_5ghz: ::core::option::Option<u32>,
5311 #[prost(message, optional, tag = "407")]
5312 pub clients_repeater_eth: ::core::option::Option<u32>,
5313 #[prost(message, optional, tag = "408")]
5314 pub mesh_hops: ::core::option::Option<u32>,
5315 #[prost(message, optional, tag = "409")]
5316 pub mesh_one_hop_rssi_avg_2ghz: ::core::option::Option<f32>,
5317 #[prost(message, optional, tag = "410")]
5318 pub mesh_one_hop_rssi_avg_5ghz: ::core::option::Option<f32>,
5319 #[prost(message, optional, tag = "411")]
5320 pub mesh_two_hop_rssi_avg_2ghz: ::core::option::Option<f32>,
5321 #[prost(message, optional, tag = "412")]
5322 pub mesh_two_hop_rssi_avg_5ghz: ::core::option::Option<f32>,
5323 #[prost(message, optional, tag = "600")]
5324 pub ping_seconds_since_last_1s_outage: ::core::option::Option<f32>,
5325 #[prost(message, optional, tag = "601")]
5326 pub ping_seconds_since_last_2s_outage: ::core::option::Option<f32>,
5327 #[prost(message, optional, tag = "602")]
5328 pub ping_seconds_since_last_5s_outage: ::core::option::Option<f32>,
5329 #[prost(message, optional, tag = "603")]
5330 pub ping_seconds_since_last_60s_outage: ::core::option::Option<f32>,
5331 #[prost(message, optional, tag = "604")]
5332 pub ping_seconds_since_last_300s_outage: ::core::option::Option<f32>,
5333 #[prost(message, optional, tag = "605")]
5334 pub ping_drop_rate: ::core::option::Option<f32>,
5335 #[prost(message, optional, tag = "606")]
5336 pub ping_drop_rate_last_1h: ::core::option::Option<f32>,
5337 #[prost(message, optional, tag = "607")]
5338 pub ping_latency: ::core::option::Option<f32>,
5339 #[prost(message, optional, tag = "610")]
5340 pub ping_dish_seconds_since_last_1s_outage: ::core::option::Option<f32>,
5341 #[prost(message, optional, tag = "611")]
5342 pub ping_dish_seconds_since_last_2s_outage: ::core::option::Option<f32>,
5343 #[prost(message, optional, tag = "612")]
5344 pub ping_dish_seconds_since_last_5s_outage: ::core::option::Option<f32>,
5345 #[prost(message, optional, tag = "613")]
5346 pub ping_dish_seconds_since_last_60s_outage: ::core::option::Option<f32>,
5347 #[prost(message, optional, tag = "614")]
5348 pub ping_dish_seconds_since_last_300s_outage: ::core::option::Option<f32>,
5349 #[prost(message, optional, tag = "615")]
5350 pub ping_dish_drop_rate: ::core::option::Option<f32>,
5351 #[prost(message, optional, tag = "616")]
5352 pub ping_dish_drop_rate_last_1h: ::core::option::Option<f32>,
5353 #[prost(message, optional, tag = "617")]
5354 pub ping_dish_latency: ::core::option::Option<f32>,
5355 #[prost(message, optional, tag = "700")]
5356 pub client_speedtest_router_download_mbps: ::core::option::Option<f32>,
5357 #[prost(message, optional, tag = "701")]
5358 pub client_speedtest_router_upload_mbps: ::core::option::Option<f32>,
5359 #[prost(message, optional, tag = "702")]
5360 pub client_speedtest_router_rssi: ::core::option::Option<f32>,
5361 #[prost(message, optional, tag = "703")]
5362 pub client_speedtest_wifi_download_mbps: ::core::option::Option<f32>,
5363 #[prost(message, optional, tag = "704")]
5364 pub client_speedtest_wifi_upload_mbps: ::core::option::Option<f32>,
5365 #[prost(message, optional, tag = "705")]
5366 pub client_speedtest_client_download_mbps: ::core::option::Option<f32>,
5367 #[prost(message, optional, tag = "706")]
5368 pub client_speedtest_client_upload_mbps: ::core::option::Option<f32>,
5369 #[prost(message, optional, tag = "707")]
5370 pub client_speedtest_client_rssi: ::core::option::Option<f32>,
5371 #[prost(message, optional, tag = "708")]
5372 pub client_speedtest_client_iface: ::core::option::Option<u32>,
5373 #[prost(message, optional, tag = "709")]
5374 pub client_speedtest_client_oui: ::core::option::Option<
5375 ::prost::alloc::string::String,
5376 >,
5377 #[prost(message, optional, tag = "710")]
5378 pub client_speedtest_client_tx_rate: ::core::option::Option<u32>,
5379 #[prost(message, optional, tag = "711")]
5380 pub client_speedtest_client_rx_rate: ::core::option::Option<u32>,
5381 #[prost(message, optional, tag = "712")]
5382 pub client_speedtest_client_platform_type: ::core::option::Option<u32>,
5383 #[prost(message, optional, tag = "800")]
5384 pub speedtest_tcp_8_download_mbps_avg: ::core::option::Option<f32>,
5385 #[prost(message, optional, tag = "801")]
5386 pub speedtest_tcp_8_download_mbps_max: ::core::option::Option<f32>,
5387 #[prost(message, optional, tag = "802")]
5388 pub speedtest_tcp_8_upload_mbps_avg: ::core::option::Option<f32>,
5389 #[prost(message, optional, tag = "803")]
5390 pub speedtest_tcp_8_upload_mbps_max: ::core::option::Option<f32>,
5391 #[prost(message, optional, tag = "804")]
5392 pub speedtest_tcp_64_download_mbps_avg: ::core::option::Option<f32>,
5393 #[prost(message, optional, tag = "805")]
5394 pub speedtest_tcp_64_download_mbps_max: ::core::option::Option<f32>,
5395 #[prost(message, optional, tag = "806")]
5396 pub speedtest_tcp_64_upload_mbps_avg: ::core::option::Option<f32>,
5397 #[prost(message, optional, tag = "807")]
5398 pub speedtest_tcp_64_upload_mbps_max: ::core::option::Option<f32>,
5399 #[prost(message, optional, tag = "900")]
5400 pub dish_cell_id: ::core::option::Option<u32>,
5401 #[prost(message, optional, tag = "1000")]
5402 pub config_setup_complete: ::core::option::Option<bool>,
5403 #[prost(message, optional, tag = "1001")]
5404 pub config_bands_split: ::core::option::Option<bool>,
5405 #[prost(message, optional, tag = "1002")]
5406 pub config_is_repeater: ::core::option::Option<bool>,
5407 #[prost(message, optional, tag = "1003")]
5408 pub config_open_network: ::core::option::Option<bool>,
5409 #[prost(message, optional, tag = "1004")]
5410 pub config_is_aviation: ::core::option::Option<bool>,
5411 #[prost(message, optional, tag = "1005")]
5412 pub config_secure_dns: ::core::option::Option<bool>,
5413 #[prost(message, optional, tag = "1006")]
5414 pub config_legacy: ::core::option::Option<bool>,
5415 #[prost(message, optional, tag = "1007")]
5416 pub config_ap_mode: ::core::option::Option<bool>,
5417 #[prost(message, optional, tag = "1008")]
5418 pub config_dfs_enabled: ::core::option::Option<bool>,
5419 #[prost(message, optional, tag = "1009")]
5420 pub config_network_name_is_default: ::core::option::Option<bool>,
5421 #[deprecated]
5422 #[prost(message, optional, tag = "1010")]
5423 pub config_remote_ssh_enabled: ::core::option::Option<bool>,
5424}
5425#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5426pub struct WifiGuestInfoRequest {}
5427#[derive(Clone, PartialEq, ::prost::Message)]
5428pub struct WifiGuestInfoResponse {
5429 #[prost(bool, tag = "1")]
5430 pub is_guest: bool,
5431 #[prost(bool, tag = "2")]
5432 pub is_online: bool,
5433 #[prost(string, tag = "3")]
5434 pub router_hardware_version: ::prost::alloc::string::String,
5435 #[prost(string, tag = "4")]
5436 pub dish_hardware_version: ::prost::alloc::string::String,
5437 #[prost(bool, tag = "5")]
5438 pub is_router_aviation_conformed: bool,
5439}
5440#[derive(Clone, PartialEq, ::prost::Message)]
5441pub struct WifiFactoryTestCommandRequest {
5442 #[prost(oneof = "wifi_factory_test_command_request::Command", tags = "1, 2, 3")]
5443 pub command: ::core::option::Option<wifi_factory_test_command_request::Command>,
5444}
5445pub mod wifi_factory_test_command_request {
5447 #[derive(Clone, PartialEq, ::prost::Oneof)]
5448 pub enum Command {
5449 #[prost(message, tag = "1")]
5450 IwprivCommand(super::IwprivCommand),
5451 #[prost(message, tag = "2")]
5452 IpLinkSetCommand(super::IpLinkSetCommand),
5453 #[prost(message, tag = "3")]
5454 IpAddrSetCommand(super::IpAddrSetCommand),
5455 }
5456}
5457#[derive(Clone, PartialEq, ::prost::Message)]
5458pub struct WifiFactoryTestCommandResponse {
5459 #[prost(string, tag = "1")]
5460 pub response: ::prost::alloc::string::String,
5461}
5462#[derive(Clone, PartialEq, ::prost::Message)]
5463pub struct IwprivCommand {
5464 #[prost(string, tag = "1")]
5465 pub iface: ::prost::alloc::string::String,
5466 #[prost(string, tag = "2")]
5467 pub arg: ::prost::alloc::string::String,
5468 #[prost(enumeration = "iwpriv_command::Ioctl", tag = "3")]
5469 pub ioctl: i32,
5470}
5471pub mod iwpriv_command {
5473 #[derive(
5474 Clone,
5475 Copy,
5476 Debug,
5477 PartialEq,
5478 Eq,
5479 Hash,
5480 PartialOrd,
5481 Ord,
5482 ::prost::Enumeration
5483 )]
5484 #[repr(i32)]
5485 pub enum Ioctl {
5486 Set = 0,
5487 E2p = 1,
5488 Mac = 3,
5489 SxAllow5ghzHigh = 4,
5490 }
5491 impl Ioctl {
5492 pub fn as_str_name(&self) -> &'static str {
5497 match self {
5498 Self::Set => "IOCTL_SET",
5499 Self::E2p => "IOCTL_E2P",
5500 Self::Mac => "IOCTL_MAC",
5501 Self::SxAllow5ghzHigh => "IOCTL_SX_ALLOW_5GHZ_HIGH",
5502 }
5503 }
5504 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5506 match value {
5507 "IOCTL_SET" => Some(Self::Set),
5508 "IOCTL_E2P" => Some(Self::E2p),
5509 "IOCTL_MAC" => Some(Self::Mac),
5510 "IOCTL_SX_ALLOW_5GHZ_HIGH" => Some(Self::SxAllow5ghzHigh),
5511 _ => None,
5512 }
5513 }
5514 }
5515}
5516#[derive(Clone, PartialEq, ::prost::Message)]
5517pub struct IpLinkSetCommand {
5518 #[prost(string, tag = "1")]
5519 pub iface: ::prost::alloc::string::String,
5520 #[prost(bool, tag = "2")]
5521 pub up: bool,
5522}
5523#[derive(Clone, PartialEq, ::prost::Message)]
5524pub struct IpAddrSetCommand {
5525 #[prost(string, tag = "1")]
5526 pub iface: ::prost::alloc::string::String,
5527 #[prost(bool, tag = "2")]
5528 pub add: bool,
5529 #[prost(string, tag = "3")]
5530 pub cidr: ::prost::alloc::string::String,
5531}
5532#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5533pub struct WifiStartLocalTelemProxyRequest {
5534 #[prost(int32, tag = "1")]
5535 pub port: i32,
5536}
5537#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5538pub struct WifiBackhaulStatsRequest {}
5539#[derive(Clone, PartialEq, ::prost::Message)]
5540pub struct WifiBackhaulStatsResponse {
5541 #[prost(bool, tag = "1")]
5542 pub success: bool,
5543 #[prost(string, tag = "2")]
5544 pub bssid: ::prost::alloc::string::String,
5545 #[prost(enumeration = "IfaceType", tag = "3")]
5546 pub iface: i32,
5547 #[prost(uint32, tag = "4")]
5548 pub preference: u32,
5549 #[prost(message, repeated, tag = "5")]
5550 pub site_survey_scan: ::prost::alloc::vec::Vec<WifiSiteSurveyResult>,
5551}
5552#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5553pub struct WifiToggleUmbilicalModeRequest {
5554 #[prost(bool, tag = "1")]
5555 pub enable: bool,
5556}
5557#[derive(Clone, PartialEq, ::prost::Message)]
5558pub struct WifiUpdateResponse {
5559 #[prost(message, optional, tag = "1")]
5560 pub stats: ::core::option::Option<WifiSoftwareUpdateStats>,
5561}
5562pub mod mesh_client {
5564 #![allow(
5565 unused_variables,
5566 dead_code,
5567 missing_docs,
5568 clippy::wildcard_imports,
5569 clippy::let_unit_value,
5570 )]
5571 use tonic::codegen::*;
5572 use tonic::codegen::http::Uri;
5573 #[derive(Debug, Clone)]
5574 pub struct MeshClient<T> {
5575 inner: tonic::client::Grpc<T>,
5576 }
5577 impl MeshClient<tonic::transport::Channel> {
5578 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
5580 where
5581 D: TryInto<tonic::transport::Endpoint>,
5582 D::Error: Into<StdError>,
5583 {
5584 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
5585 Ok(Self::new(conn))
5586 }
5587 }
5588 impl<T> MeshClient<T>
5589 where
5590 T: tonic::client::GrpcService<tonic::body::Body>,
5591 T::Error: Into<StdError>,
5592 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
5593 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
5594 {
5595 pub fn new(inner: T) -> Self {
5596 let inner = tonic::client::Grpc::new(inner);
5597 Self { inner }
5598 }
5599 pub fn with_origin(inner: T, origin: Uri) -> Self {
5600 let inner = tonic::client::Grpc::with_origin(inner, origin);
5601 Self { inner }
5602 }
5603 pub fn with_interceptor<F>(
5604 inner: T,
5605 interceptor: F,
5606 ) -> MeshClient<InterceptedService<T, F>>
5607 where
5608 F: tonic::service::Interceptor,
5609 T::ResponseBody: Default,
5610 T: tonic::codegen::Service<
5611 http::Request<tonic::body::Body>,
5612 Response = http::Response<
5613 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
5614 >,
5615 >,
5616 <T as tonic::codegen::Service<
5617 http::Request<tonic::body::Body>,
5618 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
5619 {
5620 MeshClient::new(InterceptedService::new(inner, interceptor))
5621 }
5622 #[must_use]
5627 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
5628 self.inner = self.inner.send_compressed(encoding);
5629 self
5630 }
5631 #[must_use]
5633 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
5634 self.inner = self.inner.accept_compressed(encoding);
5635 self
5636 }
5637 #[must_use]
5641 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
5642 self.inner = self.inner.max_decoding_message_size(limit);
5643 self
5644 }
5645 #[must_use]
5649 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
5650 self.inner = self.inner.max_encoding_message_size(limit);
5651 self
5652 }
5653 pub async fn mesh_stream(
5654 &mut self,
5655 request: impl tonic::IntoStreamingRequest<Message = super::ToController>,
5656 ) -> std::result::Result<
5657 tonic::Response<tonic::codec::Streaming<super::FromController>>,
5658 tonic::Status,
5659 > {
5660 self.inner
5661 .ready()
5662 .await
5663 .map_err(|e| {
5664 tonic::Status::unknown(
5665 format!("Service was not ready: {}", e.into()),
5666 )
5667 })?;
5668 let codec = tonic::codec::ProstCodec::default();
5669 let path = http::uri::PathAndQuery::from_static(
5670 "/SpaceX.API.Device.Mesh/MeshStream",
5671 );
5672 let mut req = request.into_streaming_request();
5673 req.extensions_mut()
5674 .insert(GrpcMethod::new("SpaceX.API.Device.Mesh", "MeshStream"));
5675 self.inner.streaming(req, path, codec).await
5676 }
5677 }
5678}
5679#[derive(Clone, PartialEq, ::prost::Message)]
5680pub struct ToDevice {
5681 #[prost(oneof = "to_device::Message", tags = "1, 2")]
5682 pub message: ::core::option::Option<to_device::Message>,
5683}
5684pub mod to_device {
5686 #[derive(Clone, PartialEq, ::prost::Oneof)]
5687 pub enum Message {
5688 #[prost(message, tag = "1")]
5689 Request(super::Request),
5690 #[prost(message, tag = "2")]
5691 HealthCheck(super::HealthCheck),
5692 }
5693}
5694#[derive(Clone, PartialEq, ::prost::Message)]
5695pub struct FromDevice {
5696 #[prost(oneof = "from_device::Message", tags = "1, 2, 3")]
5697 pub message: ::core::option::Option<from_device::Message>,
5698}
5699pub mod from_device {
5701 #[derive(Clone, PartialEq, ::prost::Oneof)]
5702 pub enum Message {
5703 #[prost(message, tag = "1")]
5704 Response(super::Response),
5705 #[prost(message, tag = "2")]
5706 Event(super::Event),
5707 #[prost(message, tag = "3")]
5708 HealthCheck(super::HealthCheck),
5709 }
5710}
5711#[derive(Clone, PartialEq, ::prost::Message)]
5712pub struct SensitiveCommand {
5713 #[prost(message, optional, tag = "1")]
5714 pub timestamp: ::core::option::Option<::prost_types::Timestamp>,
5715 #[prost(string, tag = "2")]
5716 pub target_id: ::prost::alloc::string::String,
5717 #[prost(oneof = "sensitive_command::Request", tags = "3")]
5718 pub request: ::core::option::Option<sensitive_command::Request>,
5719}
5720pub mod sensitive_command {
5722 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
5723 pub enum Request {
5724 #[prost(message, tag = "3")]
5725 GetLocation(super::GetLocationRequest),
5726 }
5727}
5728#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5729pub struct HealthCheck {}
5730#[derive(Clone, PartialEq, ::prost::Message)]
5731pub struct Request {
5732 #[prost(uint64, tag = "1")]
5733 pub id: u64,
5734 #[prost(uint64, tag = "14")]
5735 pub epoch_id: u64,
5736 #[prost(string, tag = "13")]
5737 pub target_id: ::prost::alloc::string::String,
5738 #[prost(
5739 oneof = "request::Request",
5740 tags = "15, 1006, 1078, 1005, 1034, 1011, 1008, 1007, 1012, 1015, 1009, 1016, 1004, 1001, 1013, 1010, 1003, 1014, 1017, 1019, 1020, 1021, 1022, 1023, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 2002, 2003, 2008, 2007, 2009, 2010, 2011, 2013, 2014, 2015, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 3002, 3007, 3001, 3009, 3003, 3012, 3013, 3015, 3017, 3016, 3018, 3028, 3019, 3020, 3021, 3024, 3025, 3026, 3027, 3029, 3030, 3031, 4001, 4003, 4004, 5000, 5001, 6000"
5741 )]
5742 pub request: ::core::option::Option<request::Request>,
5743}
5744pub mod request {
5746 #[derive(Clone, PartialEq, ::prost::Oneof)]
5747 pub enum Request {
5748 #[prost(message, tag = "15")]
5749 SignedRequest(super::SignedData),
5750 #[prost(message, tag = "1006")]
5751 GetNextId(super::GetNextIdRequest),
5752 #[prost(message, tag = "1078")]
5753 SensitiveRequest(super::SignedData),
5754 #[prost(message, tag = "1005")]
5755 Authenticate(super::AuthenticateRequest),
5756 #[prost(message, tag = "1034")]
5757 EnableDebugTelem(super::EnableDebugTelemRequest),
5758 #[prost(message, tag = "1011")]
5759 FactoryReset(super::FactoryResetRequest),
5760 #[prost(message, tag = "1008")]
5761 GetDeviceInfo(super::GetDeviceInfoRequest),
5762 #[prost(message, tag = "1007")]
5763 GetHistory(super::GetHistoryRequest),
5764 #[prost(message, tag = "1012")]
5765 GetLog(super::GetLogRequest),
5766 #[prost(message, tag = "1015")]
5767 GetNetworkInterfaces(super::GetNetworkInterfacesRequest),
5768 #[prost(message, tag = "1009")]
5769 GetPing(super::GetPingRequest),
5770 #[prost(message, tag = "1016")]
5771 PingHost(super::PingHostRequest),
5772 #[prost(message, tag = "1004")]
5773 GetStatus(super::GetStatusRequest),
5774 #[prost(message, tag = "1001")]
5775 Reboot(super::RebootRequest),
5776 #[prost(message, tag = "1013")]
5777 SetSku(super::SetSkuRequest),
5778 #[prost(message, tag = "1010")]
5779 SetTrustedKeys(super::SetTrustedKeysRequest),
5780 #[prost(message, tag = "1003")]
5781 SpeedTest(super::SpeedTestRequest),
5782 #[prost(message, tag = "1014")]
5783 Update(super::UpdateRequest),
5784 #[prost(message, tag = "1017")]
5785 GetLocation(super::GetLocationRequest),
5786 #[prost(message, tag = "1019")]
5787 GetHeapDump(super::GetHeapDumpRequest),
5788 #[prost(message, tag = "1020")]
5789 RestartControl(super::RestartControlRequest),
5790 #[prost(message, tag = "1021")]
5791 Fuse(super::FuseRequest),
5792 #[prost(message, tag = "1022")]
5793 GetPersistentStats(super::GetPersistentStatsRequest),
5794 #[prost(message, tag = "1023")]
5795 GetConnections(super::GetConnectionsRequest),
5796 #[prost(message, tag = "1027")]
5797 StartSpeedtest(super::StartSpeedtestRequest),
5798 #[prost(message, tag = "1028")]
5799 GetSpeedtestStatus(super::GetSpeedtestStatusRequest),
5800 #[prost(message, tag = "1029")]
5801 ReportClientSpeedtest(super::ReportClientSpeedtestRequest),
5802 #[prost(message, tag = "1030")]
5803 InitiateRemoteSsh(super::InitiateRemoteSshRequest),
5804 #[prost(message, tag = "1031")]
5805 SelfTest(super::SelfTestRequest),
5806 #[prost(message, tag = "1032")]
5807 SetTestMode(super::SetTestModeRequest),
5808 #[prost(message, tag = "1033")]
5809 SoftwareUpdate(super::SoftwareUpdateRequest),
5810 #[prost(message, tag = "1035")]
5811 IqCapture(super::IqCaptureRequest),
5812 #[prost(message, tag = "1036")]
5813 GetRadioStats(super::GetRadioStatsRequest),
5814 #[prost(message, tag = "1037")]
5815 Time(super::GetTimeRequest),
5816 #[prost(message, tag = "1038")]
5817 RunIperfServer(super::RunIperfServerRequest),
5818 #[prost(message, tag = "1039")]
5819 TcpConnectivityTest(super::TcpConnectivityTestRequest),
5820 #[prost(message, tag = "1040")]
5821 UdpConnectivityTest(super::UdpConnectivityTestRequest),
5822 #[prost(message, tag = "1041")]
5823 GetGoroutineStackTraces(super::GetGoroutineStackTracesRequest),
5824 #[prost(message, tag = "2002")]
5825 DishStow(super::DishStowRequest),
5826 #[prost(message, tag = "2003")]
5827 DishGetContext(super::DishGetContextRequest),
5828 #[prost(message, tag = "2008")]
5829 DishGetObstructionMap(super::DishGetObstructionMapRequest),
5830 #[prost(message, tag = "2007")]
5831 DishSetEmc(super::DishSetEmcRequest),
5832 #[prost(message, tag = "2009")]
5833 DishGetEmc(super::DishGetEmcRequest),
5834 #[prost(message, tag = "2010")]
5835 DishSetConfig(super::DishSetConfigRequest),
5836 #[prost(message, tag = "2011")]
5837 DishGetConfig(super::DishGetConfigRequest),
5838 #[prost(message, tag = "2013")]
5839 DishPowerSave(super::DishPowerSaveRequest),
5840 #[prost(message, tag = "2014")]
5841 DishInhibitGps(super::DishInhibitGpsRequest),
5842 #[prost(message, tag = "2015")]
5843 DishGetData(super::DishGetDataRequest),
5844 #[prost(message, tag = "2017")]
5845 DishClearObstructionMap(super::DishClearObstructionMapRequest),
5846 #[prost(message, tag = "2018")]
5847 DishSetMaxPowerTestMode(super::DishSetMaxPowerTestModeRequest),
5848 #[prost(message, tag = "2019")]
5849 DishActivateRssiScan(super::DishActivateRssiScanRequest),
5850 #[prost(message, tag = "2020")]
5851 DishGetRssiScanResult(super::DishGetRssiScanResultRequest),
5852 #[prost(message, tag = "2021")]
5853 DishFactoryReset(super::DishFactoryResetRequest),
5854 #[prost(message, tag = "2022")]
5855 ResetButton(super::ResetButtonRequest),
5856 #[prost(message, tag = "2023")]
5857 SetPerVehicleConfig(super::SoftwareUpdateRequest),
5858 #[prost(message, tag = "3002")]
5859 WifiGetClients(super::WifiGetClientsRequest),
5860 #[prost(message, tag = "3007")]
5861 WifiGetPingMetrics(super::WifiGetPingMetricsRequest),
5862 #[prost(message, tag = "3001")]
5863 WifiSetConfig(super::WifiSetConfigRequest),
5864 #[prost(message, tag = "3009")]
5865 WifiGetConfig(super::WifiGetConfigRequest),
5866 #[prost(message, tag = "3003")]
5867 WifiSetup(super::WifiSetupRequest),
5868 #[prost(message, tag = "3012")]
5869 WifiSetMeshDeviceTrust(super::WifiSetMeshDeviceTrustRequest),
5870 #[prost(message, tag = "3013")]
5871 WifiSetMeshConfig(super::WifiSetMeshConfigRequest),
5872 #[prost(message, tag = "3015")]
5873 WifiGetClientHistory(super::WifiGetClientHistoryRequest),
5874 #[prost(message, tag = "3017")]
5875 WifiSetClientGivenName(super::WifiSetClientGivenNameRequest),
5876 #[prost(message, tag = "3016")]
5877 WifiSetAviationConformed(super::WifiSetAviationConformedRequest),
5878 #[prost(message, tag = "3018")]
5879 WifiSelfTest(super::WifiSelfTestRequest),
5880 #[prost(message, tag = "3028")]
5881 WifiRunSelfTest(super::WifiRunSelfTestRequest),
5882 #[prost(message, tag = "3019")]
5883 WifiCalibrationMode(super::WifiCalibrationModeRequest),
5884 #[prost(message, tag = "3020")]
5885 WifiGuestInfo(super::WifiGuestInfoRequest),
5886 #[prost(message, tag = "3021")]
5887 WifiRfTest(super::WifiRfTestRequest),
5888 #[prost(message, tag = "3024")]
5889 WifiGetFirewall(super::WifiGetFirewallRequest),
5890 #[prost(message, tag = "3025")]
5891 WifiTogglePoeNegotiation(super::WifiTogglePoeNegotiationRequest),
5892 #[prost(message, tag = "3026")]
5893 WifiFactoryTestCommand(super::WifiFactoryTestCommandRequest),
5894 #[prost(message, tag = "3027")]
5895 WifiStartLocalTelemProxy(super::WifiStartLocalTelemProxyRequest),
5896 #[prost(message, tag = "3029")]
5897 WifiBackhaulStats(super::WifiBackhaulStatsRequest),
5898 #[prost(message, tag = "3030")]
5899 WifiToggleUmbilicalMode(super::WifiToggleUmbilicalModeRequest),
5900 #[prost(message, tag = "3031")]
5901 WifiClientSandbox(super::WifiClientSandboxRequest),
5902 #[prost(message, tag = "4001")]
5903 TransceiverIfLoopbackTest(super::TransceiverIfLoopbackTestRequest),
5904 #[prost(message, tag = "4003")]
5905 TransceiverGetStatus(super::TransceiverGetStatusRequest),
5906 #[prost(message, tag = "4004")]
5907 TransceiverGetTelemetry(super::TransceiverGetTelemetryRequest),
5908 #[prost(message, tag = "5000")]
5909 StartUnlock(super::services::unlock::StartUnlockRequest),
5910 #[prost(message, tag = "5001")]
5911 FinishUnlock(super::services::unlock::FinishUnlockRequest),
5912 #[prost(message, tag = "6000")]
5913 GetDiagnostics(super::GetDiagnosticsRequest),
5914 }
5915}
5916#[derive(Clone, PartialEq, ::prost::Message)]
5917pub struct Response {
5918 #[prost(uint64, tag = "1")]
5919 pub id: u64,
5920 #[prost(message, optional, tag = "2")]
5921 pub status: ::core::option::Option<super::status::Status>,
5922 #[prost(uint64, tag = "3")]
5923 pub api_version: u64,
5924 #[prost(
5925 oneof = "response::Response",
5926 tags = "1006, 1034, 1011, 1004, 1012, 1015, 1009, 1016, 1001, 1003, 1013, 1010, 1014, 1017, 1019, 1020, 1021, 1023, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1035, 1037, 1038, 1041, 2005, 2003, 2006, 2004, 2008, 2002, 2007, 2009, 2010, 2011, 2013, 2015, 2018, 2019, 2020, 2021, 2022, 2023, 3005, 3002, 3006, 3007, 3004, 3001, 3009, 3003, 3022, 3012, 3013, 3015, 3016, 3020, 3021, 3024, 3025, 3026, 3027, 3028, 4001, 4003, 4004, 5000, 5001, 6000, 6001"
5927 )]
5928 pub response: ::core::option::Option<response::Response>,
5929}
5930pub mod response {
5932 #[derive(Clone, PartialEq, ::prost::Oneof)]
5933 pub enum Response {
5934 #[prost(message, tag = "1006")]
5935 GetNextId(super::GetNextIdResponse),
5936 #[prost(message, tag = "1034")]
5937 EnableDebugTelem(super::EnableDebugTelemResponse),
5938 #[prost(message, tag = "1011")]
5939 FactoryReset(super::FactoryResetResponse),
5940 #[prost(message, tag = "1004")]
5941 GetDeviceInfo(super::GetDeviceInfoResponse),
5942 #[prost(message, tag = "1012")]
5943 GetLog(super::GetLogResponse),
5944 #[prost(message, tag = "1015")]
5945 GetNetworkInterfaces(super::GetNetworkInterfacesResponse),
5946 #[prost(message, tag = "1009")]
5947 GetPing(super::GetPingResponse),
5948 #[prost(message, tag = "1016")]
5949 PingHost(super::PingHostResponse),
5950 #[prost(message, tag = "1001")]
5951 Reboot(super::RebootResponse),
5952 #[prost(message, tag = "1003")]
5953 SpeedTest(super::SpeedTestResponse),
5954 #[prost(message, tag = "1013")]
5955 SetSku(super::SetSkuResponse),
5956 #[prost(message, tag = "1010")]
5957 SetTrustedKeys(super::SetTrustedKeysResponse),
5958 #[prost(message, tag = "1014")]
5959 Update(super::UpdateResponse),
5960 #[prost(message, tag = "1017")]
5961 GetLocation(super::GetLocationResponse),
5962 #[prost(message, tag = "1019")]
5963 GetHeapDump(super::GetHeapDumpResponse),
5964 #[prost(message, tag = "1020")]
5965 RestartControl(super::RestartControlResponse),
5966 #[prost(message, tag = "1021")]
5967 Fuse(super::FuseResponse),
5968 #[prost(message, tag = "1023")]
5969 GetConnections(super::GetConnectionsResponse),
5970 #[prost(message, tag = "1027")]
5971 StartSpeedtest(super::StartSpeedtestResponse),
5972 #[prost(message, tag = "1028")]
5973 GetSpeedtestStatus(super::GetSpeedtestStatusResponse),
5974 #[prost(message, tag = "1029")]
5975 ReportClientSpeedtest(super::ReportClientSpeedtestResponse),
5976 #[prost(message, tag = "1030")]
5977 InitiateRemoteSsh(super::InitiateRemoteSshResponse),
5978 #[prost(message, tag = "1031")]
5979 SelfTest(super::SelfTestResponse),
5980 #[prost(message, tag = "1032")]
5981 SetTestMode(super::SetTestModeResponse),
5982 #[prost(message, tag = "1033")]
5983 SoftwareUpdate(super::SoftwareUpdateResponse),
5984 #[prost(message, tag = "1035")]
5985 GetRadioStats(super::GetRadioStatsResponse),
5986 #[prost(message, tag = "1037")]
5987 Time(super::GetTimeResponse),
5988 #[prost(message, tag = "1038")]
5989 RunIperfServer(super::RunIperfServerResponse),
5990 #[prost(message, tag = "1041")]
5991 GetGoroutineStackTraces(super::GetGoroutineStackTracesResponse),
5992 #[prost(message, tag = "2005")]
5993 DishAuthenticate(super::DishAuthenticateResponse),
5994 #[prost(message, tag = "2003")]
5995 DishGetContext(super::DishGetContextResponse),
5996 #[prost(message, tag = "2006")]
5997 DishGetHistory(super::DishGetHistoryResponse),
5998 #[prost(message, tag = "2004")]
5999 DishGetStatus(super::DishGetStatusResponse),
6000 #[prost(message, tag = "2008")]
6001 DishGetObstructionMap(super::DishGetObstructionMapResponse),
6002 #[prost(message, tag = "2002")]
6003 DishStow(super::DishStowResponse),
6004 #[prost(message, tag = "2007")]
6005 DishSetEmc(super::DishSetEmcResponse),
6006 #[prost(message, tag = "2009")]
6007 DishGetEmc(super::DishGetEmcResponse),
6008 #[prost(message, tag = "2010")]
6009 DishSetConfig(super::DishSetConfigResponse),
6010 #[prost(message, tag = "2011")]
6011 DishGetConfig(super::DishGetConfigResponse),
6012 #[prost(message, tag = "2013")]
6013 DishInhibitGps(super::DishInhibitGpsResponse),
6014 #[prost(message, tag = "2015")]
6015 DishClearObstructionMap(super::DishClearObstructionMapResponse),
6016 #[prost(message, tag = "2018")]
6017 DishSetMaxPowerTestMode(super::DishSetMaxPowerTestModeResponse),
6018 #[prost(message, tag = "2019")]
6019 DishActivateRssiScan(super::DishActivateRssiScanResponse),
6020 #[prost(message, tag = "2020")]
6021 DishGetRssiScanResult(super::DishGetRssiScanResultResponse),
6022 #[prost(message, tag = "2021")]
6023 DishFactoryReset(super::DishFactoryResetResponse),
6024 #[prost(message, tag = "2022")]
6025 ResetButton(super::ResetButtonResponse),
6026 #[prost(message, tag = "2023")]
6027 SetPerVehicleConfig(super::SetPerVehicleConfigResponse),
6028 #[prost(message, tag = "3005")]
6029 WifiAuthenticate(super::WifiAuthenticateResponse),
6030 #[prost(message, tag = "3002")]
6031 WifiGetClients(super::WifiGetClientsResponse),
6032 #[prost(message, tag = "3006")]
6033 WifiGetHistory(super::WifiGetHistoryResponse),
6034 #[prost(message, tag = "3007")]
6035 WifiGetPingMetrics(super::WifiGetPingMetricsResponse),
6036 #[prost(message, tag = "3004")]
6037 WifiGetStatus(super::WifiGetStatusResponse),
6038 #[prost(message, tag = "3001")]
6039 WifiSetConfig(super::WifiSetConfigResponse),
6040 #[prost(message, tag = "3009")]
6041 WifiGetConfig(super::WifiGetConfigResponse),
6042 #[prost(message, tag = "3003")]
6043 WifiSetup(super::WifiSetupResponse),
6044 #[prost(message, tag = "3022")]
6045 WifiGetPersistentStats(super::WifiGetPersistentStatsResponse),
6046 #[prost(message, tag = "3012")]
6047 WifiSetMeshDeviceTrust(super::WifiSetMeshDeviceTrustResponse),
6048 #[prost(message, tag = "3013")]
6049 WifiSetMeshConfig(super::WifiSetMeshConfigResponse),
6050 #[prost(message, tag = "3015")]
6051 WifiGetClientHistory(super::WifiGetClientHistoryResponse),
6052 #[prost(message, tag = "3016")]
6053 WifiSelfTest(super::WifiSelfTestResponse),
6054 #[prost(message, tag = "3020")]
6055 WifiGuestInfo(super::WifiGuestInfoResponse),
6056 #[prost(message, tag = "3021")]
6057 WifiRfTest(super::WifiRfTestResponse),
6058 #[prost(message, tag = "3024")]
6059 WifiGetFirewall(super::WifiGetFirewallResponse),
6060 #[prost(message, tag = "3025")]
6061 WifiFactoryTestCommand(super::WifiFactoryTestCommandResponse),
6062 #[prost(message, tag = "3026")]
6063 WifiBackhaulStats(super::WifiBackhaulStatsResponse),
6064 #[prost(message, tag = "3027")]
6065 WifiClientSandbox(super::WifiClientSandboxResponse),
6066 #[prost(message, tag = "3028")]
6067 WifiUpdate(super::WifiUpdateResponse),
6068 #[prost(message, tag = "4001")]
6069 TransceiverIfLoopbackTest(super::TransceiverIfLoopbackTestResponse),
6070 #[prost(message, tag = "4003")]
6071 TransceiverGetStatus(super::TransceiverGetStatusResponse),
6072 #[prost(message, tag = "4004")]
6073 TransceiverGetTelemetry(super::TransceiverGetTelemetryResponse),
6074 #[prost(message, tag = "5000")]
6075 StartUnlock(super::services::unlock::StartUnlockResponse),
6076 #[prost(message, tag = "5001")]
6077 FinishUnlock(super::services::unlock::FinishUnlockResponse),
6078 #[prost(message, tag = "6000")]
6079 WifiGetDiagnostics(super::WifiGetDiagnosticsResponse),
6080 #[prost(message, tag = "6001")]
6081 DishGetDiagnostics(super::DishGetDiagnosticsResponse),
6082 }
6083}
6084#[derive(Clone, PartialEq, ::prost::Message)]
6085pub struct Event {
6086 #[prost(oneof = "event::Event", tags = "3001, 3002, 3003, 3004, 3005")]
6087 pub event: ::core::option::Option<event::Event>,
6088}
6089pub mod event {
6091 #[derive(Clone, PartialEq, ::prost::Oneof)]
6092 pub enum Event {
6093 #[prost(message, tag = "3001")]
6094 WifiNewClientConnected(super::WifiNewClientConnectedEvent),
6095 #[prost(message, tag = "3002")]
6096 WifiAccountBonding(super::WifiAccountBondingEvent),
6097 #[prost(message, tag = "3003")]
6098 WifiNewPeer(super::WifiNewPeerEvent),
6099 #[prost(message, tag = "3004")]
6100 WifiCloudStatus(super::WifiCloudStatusEvent),
6101 #[prost(message, tag = "3005")]
6102 WifiClientSandbox(super::WifiClientSandboxRequest),
6103 }
6104}
6105#[derive(Clone, PartialEq, ::prost::Message)]
6106pub struct WifiCloudStatusEvent {
6107 #[prost(uint32, tag = "4")]
6108 pub api_version: u32,
6109 #[prost(bool, tag = "1")]
6110 pub direct_link_to_dish: bool,
6111 #[prost(string, tag = "2")]
6112 pub hardware_version: ::prost::alloc::string::String,
6113 #[prost(bool, tag = "3")]
6114 pub is_bypassed: bool,
6115}
6116#[derive(Clone, PartialEq, ::prost::Message)]
6117pub struct WifiClientSandboxRequest {
6118 #[prost(message, repeated, tag = "1")]
6119 pub client_sandbox_status: ::prost::alloc::vec::Vec<WifiClientSandboxStatus>,
6120 #[prost(enumeration = "WifiClientSandboxAlert", repeated, tag = "2")]
6121 pub alerts: ::prost::alloc::vec::Vec<i32>,
6122 #[prost(uint64, tag = "3")]
6123 pub unix_timestamp_ns: u64,
6124}
6125#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6126pub struct WifiClientSandboxResponse {}
6127#[derive(Clone, PartialEq, ::prost::Message)]
6128pub struct WifiClientSandboxStatus {
6129 #[prost(string, tag = "1")]
6130 pub client: ::prost::alloc::string::String,
6131 #[prost(uint32, tag = "2")]
6132 pub sandbox: u32,
6133 #[prost(bool, tag = "3")]
6134 pub sandboxed: bool,
6135}
6136#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6137pub struct EnableDebugTelemRequest {
6138 #[prost(uint32, tag = "1")]
6139 pub duration_m: u32,
6140}
6141#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6142pub struct EnableDebugTelemResponse {}
6143#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6144pub struct FactoryResetRequest {}
6145#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6146pub struct FactoryResetResponse {}
6147#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6148pub struct GetTimeRequest {}
6149#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6150pub struct GetTimeResponse {
6151 #[prost(int64, tag = "1")]
6152 pub unix_nano: i64,
6153}
6154#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6155pub struct FuseRequest {
6156 #[prost(bool, tag = "1")]
6157 pub prevent_reboot: bool,
6158}
6159#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6160pub struct FuseResponse {}
6161#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6162pub struct GetHistoryRequest {}
6163#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6164pub struct GetLogRequest {}
6165#[derive(Clone, PartialEq, ::prost::Message)]
6166pub struct GetLogResponse {
6167 #[prost(message, optional, tag = "4")]
6168 pub current: ::core::option::Option<get_log_response::Logs>,
6169 #[prost(message, optional, tag = "5")]
6170 pub saved: ::core::option::Option<get_log_response::Logs>,
6171 #[deprecated]
6172 #[prost(string, tag = "1")]
6173 pub syslog: ::prost::alloc::string::String,
6174 #[deprecated]
6175 #[prost(string, tag = "2")]
6176 pub offline_log: ::prost::alloc::string::String,
6177 #[deprecated]
6178 #[prost(string, tag = "3")]
6179 pub persistent_log: ::prost::alloc::string::String,
6180}
6181pub mod get_log_response {
6183 #[derive(Clone, PartialEq, ::prost::Message)]
6184 pub struct Logs {
6185 #[prost(string, tag = "1")]
6186 pub syslog: ::prost::alloc::string::String,
6187 #[prost(string, tag = "2")]
6188 pub dmesg: ::prost::alloc::string::String,
6189 #[prost(string, tag = "3")]
6190 pub kernel_panic: ::prost::alloc::string::String,
6191 #[deprecated]
6192 #[prost(string, tag = "4")]
6193 pub mtk_eth_procs: ::prost::alloc::string::String,
6194 #[prost(string, tag = "5")]
6195 pub debug_netsys_0sec: ::prost::alloc::string::String,
6196 #[prost(string, tag = "6")]
6197 pub debug_netsys_2sec: ::prost::alloc::string::String,
6198 }
6199}
6200#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6201pub struct GetPingRequest {}
6202#[derive(Clone, PartialEq, ::prost::Message)]
6203pub struct GetPingResponse {
6204 #[prost(map = "string, message", tag = "1")]
6205 pub results: ::std::collections::HashMap<::prost::alloc::string::String, PingResult>,
6206}
6207#[derive(Clone, PartialEq, ::prost::Message)]
6208pub struct PingHostRequest {
6209 #[prost(string, tag = "3")]
6210 pub address: ::prost::alloc::string::String,
6211 #[prost(uint32, tag = "4")]
6212 pub size: u32,
6213}
6214#[derive(Clone, PartialEq, ::prost::Message)]
6215pub struct PingHostResponse {
6216 #[prost(message, optional, tag = "1")]
6217 pub result: ::core::option::Option<PingResult>,
6218}
6219#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6220pub struct GetStatusRequest {}
6221#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6222pub struct RebootRequest {}
6223#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6224pub struct RebootResponse {}
6225#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6226pub struct SpeedTestStats {
6227 #[deprecated]
6228 #[prost(float, tag = "3")]
6229 pub latency_ms: f32,
6230 #[deprecated]
6231 #[prost(uint64, tag = "4")]
6232 pub start_time: u64,
6233 #[prost(int64, tag = "5")]
6234 pub upload_start_time: i64,
6235 #[prost(int64, tag = "6")]
6236 pub download_start_time: i64,
6237 #[prost(float, tag = "1")]
6238 pub upload_mbps: f32,
6239 #[prost(float, tag = "2")]
6240 pub download_mbps: f32,
6241 #[prost(enumeration = "speed_test_stats::Target", tag = "7")]
6242 pub target: i32,
6243 #[prost(uint32, tag = "8")]
6244 pub tcp_streams: u32,
6245}
6246pub mod speed_test_stats {
6248 #[derive(
6249 Clone,
6250 Copy,
6251 Debug,
6252 PartialEq,
6253 Eq,
6254 Hash,
6255 PartialOrd,
6256 Ord,
6257 ::prost::Enumeration
6258 )]
6259 #[repr(i32)]
6260 pub enum Target {
6261 Unknown = 0,
6262 Fastcom = 1,
6263 Cloudflare = 2,
6264 }
6265 impl Target {
6266 pub fn as_str_name(&self) -> &'static str {
6271 match self {
6272 Self::Unknown => "UNKNOWN",
6273 Self::Fastcom => "FASTCOM",
6274 Self::Cloudflare => "CLOUDFLARE",
6275 }
6276 }
6277 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6279 match value {
6280 "UNKNOWN" => Some(Self::Unknown),
6281 "FASTCOM" => Some(Self::Fastcom),
6282 "CLOUDFLARE" => Some(Self::Cloudflare),
6283 _ => None,
6284 }
6285 }
6286 }
6287}
6288#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6289pub struct ClientPlatform {
6290 #[prost(enumeration = "client_platform::Platform", tag = "1")]
6291 pub platform: i32,
6292 #[prost(float, tag = "2")]
6293 pub major_version: f32,
6294 #[prost(float, tag = "3")]
6295 pub minor_version: f32,
6296}
6297pub mod client_platform {
6299 #[derive(
6300 Clone,
6301 Copy,
6302 Debug,
6303 PartialEq,
6304 Eq,
6305 Hash,
6306 PartialOrd,
6307 Ord,
6308 ::prost::Enumeration
6309 )]
6310 #[repr(i32)]
6311 pub enum Platform {
6312 Unknown = 0,
6313 Ios = 1,
6314 Android = 2,
6315 Web = 3,
6316 }
6317 impl Platform {
6318 pub fn as_str_name(&self) -> &'static str {
6323 match self {
6324 Self::Unknown => "UNKNOWN",
6325 Self::Ios => "IOS",
6326 Self::Android => "ANDROID",
6327 Self::Web => "WEB",
6328 }
6329 }
6330 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6332 match value {
6333 "UNKNOWN" => Some(Self::Unknown),
6334 "IOS" => Some(Self::Ios),
6335 "ANDROID" => Some(Self::Android),
6336 "WEB" => Some(Self::Web),
6337 _ => None,
6338 }
6339 }
6340 }
6341}
6342#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6343pub struct SpeedTestRequest {
6344 #[prost(uint32, tag = "4")]
6345 pub id: u32,
6346 #[prost(message, optional, tag = "1")]
6347 pub client_speedtest: ::core::option::Option<SpeedTestStats>,
6348 #[prost(float, tag = "2")]
6349 pub client_rssi: f32,
6350 #[prost(message, optional, tag = "3")]
6351 pub client_platform: ::core::option::Option<ClientPlatform>,
6352}
6353#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6354pub struct SpeedTestResponse {
6355 #[deprecated]
6356 #[prost(float, tag = "1")]
6357 pub download_bps: f32,
6358 #[deprecated]
6359 #[prost(float, tag = "2")]
6360 pub upload_bps: f32,
6361 #[deprecated]
6362 #[prost(float, tag = "3")]
6363 pub latency_s: f32,
6364 #[deprecated]
6365 #[prost(float, tag = "4")]
6366 pub download_mbps: f32,
6367 #[deprecated]
6368 #[prost(float, tag = "5")]
6369 pub upload_mbps: f32,
6370 #[deprecated]
6371 #[prost(float, tag = "6")]
6372 pub latency_ms: f32,
6373 #[prost(message, optional, tag = "15")]
6374 pub router_speedtest: ::core::option::Option<SpeedTestStats>,
6375 #[prost(float, tag = "7")]
6376 pub download_mbps_1_tcp_conn: f32,
6377 #[prost(float, tag = "8")]
6378 pub upload_mbps_1_tcp_conn: f32,
6379 #[prost(float, tag = "9")]
6380 pub download_mbps_4_tcp_conn: f32,
6381 #[prost(float, tag = "10")]
6382 pub upload_mbps_4_tcp_conn: f32,
6383 #[prost(float, tag = "11")]
6384 pub download_mbps_16_tcp_conn: f32,
6385 #[prost(float, tag = "12")]
6386 pub upload_mbps_16_tcp_conn: f32,
6387 #[prost(float, tag = "13")]
6388 pub download_mbps_64_tcp_conn: f32,
6389 #[prost(float, tag = "14")]
6390 pub upload_mbps_64_tcp_conn: f32,
6391}
6392#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6393pub struct RunIperfServerRequest {
6394 #[prost(uint32, tag = "1")]
6395 pub duration_s: u32,
6396}
6397#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6398pub struct RunIperfServerResponse {
6399 #[prost(uint32, tag = "1")]
6400 pub port: u32,
6401}
6402#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6403pub struct GetConnectionsRequest {}
6404#[derive(Clone, PartialEq, ::prost::Message)]
6405pub struct GetConnectionsResponse {
6406 #[prost(map = "string, message", tag = "1")]
6407 pub services: ::std::collections::HashMap<
6408 ::prost::alloc::string::String,
6409 get_connections_response::ServiceConnection,
6410 >,
6411}
6412pub mod get_connections_response {
6414 #[derive(Clone, PartialEq, ::prost::Message)]
6415 pub struct ServiceConnection {
6416 #[prost(string, tag = "1")]
6417 pub address: ::prost::alloc::string::String,
6418 #[prost(int32, tag = "2")]
6419 pub seconds_since_success: i32,
6420 }
6421}
6422#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6423pub struct GetDeviceInfoRequest {}
6424#[derive(Clone, PartialEq, ::prost::Message)]
6425pub struct GetDeviceInfoResponse {
6426 #[prost(message, optional, tag = "1")]
6427 pub device_info: ::core::option::Option<DeviceInfo>,
6428}
6429#[derive(Clone, PartialEq, ::prost::Message)]
6430pub struct SetTrustedKeysRequest {
6431 #[prost(message, repeated, tag = "1")]
6432 pub keys: ::prost::alloc::vec::Vec<PublicKey>,
6433}
6434#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6435pub struct SetTrustedKeysResponse {}
6436#[derive(Clone, PartialEq, ::prost::Message)]
6437pub struct SetSkuRequest {
6438 #[prost(string, tag = "1")]
6439 pub sku: ::prost::alloc::string::String,
6440 #[prost(string, tag = "2")]
6441 pub country_code: ::prost::alloc::string::String,
6442 #[prost(bool, tag = "4")]
6443 pub apply_country_code: bool,
6444 #[prost(bool, tag = "5")]
6445 pub pin_country_code: bool,
6446 #[prost(bool, tag = "6")]
6447 pub custom_power_table: bool,
6448}
6449#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6450pub struct SetSkuResponse {}
6451#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6452pub struct UpdateRequest {
6453 #[prost(bool, optional, tag = "1")]
6454 pub schedule_reboot: ::core::option::Option<bool>,
6455}
6456#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6457pub struct UpdateResponse {}
6458#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6459pub struct RestartControlRequest {}
6460#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6461pub struct RestartControlResponse {}
6462#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6463pub struct GetNetworkInterfacesRequest {}
6464#[derive(Clone, PartialEq, ::prost::Message)]
6465pub struct GetNetworkInterfacesResponse {
6466 #[prost(message, repeated, tag = "1006")]
6467 pub network_interfaces: ::prost::alloc::vec::Vec<NetworkInterface>,
6468}
6469#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6470pub struct GetRadioStatsRequest {}
6471#[derive(Clone, PartialEq, ::prost::Message)]
6472pub struct GetRadioStatsResponse {
6473 #[prost(message, repeated, tag = "1")]
6474 pub radio_stats: ::prost::alloc::vec::Vec<RadioStats>,
6475}
6476#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6477pub struct GetHeapDumpRequest {}
6478#[derive(Clone, PartialEq, ::prost::Message)]
6479pub struct GetHeapDumpResponse {
6480 #[prost(string, tag = "1")]
6481 pub heap_dump: ::prost::alloc::string::String,
6482}
6483#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6484pub struct GetLocationRequest {
6485 #[prost(enumeration = "PositionSource", tag = "1")]
6486 pub source: i32,
6487}
6488#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6489pub struct GetLocationResponse {
6490 #[prost(message, optional, tag = "1")]
6491 pub lla: ::core::option::Option<LlaPosition>,
6492 #[prost(double, tag = "4")]
6493 pub sigma_m: f64,
6494 #[prost(enumeration = "PositionSource", tag = "3")]
6495 pub source: i32,
6496}
6497#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6498pub struct DishSetEmcRequest {
6499 #[prost(double, tag = "1")]
6500 pub theta: f64,
6501 #[prost(double, tag = "2")]
6502 pub phi: f64,
6503 #[prost(uint32, tag = "3")]
6504 pub rx_chan: u32,
6505 #[prost(uint32, tag = "4")]
6506 pub tx_chan: u32,
6507 #[prost(uint32, tag = "5")]
6508 pub modulation: u32,
6509 #[prost(double, tag = "7")]
6510 pub desired_tilt_angle: f64,
6511 #[prost(bool, tag = "8")]
6512 pub chan_override: bool,
6513 #[prost(bool, tag = "9")]
6514 pub theta_enabled: bool,
6515 #[prost(bool, tag = "10")]
6516 pub phi_enabled: bool,
6517 #[prost(bool, tag = "11")]
6518 pub idle: bool,
6519 #[prost(bool, tag = "12")]
6520 pub fast_switching: bool,
6521 #[prost(bool, tag = "13")]
6522 pub sky_search: bool,
6523 #[prost(bool, tag = "14")]
6524 pub force_pll_unlock: bool,
6525 #[prost(bool, tag = "15")]
6526 pub force_eirp_failure: bool,
6527 #[prost(bool, tag = "16")]
6528 pub snow_active_override: bool,
6529 #[prost(bool, tag = "18")]
6530 pub manual_tilting: bool,
6531 #[prost(bool, tag = "19")]
6532 pub tilt_to_stowed: bool,
6533 #[prost(bool, tag = "20")]
6534 pub reboot: bool,
6535 #[prost(bool, tag = "21")]
6536 pub continuous_motor_test: bool,
6537 #[prost(double, tag = "22")]
6538 pub distance_override_meters: f64,
6539 #[prost(uint32, tag = "24")]
6540 pub country_code_override: u32,
6541 #[prost(int32, tag = "25")]
6542 pub tx_duty_cycle_override: i32,
6543 #[prost(int32, tag = "26")]
6544 pub rx_duty_cycle_override: i32,
6545 #[prost(double, tag = "27")]
6546 pub eirp_legal_limit_dbw_override: f64,
6547 #[prost(double, tag = "28")]
6548 pub eirp_adjustment_db: f64,
6549}
6550#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6551pub struct DishSetEmcResponse {}
6552#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6553pub struct DishSetMaxPowerTestModeRequest {
6554 #[prost(bool, tag = "1")]
6555 pub enabled: bool,
6556}
6557#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6558pub struct DishSetMaxPowerTestModeResponse {
6559 #[prost(bool, tag = "1")]
6560 pub enabled: bool,
6561}
6562#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6563pub struct DishGetEmcRequest {}
6564#[derive(Clone, PartialEq, ::prost::Message)]
6565pub struct DishGetEmcResponse {
6566 #[prost(string, tag = "2")]
6567 pub uuid: ::prost::alloc::string::String,
6568 #[prost(uint64, tag = "3")]
6569 pub timestamp: u64,
6570 #[prost(uint32, tag = "11")]
6571 pub cplane_updates: u32,
6572 #[prost(double, tag = "16")]
6573 pub gps_latitude: f64,
6574 #[prost(double, tag = "17")]
6575 pub gps_longitude: f64,
6576 #[prost(double, tag = "18")]
6577 pub gps_pdop: f64,
6578 #[prost(uint32, tag = "19")]
6579 pub rf_mode: u32,
6580 #[prost(double, tag = "20")]
6581 pub phi: f64,
6582 #[prost(double, tag = "21")]
6583 pub theta: f64,
6584 #[prost(uint32, tag = "22")]
6585 pub rx_channel: u32,
6586 #[prost(uint32, tag = "23")]
6587 pub tx_channel: u32,
6588 #[prost(float, tag = "24")]
6589 pub t_dbf_max: f32,
6590 #[prost(double, tag = "25")]
6591 pub t_center: f64,
6592 #[prost(bool, tag = "30")]
6593 pub auto_power_snow_melt_enabled: bool,
6594 #[prost(double, tag = "32")]
6595 pub voltage: f64,
6596 #[prost(uint32, tag = "33")]
6597 pub rx_beam_state: u32,
6598 #[prost(uint32, tag = "34")]
6599 pub tx_beam_state: u32,
6600 #[prost(uint32, tag = "35")]
6601 pub half_duplex_state: u32,
6602 #[prost(bool, tag = "36")]
6603 pub manual_tilt_enabled: bool,
6604 #[prost(double, tag = "37")]
6605 pub tilt_angle: f64,
6606 #[prost(uint32, tag = "38")]
6607 pub pll_tx_lock_detected: u32,
6608 #[prost(bool, tag = "39")]
6609 pub eirp_exceeded_threshold: bool,
6610 #[prost(bool, tag = "41")]
6611 pub idle_override_enabled: bool,
6612 #[prost(bool, tag = "42")]
6613 pub theta_override_enabled: bool,
6614 #[prost(double, tag = "43")]
6615 pub theta_override_value: f64,
6616 #[prost(bool, tag = "44")]
6617 pub phi_override_enabled: bool,
6618 #[prost(double, tag = "45")]
6619 pub phi_override_value: f64,
6620 #[prost(uint32, tag = "46")]
6621 pub rx_chan_override_value: u32,
6622 #[prost(uint32, tag = "47")]
6623 pub tx_chan_override_value: u32,
6624 #[prost(bool, tag = "48")]
6625 pub sky_search_override_enabled: bool,
6626 #[prost(bool, tag = "49")]
6627 pub fast_switching_enabled: bool,
6628 #[prost(uint32, tag = "50")]
6629 pub modulation_override_value: u32,
6630 #[prost(bool, tag = "51")]
6631 pub force_eirp_failure: bool,
6632 #[prost(bool, tag = "52")]
6633 pub force_pll_unlock: bool,
6634 #[prost(uint32, tag = "53")]
6635 pub ut_ine_success: u32,
6636 #[prost(bool, tag = "54")]
6637 pub rf_ready: bool,
6638 #[prost(bool, tag = "55")]
6639 pub tilt_to_stowed: bool,
6640 #[prost(bool, tag = "56")]
6641 pub reboot: bool,
6642 #[prost(bool, tag = "57")]
6643 pub continuous_motor_test: bool,
6644 #[prost(double, tag = "58")]
6645 pub distance_override_meters: f64,
6646 #[prost(uint32, tag = "62")]
6647 pub country_code_override: u32,
6648 #[prost(double, tag = "63")]
6649 pub max_pointing_distance: f64,
6650 #[prost(double, tag = "64")]
6651 pub distance_scaling_factor: f64,
6652 #[prost(int32, tag = "65")]
6653 pub tx_duty_cycle_override: i32,
6654 #[prost(int32, tag = "66")]
6655 pub rx_duty_cycle_override: i32,
6656 #[prost(float, tag = "67")]
6657 pub tx_time_ms: f32,
6658 #[prost(float, tag = "68")]
6659 pub rx_time_ms: f32,
6660 #[prost(double, tag = "69")]
6661 pub eirp_legal_limit_dbw: f64,
6662 #[prost(double, tag = "70")]
6663 pub eirp_legal_limit_dbw_override: f64,
6664 #[prost(double, tag = "71")]
6665 pub eirp_adjustment_db: f64,
6666 #[prost(double, tag = "72")]
6667 pub eirp_predicted_dbw: f64,
6668}
6669#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6670pub struct GetPersistentStatsRequest {}
6671#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6672pub struct StartSpeedtestRequest {}
6673#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6674pub struct StartSpeedtestResponse {}
6675#[derive(Clone, PartialEq, ::prost::Message)]
6676pub struct SpeedtestStatus {
6677 #[prost(bool, tag = "1")]
6678 pub running: bool,
6679 #[prost(uint32, tag = "2")]
6680 pub id: u32,
6681 #[prost(message, optional, tag = "1000")]
6682 pub up: ::core::option::Option<speedtest_status::Direction>,
6683 #[prost(message, optional, tag = "1001")]
6684 pub down: ::core::option::Option<speedtest_status::Direction>,
6685}
6686pub mod speedtest_status {
6688 #[derive(Clone, PartialEq, ::prost::Message)]
6689 pub struct Direction {
6690 #[prost(float, repeated, tag = "1")]
6691 pub throughputs_mbps: ::prost::alloc::vec::Vec<f32>,
6692 #[prost(enumeration = "super::SpeedtestError", tag = "2")]
6693 pub err: i32,
6694 }
6695}
6696#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6697pub struct GetSpeedtestStatusRequest {}
6698#[derive(Clone, PartialEq, ::prost::Message)]
6699pub struct GetSpeedtestStatusResponse {
6700 #[prost(message, optional, tag = "1")]
6701 pub status: ::core::option::Option<SpeedtestStatus>,
6702}
6703#[derive(Clone, PartialEq, ::prost::Message)]
6704pub struct ReportClientSpeedtestRequest {
6705 #[prost(uint32, tag = "1")]
6706 pub id: u32,
6707 #[prost(message, optional, tag = "2")]
6708 pub client_speedtest: ::core::option::Option<SpeedTestStats>,
6709 #[prost(message, optional, tag = "5")]
6710 pub wifi_speedtest: ::core::option::Option<SpeedTestStats>,
6711 #[prost(float, tag = "3")]
6712 pub client_rssi: f32,
6713 #[prost(message, optional, tag = "4")]
6714 pub client_platform: ::core::option::Option<ClientPlatform>,
6715 #[prost(string, tag = "6")]
6716 pub app_version: ::prost::alloc::string::String,
6717 #[prost(uint32, tag = "7")]
6718 pub app_build: u32,
6719}
6720#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6721pub struct ReportClientSpeedtestResponse {}
6722#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6723pub struct SetPerVehicleConfigResponse {}
6724#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6725pub struct DishPowerSaveRequest {
6726 #[prost(uint32, tag = "1")]
6727 pub power_save_start_minutes: u32,
6728 #[prost(uint32, tag = "2")]
6729 pub power_save_duration_minutes: u32,
6730 #[prost(bool, tag = "3")]
6731 pub enable_power_save: bool,
6732}
6733#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6734pub struct IqCaptureRequest {}
6735#[derive(Clone, Copy, PartialEq, ::prost::Message)]
6736pub struct GetDiagnosticsRequest {}
6737#[derive(Clone, PartialEq, ::prost::Message)]
6738pub struct WifiGetDiagnosticsResponse {
6739 #[prost(string, tag = "1")]
6740 pub id: ::prost::alloc::string::String,
6741 #[prost(string, tag = "2")]
6742 pub hardware_version: ::prost::alloc::string::String,
6743 #[prost(string, tag = "3")]
6744 pub software_version: ::prost::alloc::string::String,
6745 #[prost(message, repeated, tag = "4")]
6746 pub networks: ::prost::alloc::vec::Vec<wifi_get_diagnostics_response::Network>,
6747}
6748pub mod wifi_get_diagnostics_response {
6750 #[derive(Clone, PartialEq, ::prost::Message)]
6751 pub struct Network {
6752 #[prost(string, tag = "1")]
6753 pub domain: ::prost::alloc::string::String,
6754 #[prost(string, tag = "2")]
6755 pub ipv4: ::prost::alloc::string::String,
6756 #[prost(string, repeated, tag = "3")]
6757 pub ipv6: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6758 #[prost(uint32, tag = "10")]
6759 pub clients_ethernet: u32,
6760 #[prost(uint32, tag = "11")]
6761 pub clients_2ghz: u32,
6762 #[prost(uint32, tag = "12")]
6763 pub clients_5ghz: u32,
6764 }
6765}
6766#[derive(Clone, PartialEq, ::prost::Message)]
6767pub struct DishGetDiagnosticsResponse {
6768 #[prost(string, tag = "1")]
6769 pub id: ::prost::alloc::string::String,
6770 #[prost(string, tag = "2")]
6771 pub hardware_version: ::prost::alloc::string::String,
6772 #[prost(string, tag = "3")]
6773 pub software_version: ::prost::alloc::string::String,
6774 #[prost(int32, tag = "4")]
6775 pub utc_offset_s: i32,
6776 #[prost(enumeration = "dish_get_diagnostics_response::TestResult", tag = "7")]
6777 pub hardware_self_test: i32,
6778 #[prost(
6779 enumeration = "dish_get_diagnostics_response::TestResultCode",
6780 repeated,
6781 tag = "11"
6782 )]
6783 pub hardware_self_test_codes: ::prost::alloc::vec::Vec<i32>,
6784 #[prost(message, optional, tag = "5")]
6785 pub alerts: ::core::option::Option<dish_get_diagnostics_response::Alerts>,
6786 #[prost(enumeration = "dish_get_diagnostics_response::DisablementCode", tag = "6")]
6787 pub disablement_code: i32,
6788 #[prost(message, optional, tag = "8")]
6789 pub location: ::core::option::Option<dish_get_diagnostics_response::Location>,
6790 #[prost(message, optional, tag = "9")]
6791 pub alignment_stats: ::core::option::Option<
6792 dish_get_diagnostics_response::AlignmentStats,
6793 >,
6794 #[prost(bool, tag = "10")]
6795 pub stowed: bool,
6796 #[prost(
6797 enumeration = "super::telemetron::public::integrations::RateLimitReason",
6798 tag = "12"
6799 )]
6800 pub dl_bandwidth_restricted_reason: i32,
6801 #[prost(
6802 enumeration = "super::telemetron::public::integrations::RateLimitReason",
6803 tag = "13"
6804 )]
6805 pub ul_bandwidth_restricted_reason: i32,
6806}
6807pub mod dish_get_diagnostics_response {
6809 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
6810 pub struct Alerts {
6811 #[prost(bool, tag = "1")]
6812 pub dish_is_heating: bool,
6813 #[prost(bool, tag = "2")]
6814 pub dish_thermal_throttle: bool,
6815 #[prost(bool, tag = "3")]
6816 pub dish_thermal_shutdown: bool,
6817 #[prost(bool, tag = "4")]
6818 pub power_supply_thermal_throttle: bool,
6819 #[prost(bool, tag = "5")]
6820 pub motors_stuck: bool,
6821 #[prost(bool, tag = "6")]
6822 pub mast_not_near_vertical: bool,
6823 #[prost(bool, tag = "7")]
6824 pub slow_ethernet_speeds: bool,
6825 #[prost(bool, tag = "8")]
6826 pub software_install_pending: bool,
6827 #[prost(bool, tag = "9")]
6828 pub moving_too_fast_for_policy: bool,
6829 #[prost(bool, tag = "10")]
6830 pub obstructed: bool,
6831 }
6832 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
6833 pub struct Location {
6834 #[prost(bool, tag = "1")]
6835 pub enabled: bool,
6836 #[prost(double, tag = "2")]
6837 pub latitude: f64,
6838 #[prost(double, tag = "3")]
6839 pub longitude: f64,
6840 #[prost(double, tag = "4")]
6841 pub altitude_meters: f64,
6842 #[prost(bool, tag = "5")]
6843 pub uncertainty_meters_valid: bool,
6844 #[prost(double, tag = "6")]
6845 pub uncertainty_meters: f64,
6846 #[prost(double, tag = "7")]
6847 pub gps_time_s: f64,
6848 }
6849 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
6850 pub struct AlignmentStats {
6851 #[prost(float, tag = "1")]
6852 pub boresight_azimuth_deg: f32,
6853 #[prost(float, tag = "2")]
6854 pub boresight_elevation_deg: f32,
6855 #[prost(float, tag = "3")]
6856 pub desired_boresight_azimuth_deg: f32,
6857 #[prost(float, tag = "4")]
6858 pub desired_boresight_elevation_deg: f32,
6859 }
6860 #[derive(
6861 Clone,
6862 Copy,
6863 Debug,
6864 PartialEq,
6865 Eq,
6866 Hash,
6867 PartialOrd,
6868 Ord,
6869 ::prost::Enumeration
6870 )]
6871 #[repr(i32)]
6872 pub enum TestResult {
6873 NoResult = 0,
6874 Passed = 1,
6875 Failed = 2,
6876 }
6877 impl TestResult {
6878 pub fn as_str_name(&self) -> &'static str {
6883 match self {
6884 Self::NoResult => "NO_RESULT",
6885 Self::Passed => "PASSED",
6886 Self::Failed => "FAILED",
6887 }
6888 }
6889 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6891 match value {
6892 "NO_RESULT" => Some(Self::NoResult),
6893 "PASSED" => Some(Self::Passed),
6894 "FAILED" => Some(Self::Failed),
6895 _ => None,
6896 }
6897 }
6898 }
6899 #[derive(
6900 Clone,
6901 Copy,
6902 Debug,
6903 PartialEq,
6904 Eq,
6905 Hash,
6906 PartialOrd,
6907 Ord,
6908 ::prost::Enumeration
6909 )]
6910 #[repr(i32)]
6911 pub enum TestResultCode {
6912 General = 0,
6913 BootUp = 1,
6914 CpuVoltage = 2,
6915 DbfAapCs = 3,
6916 DbfNumFems = 4,
6917 DbfReadErrors = 5,
6918 DbfTDie0 = 6,
6919 DbfTDie1 = 7,
6920 DbfTDie0Valid = 8,
6921 DbfTDie1Valid = 9,
6922 EthPrime = 10,
6923 Eirp = 11,
6924 FemCut = 12,
6925 FuseAvs = 13,
6926 Gps = 14,
6927 Imu = 15,
6928 Phy = 16,
6929 ScpError = 17,
6930 Temperature = 18,
6931 Vtsens = 19,
6932 }
6933 impl TestResultCode {
6934 pub fn as_str_name(&self) -> &'static str {
6939 match self {
6940 Self::General => "GENERAL",
6941 Self::BootUp => "BOOT_UP",
6942 Self::CpuVoltage => "CPU_VOLTAGE",
6943 Self::DbfAapCs => "DBF_AAP_CS",
6944 Self::DbfNumFems => "DBF_NUM_FEMS",
6945 Self::DbfReadErrors => "DBF_READ_ERRORS",
6946 Self::DbfTDie0 => "DBF_T_DIE_0",
6947 Self::DbfTDie1 => "DBF_T_DIE_1",
6948 Self::DbfTDie0Valid => "DBF_T_DIE_0_VALID",
6949 Self::DbfTDie1Valid => "DBF_T_DIE_1_VALID",
6950 Self::EthPrime => "ETH_PRIME",
6951 Self::Eirp => "EIRP",
6952 Self::FemCut => "FEM_CUT",
6953 Self::FuseAvs => "FUSE_AVS",
6954 Self::Gps => "GPS",
6955 Self::Imu => "IMU",
6956 Self::Phy => "PHY",
6957 Self::ScpError => "SCP_ERROR",
6958 Self::Temperature => "TEMPERATURE",
6959 Self::Vtsens => "VTSENS",
6960 }
6961 }
6962 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6964 match value {
6965 "GENERAL" => Some(Self::General),
6966 "BOOT_UP" => Some(Self::BootUp),
6967 "CPU_VOLTAGE" => Some(Self::CpuVoltage),
6968 "DBF_AAP_CS" => Some(Self::DbfAapCs),
6969 "DBF_NUM_FEMS" => Some(Self::DbfNumFems),
6970 "DBF_READ_ERRORS" => Some(Self::DbfReadErrors),
6971 "DBF_T_DIE_0" => Some(Self::DbfTDie0),
6972 "DBF_T_DIE_1" => Some(Self::DbfTDie1),
6973 "DBF_T_DIE_0_VALID" => Some(Self::DbfTDie0Valid),
6974 "DBF_T_DIE_1_VALID" => Some(Self::DbfTDie1Valid),
6975 "ETH_PRIME" => Some(Self::EthPrime),
6976 "EIRP" => Some(Self::Eirp),
6977 "FEM_CUT" => Some(Self::FemCut),
6978 "FUSE_AVS" => Some(Self::FuseAvs),
6979 "GPS" => Some(Self::Gps),
6980 "IMU" => Some(Self::Imu),
6981 "PHY" => Some(Self::Phy),
6982 "SCP_ERROR" => Some(Self::ScpError),
6983 "TEMPERATURE" => Some(Self::Temperature),
6984 "VTSENS" => Some(Self::Vtsens),
6985 _ => None,
6986 }
6987 }
6988 }
6989 #[derive(
6990 Clone,
6991 Copy,
6992 Debug,
6993 PartialEq,
6994 Eq,
6995 Hash,
6996 PartialOrd,
6997 Ord,
6998 ::prost::Enumeration
6999 )]
7000 #[repr(i32)]
7001 pub enum DisablementCode {
7002 Unknown = 0,
7003 Okay = 1,
7004 NoActiveAccount = 2,
7005 TooFarFromServiceAddress = 3,
7006 InOcean = 4,
7007 BlockedCountry = 6,
7008 DataOverageSandboxPolicy = 7,
7009 CellIsDisabled = 8,
7010 RoamRestricted = 10,
7011 UnknownLocation = 11,
7012 AccountDisabled = 12,
7013 UnsupportedVersion = 13,
7014 MovingTooFastForPolicy = 14,
7015 UnderAviationFlyoverLimits = 15,
7016 }
7017 impl DisablementCode {
7018 pub fn as_str_name(&self) -> &'static str {
7023 match self {
7024 Self::Unknown => "UNKNOWN",
7025 Self::Okay => "OKAY",
7026 Self::NoActiveAccount => "NO_ACTIVE_ACCOUNT",
7027 Self::TooFarFromServiceAddress => "TOO_FAR_FROM_SERVICE_ADDRESS",
7028 Self::InOcean => "IN_OCEAN",
7029 Self::BlockedCountry => "BLOCKED_COUNTRY",
7030 Self::DataOverageSandboxPolicy => "DATA_OVERAGE_SANDBOX_POLICY",
7031 Self::CellIsDisabled => "CELL_IS_DISABLED",
7032 Self::RoamRestricted => "ROAM_RESTRICTED",
7033 Self::UnknownLocation => "UNKNOWN_LOCATION",
7034 Self::AccountDisabled => "ACCOUNT_DISABLED",
7035 Self::UnsupportedVersion => "UNSUPPORTED_VERSION",
7036 Self::MovingTooFastForPolicy => "MOVING_TOO_FAST_FOR_POLICY",
7037 Self::UnderAviationFlyoverLimits => "UNDER_AVIATION_FLYOVER_LIMITS",
7038 }
7039 }
7040 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7042 match value {
7043 "UNKNOWN" => Some(Self::Unknown),
7044 "OKAY" => Some(Self::Okay),
7045 "NO_ACTIVE_ACCOUNT" => Some(Self::NoActiveAccount),
7046 "TOO_FAR_FROM_SERVICE_ADDRESS" => Some(Self::TooFarFromServiceAddress),
7047 "IN_OCEAN" => Some(Self::InOcean),
7048 "BLOCKED_COUNTRY" => Some(Self::BlockedCountry),
7049 "DATA_OVERAGE_SANDBOX_POLICY" => Some(Self::DataOverageSandboxPolicy),
7050 "CELL_IS_DISABLED" => Some(Self::CellIsDisabled),
7051 "ROAM_RESTRICTED" => Some(Self::RoamRestricted),
7052 "UNKNOWN_LOCATION" => Some(Self::UnknownLocation),
7053 "ACCOUNT_DISABLED" => Some(Self::AccountDisabled),
7054 "UNSUPPORTED_VERSION" => Some(Self::UnsupportedVersion),
7055 "MOVING_TOO_FAST_FOR_POLICY" => Some(Self::MovingTooFastForPolicy),
7056 "UNDER_AVIATION_FLYOVER_LIMITS" => Some(Self::UnderAviationFlyoverLimits),
7057 _ => None,
7058 }
7059 }
7060 }
7061}
7062#[derive(Clone, PartialEq, ::prost::Message)]
7063pub struct TcpConnectivityTestRequest {
7064 #[prost(string, tag = "1")]
7065 pub target: ::prost::alloc::string::String,
7066 #[prost(uint32, tag = "2")]
7067 pub port: u32,
7068}
7069#[derive(Clone, PartialEq, ::prost::Message)]
7070pub struct UdpConnectivityTestRequest {
7071 #[prost(string, tag = "1")]
7072 pub target: ::prost::alloc::string::String,
7073 #[prost(uint32, tag = "2")]
7074 pub port: u32,
7075 #[prost(enumeration = "udp_connectivity_test_request::UdpProbeDataType", tag = "3")]
7076 pub probe_data: i32,
7077}
7078pub mod udp_connectivity_test_request {
7080 #[derive(
7081 Clone,
7082 Copy,
7083 Debug,
7084 PartialEq,
7085 Eq,
7086 Hash,
7087 PartialOrd,
7088 Ord,
7089 ::prost::Enumeration
7090 )]
7091 #[repr(i32)]
7092 pub enum UdpProbeDataType {
7093 Empty = 0,
7094 DnsStatusRequest = 1,
7095 DtlsClientHello = 2,
7096 DnsVersionBindReq = 3,
7097 RpcCheck = 4,
7098 DnsSd = 5,
7099 SnmpV1Public = 6,
7100 SnmpV3GetRequest = 7,
7101 NtpMessage = 8,
7102 Xdmcp = 9,
7103 Kerberos = 10,
7104 SipOptions = 11,
7105 LdapSearchReq = 12,
7106 MemcachedStats = 13,
7107 Openvpn = 14,
7108 CifsNsUc = 15,
7109 TftpGet = 16,
7110 DhcpInform = 17,
7111 Quic = 18,
7112 Ripv1 = 19,
7113 NfsProcNull = 20,
7114 CoapRequest = 21,
7115 }
7116 impl UdpProbeDataType {
7117 pub fn as_str_name(&self) -> &'static str {
7122 match self {
7123 Self::Empty => "EMPTY",
7124 Self::DnsStatusRequest => "DNS_STATUS_REQUEST",
7125 Self::DtlsClientHello => "DTLS_CLIENT_HELLO",
7126 Self::DnsVersionBindReq => "DNS_VERSION_BIND_REQ",
7127 Self::RpcCheck => "RPC_CHECK",
7128 Self::DnsSd => "DNS_SD",
7129 Self::SnmpV1Public => "SNMP_V1_PUBLIC",
7130 Self::SnmpV3GetRequest => "SNMP_V3_GET_REQUEST",
7131 Self::NtpMessage => "NTP_MESSAGE",
7132 Self::Xdmcp => "XDMCP",
7133 Self::Kerberos => "KERBEROS",
7134 Self::SipOptions => "SIP_OPTIONS",
7135 Self::LdapSearchReq => "LDAP_SEARCH_REQ",
7136 Self::MemcachedStats => "MEMCACHED_STATS",
7137 Self::Openvpn => "OPENVPN",
7138 Self::CifsNsUc => "CIFS_NS_UC",
7139 Self::TftpGet => "TFTP_GET",
7140 Self::DhcpInform => "DHCP_INFORM",
7141 Self::Quic => "QUIC",
7142 Self::Ripv1 => "RIPV1",
7143 Self::NfsProcNull => "NFS_PROC_NULL",
7144 Self::CoapRequest => "COAP_REQUEST",
7145 }
7146 }
7147 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7149 match value {
7150 "EMPTY" => Some(Self::Empty),
7151 "DNS_STATUS_REQUEST" => Some(Self::DnsStatusRequest),
7152 "DTLS_CLIENT_HELLO" => Some(Self::DtlsClientHello),
7153 "DNS_VERSION_BIND_REQ" => Some(Self::DnsVersionBindReq),
7154 "RPC_CHECK" => Some(Self::RpcCheck),
7155 "DNS_SD" => Some(Self::DnsSd),
7156 "SNMP_V1_PUBLIC" => Some(Self::SnmpV1Public),
7157 "SNMP_V3_GET_REQUEST" => Some(Self::SnmpV3GetRequest),
7158 "NTP_MESSAGE" => Some(Self::NtpMessage),
7159 "XDMCP" => Some(Self::Xdmcp),
7160 "KERBEROS" => Some(Self::Kerberos),
7161 "SIP_OPTIONS" => Some(Self::SipOptions),
7162 "LDAP_SEARCH_REQ" => Some(Self::LdapSearchReq),
7163 "MEMCACHED_STATS" => Some(Self::MemcachedStats),
7164 "OPENVPN" => Some(Self::Openvpn),
7165 "CIFS_NS_UC" => Some(Self::CifsNsUc),
7166 "TFTP_GET" => Some(Self::TftpGet),
7167 "DHCP_INFORM" => Some(Self::DhcpInform),
7168 "QUIC" => Some(Self::Quic),
7169 "RIPV1" => Some(Self::Ripv1),
7170 "NFS_PROC_NULL" => Some(Self::NfsProcNull),
7171 "COAP_REQUEST" => Some(Self::CoapRequest),
7172 _ => None,
7173 }
7174 }
7175 }
7176}
7177#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7178pub struct GetGoroutineStackTracesRequest {}
7179#[derive(Clone, PartialEq, ::prost::Message)]
7180pub struct GetGoroutineStackTracesResponse {
7181 #[prost(string, tag = "1")]
7182 pub stack_traces: ::prost::alloc::string::String,
7183}
7184#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7185#[repr(i32)]
7186pub enum WifiClientSandboxAlert {
7187 SandboxAlertUnknown = 0,
7188 SandboxAlertPortal = 1,
7189 SandboxAlertGroundApi = 2,
7190 SandboxAlertStarlinkApi = 3,
7191}
7192impl WifiClientSandboxAlert {
7193 pub fn as_str_name(&self) -> &'static str {
7198 match self {
7199 Self::SandboxAlertUnknown => "SANDBOX_ALERT_UNKNOWN",
7200 Self::SandboxAlertPortal => "SANDBOX_ALERT_PORTAL",
7201 Self::SandboxAlertGroundApi => "SANDBOX_ALERT_GROUND_API",
7202 Self::SandboxAlertStarlinkApi => "SANDBOX_ALERT_STARLINK_API",
7203 }
7204 }
7205 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7207 match value {
7208 "SANDBOX_ALERT_UNKNOWN" => Some(Self::SandboxAlertUnknown),
7209 "SANDBOX_ALERT_PORTAL" => Some(Self::SandboxAlertPortal),
7210 "SANDBOX_ALERT_GROUND_API" => Some(Self::SandboxAlertGroundApi),
7211 "SANDBOX_ALERT_STARLINK_API" => Some(Self::SandboxAlertStarlinkApi),
7212 _ => None,
7213 }
7214 }
7215}
7216#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7217#[repr(i32)]
7218pub enum PositionSource {
7219 Auto = 0,
7220 None = 1,
7221 UtInfo = 2,
7222 External = 3,
7223 Gps = 4,
7224 Starlink = 5,
7225 GncGps = 6,
7226 GncPnt = 7,
7227 GncFused = 8,
7228 GncRaw = 9,
7229}
7230impl PositionSource {
7231 pub fn as_str_name(&self) -> &'static str {
7236 match self {
7237 Self::Auto => "AUTO",
7238 Self::None => "NONE",
7239 Self::UtInfo => "UT_INFO",
7240 Self::External => "EXTERNAL",
7241 Self::Gps => "GPS",
7242 Self::Starlink => "STARLINK",
7243 Self::GncGps => "GNC_GPS",
7244 Self::GncPnt => "GNC_PNT",
7245 Self::GncFused => "GNC_FUSED",
7246 Self::GncRaw => "GNC_RAW",
7247 }
7248 }
7249 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7251 match value {
7252 "AUTO" => Some(Self::Auto),
7253 "NONE" => Some(Self::None),
7254 "UT_INFO" => Some(Self::UtInfo),
7255 "EXTERNAL" => Some(Self::External),
7256 "GPS" => Some(Self::Gps),
7257 "STARLINK" => Some(Self::Starlink),
7258 "GNC_GPS" => Some(Self::GncGps),
7259 "GNC_PNT" => Some(Self::GncPnt),
7260 "GNC_FUSED" => Some(Self::GncFused),
7261 "GNC_RAW" => Some(Self::GncRaw),
7262 _ => None,
7263 }
7264 }
7265}
7266#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7267#[repr(i32)]
7268pub enum SpeedtestError {
7269 None = 0,
7270 Unknown = 1,
7271 Token = 2,
7272 Api = 3,
7273 NoResult = 4,
7274 Offline = 5,
7275}
7276impl SpeedtestError {
7277 pub fn as_str_name(&self) -> &'static str {
7282 match self {
7283 Self::None => "SPEEDTEST_ERROR_NONE",
7284 Self::Unknown => "SPEEDTEST_ERROR_UNKNOWN",
7285 Self::Token => "SPEEDTEST_ERROR_TOKEN",
7286 Self::Api => "SPEEDTEST_ERROR_API",
7287 Self::NoResult => "SPEEDTEST_ERROR_NO_RESULT",
7288 Self::Offline => "SPEEDTEST_ERROR_OFFLINE",
7289 }
7290 }
7291 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7293 match value {
7294 "SPEEDTEST_ERROR_NONE" => Some(Self::None),
7295 "SPEEDTEST_ERROR_UNKNOWN" => Some(Self::Unknown),
7296 "SPEEDTEST_ERROR_TOKEN" => Some(Self::Token),
7297 "SPEEDTEST_ERROR_API" => Some(Self::Api),
7298 "SPEEDTEST_ERROR_NO_RESULT" => Some(Self::NoResult),
7299 "SPEEDTEST_ERROR_OFFLINE" => Some(Self::Offline),
7300 _ => None,
7301 }
7302 }
7303}
7304pub mod device_client {
7306 #![allow(
7307 unused_variables,
7308 dead_code,
7309 missing_docs,
7310 clippy::wildcard_imports,
7311 clippy::let_unit_value,
7312 )]
7313 use tonic::codegen::*;
7314 use tonic::codegen::http::Uri;
7315 #[derive(Debug, Clone)]
7316 pub struct DeviceClient<T> {
7317 inner: tonic::client::Grpc<T>,
7318 }
7319 impl DeviceClient<tonic::transport::Channel> {
7320 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
7322 where
7323 D: TryInto<tonic::transport::Endpoint>,
7324 D::Error: Into<StdError>,
7325 {
7326 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
7327 Ok(Self::new(conn))
7328 }
7329 }
7330 impl<T> DeviceClient<T>
7331 where
7332 T: tonic::client::GrpcService<tonic::body::Body>,
7333 T::Error: Into<StdError>,
7334 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
7335 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
7336 {
7337 pub fn new(inner: T) -> Self {
7338 let inner = tonic::client::Grpc::new(inner);
7339 Self { inner }
7340 }
7341 pub fn with_origin(inner: T, origin: Uri) -> Self {
7342 let inner = tonic::client::Grpc::with_origin(inner, origin);
7343 Self { inner }
7344 }
7345 pub fn with_interceptor<F>(
7346 inner: T,
7347 interceptor: F,
7348 ) -> DeviceClient<InterceptedService<T, F>>
7349 where
7350 F: tonic::service::Interceptor,
7351 T::ResponseBody: Default,
7352 T: tonic::codegen::Service<
7353 http::Request<tonic::body::Body>,
7354 Response = http::Response<
7355 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
7356 >,
7357 >,
7358 <T as tonic::codegen::Service<
7359 http::Request<tonic::body::Body>,
7360 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
7361 {
7362 DeviceClient::new(InterceptedService::new(inner, interceptor))
7363 }
7364 #[must_use]
7369 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
7370 self.inner = self.inner.send_compressed(encoding);
7371 self
7372 }
7373 #[must_use]
7375 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
7376 self.inner = self.inner.accept_compressed(encoding);
7377 self
7378 }
7379 #[must_use]
7383 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
7384 self.inner = self.inner.max_decoding_message_size(limit);
7385 self
7386 }
7387 #[must_use]
7391 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
7392 self.inner = self.inner.max_encoding_message_size(limit);
7393 self
7394 }
7395 pub async fn stream(
7396 &mut self,
7397 request: impl tonic::IntoStreamingRequest<Message = super::ToDevice>,
7398 ) -> std::result::Result<
7399 tonic::Response<tonic::codec::Streaming<super::FromDevice>>,
7400 tonic::Status,
7401 > {
7402 self.inner
7403 .ready()
7404 .await
7405 .map_err(|e| {
7406 tonic::Status::unknown(
7407 format!("Service was not ready: {}", e.into()),
7408 )
7409 })?;
7410 let codec = tonic::codec::ProstCodec::default();
7411 let path = http::uri::PathAndQuery::from_static(
7412 "/SpaceX.API.Device.Device/Stream",
7413 );
7414 let mut req = request.into_streaming_request();
7415 req.extensions_mut()
7416 .insert(GrpcMethod::new("SpaceX.API.Device.Device", "Stream"));
7417 self.inner.streaming(req, path, codec).await
7418 }
7419 pub async fn handle(
7420 &mut self,
7421 request: impl tonic::IntoRequest<super::Request>,
7422 ) -> std::result::Result<tonic::Response<super::Response>, tonic::Status> {
7423 self.inner
7424 .ready()
7425 .await
7426 .map_err(|e| {
7427 tonic::Status::unknown(
7428 format!("Service was not ready: {}", e.into()),
7429 )
7430 })?;
7431 let codec = tonic::codec::ProstCodec::default();
7432 let path = http::uri::PathAndQuery::from_static(
7433 "/SpaceX.API.Device.Device/Handle",
7434 );
7435 let mut req = request.into_request();
7436 req.extensions_mut()
7437 .insert(GrpcMethod::new("SpaceX.API.Device.Device", "Handle"));
7438 self.inner.unary(req, path, codec).await
7439 }
7440 }
7441}