processenv.h 3.3 KB

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