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