mpr/
lib.rs

1// Copyright © 2015, Peter Atashian
2// Licensed under the MIT License <LICENSE.md>
3//! FFI bindings to mpr.
4#![cfg(windows)]
5extern crate winapi;
6use winapi::*;
7extern "system" {
8    pub fn MultinetGetConnectionPerformanceA(
9        lpNetResource: LPNETRESOURCEA, lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT,
10    ) -> DWORD;
11    pub fn MultinetGetConnectionPerformanceW(
12        lpNetResource: LPNETRESOURCEW, lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT,
13    ) -> DWORD;
14    pub fn WNetAddConnection2A(
15        lpNetResource: LPNETRESOURCEA, lpPassword: LPCSTR, lpUsername: LPCSTR, dwFlags: DWORD,
16    ) -> DWORD;
17    pub fn WNetAddConnection2W(
18        lpNetResource: LPNETRESOURCEW, lpPassword: LPCWSTR, lpUsername: LPCWSTR, dwFlags: DWORD,
19    ) -> DWORD;
20    pub fn WNetAddConnection3A(
21        hwndOwner: HWND, lpNetResource: LPNETRESOURCEA, lpPassword: LPCSTR, lpUsername: LPCSTR,
22        dwFlags: DWORD,
23    ) -> DWORD;
24    pub fn WNetAddConnection3W(
25        hwndOwner: HWND, lpNetResource: LPNETRESOURCEW, lpPassword: LPCWSTR, lpUsername: LPCWSTR,
26        dwFlags: DWORD,
27    ) -> DWORD;
28    pub fn WNetCancelConnectionA(lpName: LPCSTR, fForce: BOOL) -> DWORD;
29    pub fn WNetCancelConnectionW(lpName: LPCWSTR, fForce: BOOL) -> DWORD;
30    pub fn WNetCancelConnection2A(lpName: LPCSTR, dwFlags: DWORD, fForce: BOOL) -> DWORD;
31    pub fn WNetCancelConnection2W(lpName: LPCWSTR, dwFlags: DWORD, fForce: BOOL) -> DWORD;
32    pub fn WNetCloseEnum(hEnum: HANDLE) -> DWORD;
33    pub fn WNetConnectionDialog(hwnd: HWND, dwType: DWORD) -> DWORD;
34    pub fn WNetConnectionDialog1A(lpConnDlgStruct: LPCONNECTDLGSTRUCTA) -> DWORD;
35    pub fn WNetConnectionDialog1W(lpConnDlgStruct: LPCONNECTDLGSTRUCTW) -> DWORD;
36    pub fn WNetDisconnectDialog(hwnd: HWND, dwType: DWORD) -> DWORD;
37    pub fn WNetDisconnectDialog1A(lpConnDlgStruct: LPDISCDLGSTRUCTA) -> DWORD;
38    pub fn WNetDisconnectDialog1W(lpConnDlgStruct: LPDISCDLGSTRUCTW) -> DWORD;
39    pub fn WNetEnumResourceA(
40        hEnum: HANDLE, lpcCount: LPDWORD, lpBuffer: LPVOID, lpBufferSize: LPDWORD,
41    ) -> DWORD;
42    pub fn WNetEnumResourceW(
43        hEnum: HANDLE, lpcCount: LPDWORD, lpBuffer: LPVOID, lpBufferSize: LPDWORD,
44    ) -> DWORD;
45    pub fn WNetGetConnectionA(
46        lpLocalName: LPCSTR, lpRemoteName: LPSTR, lpnLength: LPDWORD,
47    ) -> DWORD;
48    pub fn WNetGetConnectionW(
49        lpLocalName: LPCWSTR, lpRemoteName: LPWSTR, lpnLength: LPDWORD,
50    ) -> DWORD;
51    pub fn WNetGetLastErrorA(
52        lpError: LPDWORD, lpErrorBuf: LPSTR, nErrorBufSize: DWORD, lpNameBuf: LPSTR,
53        nNameBufSize: DWORD,
54    ) -> DWORD;
55    pub fn WNetGetLastErrorW(
56        lpError: LPDWORD, lpErrorBuf: LPWSTR, nErrorBufSize: DWORD, lpNameBuf: LPWSTR,
57        nNameBufSize: DWORD,
58    ) -> DWORD;
59    pub fn WNetGetNetworkInformationA(
60        lpProvider: LPCSTR, lpNetInfoStruct: LPNETINFOSTRUCT,
61    ) -> DWORD;
62    pub fn WNetGetNetworkInformationW(
63        lpProvider: LPCWSTR, lpNetInfoStruct: LPNETINFOSTRUCT,
64    ) -> DWORD;
65    pub fn WNetGetProviderNameA(
66        dwNetType: DWORD, lpProviderName: LPSTR, lpBufferSize: LPDWORD,
67    ) -> DWORD;
68    pub fn WNetGetProviderNameW(
69        dwNetType: DWORD, lpProviderName: LPWSTR, lpBufferSize: LPDWORD,
70    ) -> DWORD;
71    pub fn WNetGetResourceInformationA(
72        lpNetResource: LPNETRESOURCEA, lpBuffer: LPVOID, lpcbBuffer: LPDWORD,
73        lplpSystem: *mut LPSTR,
74    ) -> DWORD;
75    pub fn WNetGetResourceInformationW(
76        lpNetResource: LPNETRESOURCEW, lpBuffer: LPVOID, lpcbBuffer: LPDWORD,
77        lplpSystem: *mut LPWSTR,
78    ) -> DWORD;
79    pub fn WNetGetResourceParentA(
80        lpNetResource: LPNETRESOURCEA, lpBuffer: LPVOID, lpcbBuffer: LPDWORD,
81    ) -> DWORD;
82    pub fn WNetGetResourceParentW(
83        lpNetResource: LPNETRESOURCEW, lpBuffer: LPVOID, lpcbBuffer: LPDWORD,
84    ) -> DWORD;
85    pub fn WNetGetUniversalNameA(
86        lpLocalPath: LPCSTR, dwInfoLevel: DWORD, lpBuffer: LPVOID, lpBufferSize: LPDWORD,
87    ) -> DWORD;
88    pub fn WNetGetUniversalNameW(
89        lpLocalPath: LPCWSTR, dwInfoLevel: DWORD, lpBuffer: LPVOID, lpBufferSize: LPDWORD,
90    ) -> DWORD;
91    pub fn WNetGetUserA(lpName: LPCSTR, lpUserName: LPSTR, lpnLength: LPDWORD) -> DWORD;
92    pub fn WNetGetUserW(lpName: LPCWSTR, lpUserName: LPWSTR, lpnLength: LPDWORD) -> DWORD;
93    pub fn WNetOpenEnumA(
94        dwScope: DWORD, dwType: DWORD, dwUsage: DWORD, lpNetResource: LPNETRESOURCEA,
95        lphEnum: LPHANDLE,
96    ) -> DWORD;
97    pub fn WNetOpenEnumW(
98        dwScope: DWORD, dwType: DWORD, dwUsage: DWORD, lpNetResource: LPNETRESOURCEW,
99        lphEnum: LPHANDLE,
100    ) -> DWORD;
101    pub fn WNetUseConnectionA(
102        hwndOwner: HWND, lpNetResource: LPNETRESOURCEA, lpPassword: LPCSTR, lpUserId: LPCSTR,
103        dwFlags: DWORD, lpAccessName: LPSTR, lpBufferSize: LPDWORD, lpResult: LPDWORD
104    ) -> DWORD;
105    pub fn WNetUseConnectionW(
106        hwndOwner: HWND, lpNetResource: LPNETRESOURCEW, lpPassword: LPCWSTR, lpUserId: LPCWSTR,
107        dwFlags: DWORD, lpAccessName: LPWSTR, lpBufferSize: LPDWORD, lpResult: LPDWORD,
108    ) -> DWORD;
109}