forked from retep998/winapi-rs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathifmib.rs
61 lines (55 loc) · 1.64 KB
/
ifmib.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// Copyright © 2018 winapi-rs developers
// 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.
// #include <winapifamily.h>
// #include <ifdef.h>
use ctypes::*;
use shared::minwindef::*;
use shared::basetsd::*;
use shared::ntdef::*;
use shared::ws2def::*;
use shared::guiddef::GUID;
use um::minwinbase::{
OVERLAPPED, LPOVERLAPPED,
};
use shared::ifdef::*;
use shared::ipifcons::*;
pub const MAXLEN_PHYSADDR: usize = 8;
pub const MAXLEN_IFDESCR: usize = 256;
pub const MAX_INTERFACE_NAME_LEN: usize = 256;
const ANY_SIZE: usize = 1;
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;