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 //! This file contains structures, function prototypes, and definitions for the NetRemote API 7 use shared::lmcons::NET_API_STATUS; 8 use shared::minwindef::{DWORD, LPBYTE, LPDWORD}; 9 use um::winnt::{CHAR, LONG, LPCWSTR, LPSTR}; 10 pub type DESC_CHAR = CHAR; 11 pub type LPDESC = LPSTR; 12 extern "system" { NetRemoteTOD( UncServerName: LPCWSTR, BufferPtr: *mut LPBYTE, ) -> NET_API_STATUS13 pub fn NetRemoteTOD( 14 UncServerName: LPCWSTR, 15 BufferPtr: *mut LPBYTE, 16 ) -> NET_API_STATUS; NetRemoteComputerSupports( UncServerName: LPCWSTR, OptionsWanted: DWORD, OptionsSupported: LPDWORD, ) -> NET_API_STATUS17 pub fn NetRemoteComputerSupports( 18 UncServerName: LPCWSTR, 19 OptionsWanted: DWORD, 20 OptionsSupported: LPDWORD, 21 ) -> NET_API_STATUS; 22 } 23 extern "C" { RxRemoteApi( ApiNumber: DWORD, UncServerName: LPCWSTR, ParmDescString: LPDESC, DataDesc16: LPDESC, DataDesc32: LPDESC, DataDescSmb: LPDESC, AuxDesc16: LPDESC, AuxDesc32: LPDESC, AuxDescSmb: LPDESC, Flags: DWORD, ) -> NET_API_STATUS24 pub fn RxRemoteApi( 25 ApiNumber: DWORD, 26 UncServerName: LPCWSTR, 27 ParmDescString: LPDESC, 28 DataDesc16: LPDESC, 29 DataDesc32: LPDESC, 30 DataDescSmb: LPDESC, 31 AuxDesc16: LPDESC, 32 AuxDesc32: LPDESC, 33 AuxDescSmb: LPDESC, 34 Flags: DWORD, 35 ) -> NET_API_STATUS; 36 } 37 STRUCT!{struct TIME_OF_DAY_INFO { 38 tod_elapsedt: DWORD, 39 tod_msecs: DWORD, 40 tod_hours: DWORD, 41 tod_mins: DWORD, 42 tod_secs: DWORD, 43 tod_hunds: DWORD, 44 tod_timezone: LONG, 45 tod_tinterval: DWORD, 46 tod_day: DWORD, 47 tod_month: DWORD, 48 tod_year: DWORD, 49 tod_weekday: DWORD, 50 }} 51 pub type PTIME_OF_DAY_INFO = *mut TIME_OF_DAY_INFO; 52 pub type LPTIME_OF_DAY_INFO = *mut TIME_OF_DAY_INFO; 53 pub const SUPPORTS_REMOTE_ADMIN_PROTOCOL: DWORD = 0x00000002; 54 pub const SUPPORTS_RPC: DWORD = 0x00000004; 55 pub const SUPPORTS_SAM_PROTOCOL: DWORD = 0x00000008; 56 pub const SUPPORTS_UNICODE: DWORD = 0x00000010; 57 pub const SUPPORTS_LOCAL: DWORD = 0x00000020; 58 pub const SUPPORTS_ANY: DWORD = 0xFFFFFFFF; 59 pub const NO_PERMISSION_REQUIRED: DWORD = 0x00000001; 60 pub const ALLOCATE_RESPONSE: DWORD = 0x00000002; 61 pub const USE_SPECIFIC_TRANSPORT: DWORD = 0x80000000; 62