1 // Licensed under the Apache License, Version 2.0 2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. 4 // All files in the project carrying such notice may not be copied, modified, or distributed 5 // except according to those terms 6 use shared::lmcons::NET_API_STATUS; 7 use shared::minwindef::{DWORD, LPBYTE}; 8 use um::winnt::{LARGE_INTEGER, LPCWSTR}; 9 extern "system" { NetStatisticsGet( ServerName: LPCWSTR, Service: LPCWSTR, Level: DWORD, Options: DWORD, Buffer: *mut LPBYTE, ) -> NET_API_STATUS10 pub fn NetStatisticsGet( 11 ServerName: LPCWSTR, 12 Service: LPCWSTR, 13 Level: DWORD, 14 Options: DWORD, 15 Buffer: *mut LPBYTE, 16 ) -> NET_API_STATUS; 17 } 18 STRUCT!{struct STAT_WORKSTATION_0 { 19 StatisticsStartTime: LARGE_INTEGER, 20 BytesReceived: LARGE_INTEGER, 21 SmbsReceived: LARGE_INTEGER, 22 PagingReadBytesRequested: LARGE_INTEGER, 23 NonPagingReadBytesRequested: LARGE_INTEGER, 24 CacheReadBytesRequested: LARGE_INTEGER, 25 NetworkReadBytesRequested: LARGE_INTEGER, 26 BytesTransmitted: LARGE_INTEGER, 27 SmbsTransmitted: LARGE_INTEGER, 28 PagingWriteBytesRequested: LARGE_INTEGER, 29 NonPagingWriteBytesRequested: LARGE_INTEGER, 30 CacheWriteBytesRequested: LARGE_INTEGER, 31 NetworkWriteBytesRequested: LARGE_INTEGER, 32 InitiallyFailedOperations: DWORD, 33 FailedCompletionOperations: DWORD, 34 ReadOperations: DWORD, 35 RandomReadOperations: DWORD, 36 ReadSmbs: DWORD, 37 LargeReadSmbs: DWORD, 38 SmallReadSmbs: DWORD, 39 WriteOperations: DWORD, 40 RandomWriteOperations: DWORD, 41 WriteSmbs: DWORD, 42 LargeWriteSmbs: DWORD, 43 SmallWriteSmbs: DWORD, 44 RawReadsDenied: DWORD, 45 RawWritesDenied: DWORD, 46 NetworkErrors: DWORD, 47 Sessions: DWORD, 48 FailedSessions: DWORD, 49 Reconnects: DWORD, 50 CoreConnects: DWORD, 51 Lanman20Connects: DWORD, 52 Lanman21Connects: DWORD, 53 LanmanNtConnects: DWORD, 54 ServerDisconnects: DWORD, 55 HungSessions: DWORD, 56 UseCount: DWORD, 57 FailedUseCount: DWORD, 58 CurrentCommands: DWORD, 59 }} 60 pub type PSTAT_WORKSTATION_0 = *mut STAT_WORKSTATION_0; 61 pub type LPSTAT_WORKSTATION_0 = *mut STAT_WORKSTATION_0; 62 STRUCT!{struct STAT_SERVER_0 { 63 sts0_start: DWORD, 64 sts0_fopens: DWORD, 65 sts0_devopens: DWORD, 66 sts0_jobsqueued: DWORD, 67 sts0_sopens: DWORD, 68 sts0_stimedout: DWORD, 69 sts0_serrorout: DWORD, 70 sts0_pwerrors: DWORD, 71 sts0_permerrors: DWORD, 72 sts0_syserrors: DWORD, 73 sts0_bytessent_low: DWORD, 74 sts0_bytessent_high: DWORD, 75 sts0_bytesrcvd_low: DWORD, 76 sts0_bytesrcvd_high: DWORD, 77 sts0_avresponse: DWORD, 78 sts0_reqbufneed: DWORD, 79 sts0_bigbufneed: DWORD, 80 }} 81 pub type PSTAT_SERVER_0 = *mut STAT_SERVER_0; 82 pub type LPSTAT_SERVER_0 = *mut STAT_SERVER_0; 83 pub const STATSOPT_CLR: DWORD = 1; 84 pub const STATS_NO_VALUE: DWORD = -1i32 as u32; 85 pub const STATS_OVERFLOW: DWORD = -2i32 as u32; 86