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::minwindef::{BOOL, DWORD};
7 use um::winnt::{HANDLE, LPCH, LPCSTR, LPCWSTR, LPSTR, LPWCH, LPWSTR, PHANDLE};
8 extern "system" {
GetEnvironmentStrings() -> LPCH9     pub fn GetEnvironmentStrings() -> LPCH;
GetEnvironmentStringsW() -> LPWCH10     pub fn GetEnvironmentStringsW() -> LPWCH;
SetEnvironmentStringsW( NewEnvironment: LPWCH, ) -> BOOL11     pub fn SetEnvironmentStringsW(
12         NewEnvironment: LPWCH,
13     ) -> BOOL;
FreeEnvironmentStringsA( penv: LPCH, ) -> BOOL14     pub fn FreeEnvironmentStringsA(
15         penv: LPCH,
16     ) -> BOOL;
FreeEnvironmentStringsW( penv: LPWCH, ) -> BOOL17     pub fn FreeEnvironmentStringsW(
18         penv: LPWCH,
19     ) -> BOOL;
GetStdHandle( nStdHandle: DWORD, ) -> HANDLE20     pub fn GetStdHandle(
21         nStdHandle: DWORD,
22     ) -> HANDLE;
SetStdHandle( nStdHandle: DWORD, hHandle: HANDLE, ) -> BOOL23     pub fn SetStdHandle(
24         nStdHandle: DWORD,
25         hHandle: HANDLE,
26     ) -> BOOL;
SetStdHandleEx( nStdHandle: DWORD, hHandle: HANDLE, phPrevValue: PHANDLE, ) -> BOOL27     pub fn SetStdHandleEx(
28         nStdHandle: DWORD,
29         hHandle: HANDLE,
30         phPrevValue: PHANDLE,
31     ) -> BOOL;
GetCommandLineA() -> LPSTR32     pub fn GetCommandLineA() -> LPSTR;
GetCommandLineW() -> LPWSTR33     pub fn GetCommandLineW() -> LPWSTR;
GetEnvironmentVariableA( lpName: LPCSTR, lpBuffer: LPSTR, nSize: DWORD, ) -> DWORD34     pub fn GetEnvironmentVariableA(
35         lpName: LPCSTR,
36         lpBuffer: LPSTR,
37         nSize: DWORD,
38     ) -> DWORD;
GetEnvironmentVariableW( lpName: LPCWSTR, lpBuffer: LPWSTR, nSize: DWORD, ) -> DWORD39     pub fn GetEnvironmentVariableW(
40         lpName: LPCWSTR,
41         lpBuffer: LPWSTR,
42         nSize: DWORD,
43     ) -> DWORD;
SetEnvironmentVariableA( lpName: LPCSTR, lpValue: LPCSTR, ) -> BOOL44     pub fn SetEnvironmentVariableA(
45         lpName: LPCSTR,
46         lpValue: LPCSTR,
47     ) -> BOOL;
SetEnvironmentVariableW( lpName: LPCWSTR, lpValue: LPCWSTR, ) -> BOOL48     pub fn SetEnvironmentVariableW(
49         lpName: LPCWSTR,
50         lpValue: LPCWSTR,
51     ) -> BOOL;
ExpandEnvironmentStringsA( lpSrc: LPCSTR, lpDst: LPSTR, nSize: DWORD, ) -> DWORD52     pub fn ExpandEnvironmentStringsA(
53         lpSrc: LPCSTR,
54         lpDst: LPSTR,
55         nSize: DWORD,
56     ) -> DWORD;
ExpandEnvironmentStringsW( lpSrc: LPCWSTR, lpDst: LPWSTR, nSize: DWORD, ) -> DWORD57     pub fn ExpandEnvironmentStringsW(
58         lpSrc: LPCWSTR,
59         lpDst: LPWSTR,
60         nSize: DWORD,
61     ) -> DWORD;
SetCurrentDirectoryA( lpPathName: LPCSTR, ) -> BOOL62     pub fn SetCurrentDirectoryA(
63         lpPathName: LPCSTR,
64     ) -> BOOL;
SetCurrentDirectoryW( lpPathName: LPCWSTR, ) -> BOOL65     pub fn SetCurrentDirectoryW(
66         lpPathName: LPCWSTR,
67     ) -> BOOL;
GetCurrentDirectoryA( nBufferLength: DWORD, lpBuffer: LPSTR, ) -> DWORD68     pub fn GetCurrentDirectoryA(
69         nBufferLength: DWORD,
70         lpBuffer: LPSTR,
71     ) -> DWORD;
GetCurrentDirectoryW( nBufferLength: DWORD, lpBuffer: LPWSTR, ) -> DWORD72     pub fn GetCurrentDirectoryW(
73         nBufferLength: DWORD,
74         lpBuffer: LPWSTR,
75     ) -> DWORD;
SearchPathW( lpPath: LPCWSTR, lpFileName: LPCWSTR, lpExtension: LPCWSTR, nBufferLength: DWORD, lpBuffer: LPWSTR, lpFilePart: *mut LPWSTR, ) -> DWORD76     pub fn SearchPathW(
77         lpPath: LPCWSTR,
78         lpFileName: LPCWSTR,
79         lpExtension: LPCWSTR,
80         nBufferLength: DWORD,
81         lpBuffer: LPWSTR,
82         lpFilePart: *mut LPWSTR,
83     ) -> DWORD;
SearchPathA( lpPath: LPCSTR, lpFileName: LPCSTR, lpExtension: LPCSTR, nBufferLength: DWORD, lpBuffer: LPSTR, lpFilePart: *mut LPSTR, ) -> DWORD84     pub fn SearchPathA(
85         lpPath: LPCSTR,
86         lpFileName: LPCSTR,
87         lpExtension: LPCSTR,
88         nBufferLength: DWORD,
89         lpBuffer: LPSTR,
90         lpFilePart: *mut LPSTR,
91     ) -> DWORD;
NeedCurrentDirectoryForExePathA( ExeName: LPCSTR, ) -> BOOL92     pub fn NeedCurrentDirectoryForExePathA(
93         ExeName: LPCSTR,
94     ) -> BOOL;
NeedCurrentDirectoryForExePathW( ExeName: LPCWSTR, ) -> BOOL95     pub fn NeedCurrentDirectoryForExePathW(
96         ExeName: LPCWSTR,
97     ) -> BOOL;
98 }
99