zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

processenv.h (3398B) - Raw


      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