/* windows.h - main header file for the Win32 API Written by Anders Norlander This file is part of a free library for the Win32 API. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ #ifndef _WINDOWS_H #define _WINDOWS_H #include /* BEGIN #include */ #include "Common/MyWindows.h" // FIXED #ifndef CONST #define CONST const #endif #undef MAX_PATH #define MAX_PATH 4096 /* Linux : 4096 - Windows : 260 */ #ifndef FALSE #define FALSE 0 #endif #ifndef TRUE #define TRUE 1 #endif #define WINAPI #undef BOOL typedef int BOOL; /* BEGIN #include */ /* BEGIN */ #define NO_ERROR 0L #define ERROR_ALREADY_EXISTS EEXIST #define ERROR_FILE_EXISTS EEXIST #define ERROR_INVALID_HANDLE EBADF #define ERROR_PATH_NOT_FOUND ENOENT #define ERROR_DISK_FULL ENOSPC #define ERROR_NO_MORE_FILES 0x100123 // FIXME /* see Common/WyWindows.h #define S_OK ((HRESULT)0x00000000L) #define S_FALSE ((HRESULT)0x00000001L) #define E_INVALIDARG ((HRESULT)0x80070057L) #define E_NOTIMPL ((HRESULT)0x80004001L) #define E_NOINTERFACE ((HRESULT)0x80004002L) #define E_ABORT ((HRESULT)0x80004004L) #define E_FAIL ((HRESULT)0x80004005L) #define E_OUTOFMEMORY ((HRESULT)0x8007000EL) #define STG_E_INVALIDFUNCTION ((HRESULT)0x80030001L) #define SUCCEEDED(Status) ((HRESULT)(Status) >= 0) #define FAILED(Status) ((HRESULT)(Status)<0) */ #ifndef VOID #define VOID void #endif typedef void *PVOID,*LPVOID; typedef WCHAR *LPWSTR; typedef CHAR *LPSTR; typedef TCHAR *LPTSTR; #ifdef UNICODE /* * P7ZIP_TEXT is a private macro whose specific use is to force the expansion of a * macro passed as an argument to the macro TEXT. DO NOT use this * macro within your programs. It's name and function could change without * notice. */ #define P7ZIP_TEXT(q) L##q #else #define P7ZIP_TEXT(q) q #endif /* * UNICODE a constant string when UNICODE is defined, else returns the string * unmodified. * The corresponding macros _TEXT() and _T() for mapping _UNICODE strings * passed to C runtime functions are defined in mingw/tchar.h */ #define TEXT(q) P7ZIP_TEXT(q) typedef BYTE BOOLEAN; /* BEGIN #include */ #ifndef __int64 #define __int64 long long #endif typedef unsigned __int64 UINT64; typedef __int64 INT64; /* END #include */ #define FILE_ATTRIBUTE_READONLY 1 #define FILE_ATTRIBUTE_HIDDEN 2 #define FILE_ATTRIBUTE_SYSTEM 4 #define FILE_ATTRIBUTE_DIRECTORY 16 #define FILE_ATTRIBUTE_ARCHIVE 32 #define FILE_ATTRIBUTE_DEVICE 64 #define FILE_ATTRIBUTE_NORMAL 128 #define FILE_ATTRIBUTE_TEMPORARY 256 #define FILE_ATTRIBUTE_SPARSE_FILE 512 #define FILE_ATTRIBUTE_REPARSE_POINT 1024 #define FILE_ATTRIBUTE_COMPRESSED 2048 #define FILE_ATTRIBUTE_OFFLINE 0x1000 #define FILE_ATTRIBUTE_ENCRYPTED 0x4000 #define FILE_ATTRIBUTE_UNIX_EXTENSION 0x8000 /* trick for Unix */ /* END */ #include #include /* END #include */ /* END #include */ /* BEGIN #include */ #define WAIT_OBJECT_0 0 #define INFINITE 0xFFFFFFFF typedef struct _SYSTEMTIME { WORD wYear; WORD wMonth; WORD wDayOfWeek; WORD wDay; WORD wHour; WORD wMinute; WORD wSecond; WORD wMilliseconds; } SYSTEMTIME; #ifdef __cplusplus extern "C" { #endif BOOL WINAPI FileTimeToLocalFileTime(CONST FILETIME *,FILETIME *); //BOOL WINAPI LocalFileTimeToFileTime(CONST FILETIME *,FILETIME *); BOOL WINAPI FileTimeToSystemTime(CONST FILETIME *,SYSTEMTIME *); VOID WINAPI GetSystemTime(SYSTEMTIME *); BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,FILETIME *); DWORD WINAPI GetTickCount(VOID); #ifdef __cplusplus } #endif /* END #include */ /* BEGIN #include */ #define CP_ACP 0 #define CP_OEMCP 1 #define CP_UTF8 65001 /* #include */ #include struct IEnumSTATPROPSTG; typedef struct tagSTATPROPSTG { LPOLESTR lpwstrName; PROPID propid; VARTYPE vt; } STATPROPSTG; #ifdef __cplusplus extern "C" const IID IID_ISequentialStream; struct ISequentialStream : public IUnknown { STDMETHOD(QueryInterface)(REFIID,PVOID*) PURE; STDMETHOD_(ULONG,AddRef)(void) PURE; STDMETHOD_(ULONG,Release)(void) PURE; STDMETHOD(Read)(void*,ULONG,ULONG*) PURE; STDMETHOD(Write)(void const*,ULONG,ULONG*) PURE; }; #else extern const IID IID_ISequentialStream; #endif /* __cplusplus */ /* END #include */ #endif