61 lines
2.1 KiB
C
61 lines
2.1 KiB
C
/*****************************************************************************\
|
|
* *
|
|
* Filename: windows.h *
|
|
* *
|
|
* Description: Define MsvcLibX' extensions to the WIN32 API functions *
|
|
* *
|
|
* Notes: *
|
|
* *
|
|
* History: *
|
|
* 2016-09-12 JFL Created this file. *
|
|
* *
|
|
* Copyright 2016 Hewlett Packard Enterprise Development LP *
|
|
* Licensed under the Apache 2.0 license - www.apache.org/licenses/LICENSE-2.0 *
|
|
\*****************************************************************************/
|
|
|
|
#ifndef _MSVCLIBX_WINDOWS_H
|
|
#define _MSVCLIBX_WINDOWS_H 1
|
|
|
|
#include "msvclibx.h"
|
|
|
|
#ifdef _WIN32
|
|
|
|
#include <windows.h> /* Include Windows SDK's own windows.h */
|
|
|
|
/****************** Define UTF-8 versions of WIN32 routines ******************/
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
DWORD WINAPI GetFileAttributesU(LPCTSTR lpFileName);
|
|
BOOL WINAPI GetFileAttributesExU(LPCTSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation);
|
|
DWORD WINAPI GetFullPathNameU(LPCTSTR lpName, DWORD nBufferLength, LPTSTR lpBuf, LPTSTR *lpFilePart);
|
|
DWORD WINAPI GetLongPathNameU(LPCTSTR lpShortName, LPTSTR lpBuf, DWORD nBufferLength);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
/********** Redefine the legacy names to point to the UTF-8 version **********/
|
|
|
|
#if defined(_UTF8_SOURCE) || defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
|
|
|
|
#undef GetFileAttributes
|
|
#define GetFileAttributes GetFileAttributesU
|
|
|
|
#undef GetFileAttributesEx
|
|
#define GetFileAttributesEx GetFileAttributesExU
|
|
|
|
#undef GetFullPathName
|
|
#define GetFullPathName GetFullPathNameU
|
|
|
|
#undef GetLongPathName
|
|
#define GetLongPathName GetLongPathNameU
|
|
|
|
#endif /* defined(_UTF8_SOURCE) ... */
|
|
|
|
#endif /* defined(_WIN32) */
|
|
|
|
#endif /* defined(_MSVCLIBX_WINDOWS_H) */
|