summaryrefslogtreecommitdiffstats
path: root/third_party/rust/winapi/src/shared/ifmib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/winapi/src/shared/ifmib.rs')
-rw-r--r--third_party/rust/winapi/src/shared/ifmib.rs53
1 files changed, 53 insertions, 0 deletions
diff --git a/third_party/rust/winapi/src/shared/ifmib.rs b/third_party/rust/winapi/src/shared/ifmib.rs
new file mode 100644
index 0000000000..855b147f61
--- /dev/null
+++ b/third_party/rust/winapi/src/shared/ifmib.rs
@@ -0,0 +1,53 @@
+// Licensed under the Apache License, Version 2.0
+// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// All files in the project carrying such notice may not be copied, modified, or distributed
+// except according to those terms.
+//! Contains the public definitions and structures for the non-TCP/IP specific parts of MIB-II.
+// #include <winapifamily.h>
+// #include <ifdef.h>
+use shared::ifdef::IF_INDEX;
+use shared::ipifcons::{IFTYPE, INTERNAL_IF_OPER_STATUS};
+use shared::minwindef::DWORD;
+use shared::ntdef::{UCHAR, WCHAR};
+const ANY_SIZE: usize = 1;
+STRUCT!{struct MIB_IFNUMBER {
+ dwValue: DWORD,
+}}
+pub type PMIB_IFNUMBER = *mut MIB_IFNUMBER;
+pub const MAXLEN_PHYSADDR: usize = 8;
+pub const MAXLEN_IFDESCR: usize = 256;
+pub const MAX_INTERFACE_NAME_LEN: usize = 256;
+STRUCT!{struct MIB_IFROW {
+ wszName: [WCHAR; MAX_INTERFACE_NAME_LEN],
+ dwIndex: IF_INDEX,
+ dwType: IFTYPE,
+ dwMtu: DWORD,
+ dwSpeed: DWORD,
+ dwPhysAddrLen: DWORD,
+ bPhysAddr: [UCHAR; MAXLEN_PHYSADDR],
+ dwAdminStatus: DWORD,
+ dwOperStatus: INTERNAL_IF_OPER_STATUS,
+ dwLastChange: DWORD,
+ dwInOctets: DWORD,
+ dwInUcastPkts: DWORD,
+ dwInNUcastPkts: DWORD,
+ dwInDiscards: DWORD,
+ dwInErrors: DWORD,
+ dwInUnknownProtos: DWORD,
+ dwOutOctets: DWORD,
+ dwOutUcastPkts: DWORD,
+ dwOutNUcastPkts: DWORD,
+ dwOutDiscards: DWORD,
+ dwOutErrors: DWORD,
+ dwOutQLen: DWORD,
+ dwDescrLen: DWORD,
+ bDescr: [UCHAR; MAXLEN_IFDESCR],
+}}
+pub type PMIB_IFROW = *mut MIB_IFROW;
+STRUCT!{struct MIB_IFTABLE {
+ dwNumEntries: DWORD,
+ table: [MIB_IFROW; ANY_SIZE],
+}}
+pub type PMIB_IFTABLE = *mut MIB_IFTABLE;
+// FIXME: SIZEOF_IFTABLE(x)