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