• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * This file is part of the mingw-w64 runtime package.
3  * No warranty is given; refer to the file DISCLAIMER within this package.
4  */
5 
6 #ifndef _PROCESSENV_
7 #define _PROCESSENV_
8 
9 #include <apiset.h>
10 #include <apisetcconv.h>
11 #include <minwindef.h>
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
18   WINBASEAPI WINBOOL WINAPI SetEnvironmentStringsW (LPWCH NewEnvironment);
19 
20 #ifdef UNICODE
21 #define SetEnvironmentStrings SetEnvironmentStringsW
22 #endif
23 
24   WINBASEAPI LPSTR WINAPI GetCommandLineA (VOID);
25   WINBASEAPI LPWSTR WINAPI GetCommandLineW (VOID);
26   WINBASEAPI WINBOOL WINAPI SetCurrentDirectoryA (LPCSTR lpPathName);
27   WINBASEAPI WINBOOL WINAPI SetCurrentDirectoryW (LPCWSTR lpPathName);
28   WINBASEAPI DWORD WINAPI GetCurrentDirectoryA (DWORD nBufferLength, LPSTR lpBuffer);
29   WINBASEAPI DWORD WINAPI GetCurrentDirectoryW (DWORD nBufferLength, LPWSTR lpBuffer);
30   WINBASEAPI DWORD WINAPI SearchPathW (LPCWSTR lpPath, LPCWSTR lpFileName, LPCWSTR lpExtension, DWORD nBufferLength, LPWSTR lpBuffer, LPWSTR *lpFilePart);
31   WINBASEAPI DWORD APIENTRY SearchPathA (LPCSTR lpPath, LPCSTR lpFileName, LPCSTR lpExtension, DWORD nBufferLength, LPSTR lpBuffer, LPSTR *lpFilePart);
32   WINBASEAPI WINBOOL WINAPI NeedCurrentDirectoryForExePathA (LPCSTR ExeName);
33   WINBASEAPI WINBOOL WINAPI NeedCurrentDirectoryForExePathW (LPCWSTR ExeName);
34 
35 #define GetCommandLine __MINGW_NAME_AW(GetCommandLine)
36 #define GetCurrentDirectory __MINGW_NAME_AW(GetCurrentDirectory)
37 #define NeedCurrentDirectoryForExePath __MINGW_NAME_AW(NeedCurrentDirectoryForExePath)
38 #define SearchPath __MINGW_NAME_AW(SearchPath)
39 #define SetCurrentDirectory __MINGW_NAME_AW(SetCurrentDirectory)
40 
41 #endif
42 
43 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= _WIN32_WINNT_WIN10
44 
45   WINBASEAPI LPCH WINAPI GetEnvironmentStrings (VOID);
46   WINBASEAPI LPWCH WINAPI GetEnvironmentStringsW (VOID);
47 
48 #ifdef UNICODE
49 #define GetEnvironmentStrings GetEnvironmentStringsW
50 #else
51 #define GetEnvironmentStringsA GetEnvironmentStrings
52 #endif
53 
54   WINBASEAPI HANDLE WINAPI GetStdHandle (DWORD nStdHandle);
55   WINBASEAPI DWORD WINAPI ExpandEnvironmentStringsA (LPCSTR lpSrc, LPSTR lpDst, DWORD nSize);
56   WINBASEAPI DWORD WINAPI ExpandEnvironmentStringsW (LPCWSTR lpSrc, LPWSTR lpDst, DWORD nSize);
57   WINBASEAPI WINBOOL WINAPI FreeEnvironmentStringsA (LPCH penv);
58   WINBASEAPI WINBOOL WINAPI FreeEnvironmentStringsW (LPWCH penv);
59   WINBASEAPI DWORD WINAPI GetEnvironmentVariableA (LPCSTR lpName, LPSTR lpBuffer, DWORD nSize);
60   WINBASEAPI DWORD WINAPI GetEnvironmentVariableW (LPCWSTR lpName, LPWSTR lpBuffer, DWORD nSize);
61   WINBASEAPI WINBOOL WINAPI SetEnvironmentVariableA (LPCSTR lpName, LPCSTR lpValue);
62   WINBASEAPI WINBOOL WINAPI SetEnvironmentVariableW (LPCWSTR lpName, LPCWSTR lpValue);
63   WINBASEAPI WINBOOL WINAPI SetStdHandle (DWORD nStdHandle, HANDLE hHandle);
64 #if _WIN32_WINNT >= 0x0600
65   WINBASEAPI WINBOOL WINAPI SetStdHandleEx (DWORD nStdHandle, HANDLE hHandle, PHANDLE phPrevValue);
66 #endif
67 
68 #define ExpandEnvironmentStrings __MINGW_NAME_AW(ExpandEnvironmentStrings)
69 #define FreeEnvironmentStrings __MINGW_NAME_AW(FreeEnvironmentStrings)
70 #define GetEnvironmentVariable __MINGW_NAME_AW(GetEnvironmentVariable)
71 #define SetEnvironmentVariable __MINGW_NAME_AW(SetEnvironmentVariable)
72 
73 #endif
74 
75 #ifdef __cplusplus
76 }
77 #endif
78 #endif
79