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_APP) 18 WINBASEAPI LPSTR WINAPI GetCommandLineA (VOID); 19 WINBASEAPI LPWSTR WINAPI GetCommandLineW (VOID); 20 WINBASEAPI WINBOOL WINAPI SetCurrentDirectoryA (LPCSTR lpPathName); 21 WINBASEAPI WINBOOL WINAPI SetCurrentDirectoryW (LPCWSTR lpPathName); 22 WINBASEAPI DWORD WINAPI GetCurrentDirectoryA (DWORD nBufferLength, LPSTR lpBuffer); 23 WINBASEAPI DWORD WINAPI GetCurrentDirectoryW (DWORD nBufferLength, LPWSTR lpBuffer); 24 #endif 25 26 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) 27 WINBASEAPI WINBOOL WINAPI SetEnvironmentStringsW (LPWCH NewEnvironment); 28 29 #ifdef UNICODE 30 #define SetEnvironmentStrings SetEnvironmentStringsW 31 #endif 32 33 WINBASEAPI DWORD WINAPI SearchPathW (LPCWSTR lpPath, LPCWSTR lpFileName, LPCWSTR lpExtension, DWORD nBufferLength, LPWSTR lpBuffer, LPWSTR *lpFilePart); 34 WINBASEAPI DWORD APIENTRY SearchPathA (LPCSTR lpPath, LPCSTR lpFileName, LPCSTR lpExtension, DWORD nBufferLength, LPSTR lpBuffer, LPSTR *lpFilePart); 35 WINBASEAPI WINBOOL WINAPI NeedCurrentDirectoryForExePathA (LPCSTR ExeName); 36 WINBASEAPI WINBOOL WINAPI NeedCurrentDirectoryForExePathW (LPCWSTR ExeName); 37 38 #define GetCommandLine __MINGW_NAME_AW(GetCommandLine) 39 #define GetCurrentDirectory __MINGW_NAME_AW(GetCurrentDirectory) 40 #define NeedCurrentDirectoryForExePath __MINGW_NAME_AW(NeedCurrentDirectoryForExePath) 41 #define SearchPath __MINGW_NAME_AW(SearchPath) 42 #define SetCurrentDirectory __MINGW_NAME_AW(SetCurrentDirectory) 43 44 #endif 45 46 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= _WIN32_WINNT_WIN10 47 48 WINBASEAPI LPCH WINAPI GetEnvironmentStrings (VOID); 49 WINBASEAPI LPWCH WINAPI GetEnvironmentStringsW (VOID); 50 51 #ifdef UNICODE 52 #define GetEnvironmentStrings GetEnvironmentStringsW 53 #else 54 #define GetEnvironmentStringsA GetEnvironmentStrings 55 #endif 56 57 WINBASEAPI HANDLE WINAPI GetStdHandle (DWORD nStdHandle); 58 WINBASEAPI DWORD WINAPI ExpandEnvironmentStringsA (LPCSTR lpSrc, LPSTR lpDst, DWORD nSize); 59 WINBASEAPI DWORD WINAPI ExpandEnvironmentStringsW (LPCWSTR lpSrc, LPWSTR lpDst, DWORD nSize); 60 WINBASEAPI WINBOOL WINAPI FreeEnvironmentStringsA (LPCH penv); 61 WINBASEAPI WINBOOL WINAPI FreeEnvironmentStringsW (LPWCH penv); 62 WINBASEAPI DWORD WINAPI GetEnvironmentVariableA (LPCSTR lpName, LPSTR lpBuffer, DWORD nSize); 63 WINBASEAPI DWORD WINAPI GetEnvironmentVariableW (LPCWSTR lpName, LPWSTR lpBuffer, DWORD nSize); 64 WINBASEAPI WINBOOL WINAPI SetEnvironmentVariableA (LPCSTR lpName, LPCSTR lpValue); 65 WINBASEAPI WINBOOL WINAPI SetEnvironmentVariableW (LPCWSTR lpName, LPCWSTR lpValue); 66 WINBASEAPI WINBOOL WINAPI SetStdHandle (DWORD nStdHandle, HANDLE hHandle); 67 #if _WIN32_WINNT >= 0x0600 68 WINBASEAPI WINBOOL WINAPI SetStdHandleEx (DWORD nStdHandle, HANDLE hHandle, PHANDLE phPrevValue); 69 #endif 70 71 #define ExpandEnvironmentStrings __MINGW_NAME_AW(ExpandEnvironmentStrings) 72 #define FreeEnvironmentStrings __MINGW_NAME_AW(FreeEnvironmentStrings) 73 #define GetEnvironmentVariable __MINGW_NAME_AW(GetEnvironmentVariable) 74 #define SetEnvironmentVariable __MINGW_NAME_AW(SetEnvironmentVariable) 75 76 #endif 77 78 #ifdef __cplusplus 79 } 80 #endif 81 #endif 82