Mercurial > games > semicongine
comparison fuhtark_test/include/winapi/patchapi.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 /** | |
| 2 * This file has no copyright assigned and is placed in the Public Domain. | |
| 3 * This file is part of the w64 mingw-runtime package. | |
| 4 * No warranty is given; refer to the file DISCLAIMER within this package. | |
| 5 */ | |
| 6 #ifndef _PATCHAPI_H_ | |
| 7 #define _PATCHAPI_H_ | |
| 8 | |
| 9 #ifdef __cplusplus | |
| 10 extern "C" { | |
| 11 #endif | |
| 12 | |
| 13 #define PATCH_OPTION_USE_BEST 0x00000000 | |
| 14 | |
| 15 #define PATCH_OPTION_USE_LZX_BEST 0x00000003 | |
| 16 #define PATCH_OPTION_USE_LZX_A 0x00000001 | |
| 17 #define PATCH_OPTION_USE_LZX_B 0x00000002 | |
| 18 #define PATCH_OPTION_USE_LZX_LARGE 0x00000004 | |
| 19 | |
| 20 #define PATCH_OPTION_NO_BINDFIX 0x00010000 | |
| 21 #define PATCH_OPTION_NO_LOCKFIX 0x00020000 | |
| 22 #define PATCH_OPTION_NO_REBASE 0x00040000 | |
| 23 #define PATCH_OPTION_FAIL_IF_SAME_FILE 0x00080000 | |
| 24 #define PATCH_OPTION_FAIL_IF_BIGGER 0x00100000 | |
| 25 #define PATCH_OPTION_NO_CHECKSUM 0x00200000 | |
| 26 #define PATCH_OPTION_NO_RESTIMEFIX 0x00400000 | |
| 27 #define PATCH_OPTION_NO_TIMESTAMP 0x00800000 | |
| 28 #define PATCH_OPTION_SIGNATURE_MD5 0x01000000 | |
| 29 #define PATCH_OPTION_RESERVED1 0x80000000 | |
| 30 | |
| 31 #define PATCH_OPTION_VALID_FLAGS 0x80FF0007 | |
| 32 | |
| 33 #define PATCH_SYMBOL_NO_IMAGEHLP 0x00000001 | |
| 34 #define PATCH_SYMBOL_NO_FAILURES 0x00000002 | |
| 35 #define PATCH_SYMBOL_UNDECORATED_TOO 0x00000004 | |
| 36 #define PATCH_SYMBOL_RESERVED1 0x80000000 | |
| 37 | |
| 38 #define APPLY_OPTION_FAIL_IF_EXACT 0x00000001 | |
| 39 #define APPLY_OPTION_FAIL_IF_CLOSE 0x00000002 | |
| 40 #define APPLY_OPTION_TEST_ONLY 0x00000004 | |
| 41 #define APPLY_OPTION_VALID_FLAGS 0x00000007 | |
| 42 | |
| 43 #define ERROR_PATCH_ENCODE_FAILURE 0xC00E3101 | |
| 44 #define ERROR_PATCH_INVALID_OPTIONS 0xC00E3102 | |
| 45 #define ERROR_PATCH_SAME_FILE 0xC00E3103 | |
| 46 #define ERROR_PATCH_RETAIN_RANGES_DIFFER 0xC00E3104 | |
| 47 #define ERROR_PATCH_BIGGER_THAN_COMPRESSED 0xC00E3105 | |
| 48 #define ERROR_PATCH_IMAGEHLP_FAILURE 0xC00E3106 | |
| 49 | |
| 50 #define ERROR_PATCH_DECODE_FAILURE 0xC00E4101 | |
| 51 #define ERROR_PATCH_CORRUPT 0xC00E4102 | |
| 52 #define ERROR_PATCH_NEWER_FORMAT 0xC00E4103 | |
| 53 #define ERROR_PATCH_WRONG_FILE 0xC00E4104 | |
| 54 #define ERROR_PATCH_NOT_NECESSARY 0xC00E4105 | |
| 55 #define ERROR_PATCH_NOT_AVAILABLE 0xC00E4106 | |
| 56 | |
| 57 typedef WINBOOL (CALLBACK PATCH_PROGRESS_CALLBACK)(PVOID CallbackContext,ULONG CurrentPosition,ULONG MaximumPosition); | |
| 58 typedef PATCH_PROGRESS_CALLBACK *PPATCH_PROGRESS_CALLBACK; | |
| 59 typedef WINBOOL (CALLBACK PATCH_SYMLOAD_CALLBACK)(ULONG WhichFile,LPCSTR SymbolFileName,ULONG SymType,ULONG SymbolFileCheckSum,ULONG SymbolFileTimeDate,ULONG ImageFileCheckSum,ULONG ImageFileTimeDate,PVOID CallbackContext); | |
| 60 typedef PATCH_SYMLOAD_CALLBACK *PPATCH_SYMLOAD_CALLBACK; | |
| 61 | |
| 62 typedef struct _PATCH_IGNORE_RANGE { | |
| 63 ULONG OffsetInOldFile; | |
| 64 ULONG LengthInBytes; | |
| 65 } PATCH_IGNORE_RANGE,*PPATCH_IGNORE_RANGE; | |
| 66 | |
| 67 typedef struct _PATCH_RETAIN_RANGE { | |
| 68 ULONG OffsetInOldFile; | |
| 69 ULONG LengthInBytes; | |
| 70 ULONG OffsetInNewFile; | |
| 71 } PATCH_RETAIN_RANGE,*PPATCH_RETAIN_RANGE; | |
| 72 | |
| 73 typedef struct _PATCH_OLD_FILE_INFO_A { | |
| 74 ULONG SizeOfThisStruct; | |
| 75 LPCSTR OldFileName; | |
| 76 ULONG IgnoreRangeCount; | |
| 77 PPATCH_IGNORE_RANGE IgnoreRangeArray; | |
| 78 ULONG RetainRangeCount; | |
| 79 PPATCH_RETAIN_RANGE RetainRangeArray; | |
| 80 } PATCH_OLD_FILE_INFO_A,*PPATCH_OLD_FILE_INFO_A; | |
| 81 | |
| 82 typedef struct _PATCH_OLD_FILE_INFO_W { | |
| 83 ULONG SizeOfThisStruct; | |
| 84 LPCWSTR OldFileName; | |
| 85 ULONG IgnoreRangeCount; | |
| 86 PPATCH_IGNORE_RANGE IgnoreRangeArray; | |
| 87 ULONG RetainRangeCount; | |
| 88 PPATCH_RETAIN_RANGE RetainRangeArray; | |
| 89 } PATCH_OLD_FILE_INFO_W,*PPATCH_OLD_FILE_INFO_W; | |
| 90 | |
| 91 typedef struct _PATCH_OLD_FILE_INFO_H { | |
| 92 ULONG SizeOfThisStruct; | |
| 93 HANDLE OldFileHandle; | |
| 94 ULONG IgnoreRangeCount; | |
| 95 PPATCH_IGNORE_RANGE IgnoreRangeArray; | |
| 96 ULONG RetainRangeCount; | |
| 97 PPATCH_RETAIN_RANGE RetainRangeArray; | |
| 98 } PATCH_OLD_FILE_INFO_H,*PPATCH_OLD_FILE_INFO_H; | |
| 99 | |
| 100 typedef struct _PATCH_OLD_FILE_INFO { | |
| 101 ULONG SizeOfThisStruct; | |
| 102 __MINGW_EXTENSION union { | |
| 103 LPCSTR OldFileNameA; | |
| 104 LPCWSTR OldFileNameW; | |
| 105 HANDLE OldFileHandle; | |
| 106 }; | |
| 107 ULONG IgnoreRangeCount; | |
| 108 PPATCH_IGNORE_RANGE IgnoreRangeArray; | |
| 109 ULONG RetainRangeCount; | |
| 110 PPATCH_RETAIN_RANGE RetainRangeArray; | |
| 111 } PATCH_OLD_FILE_INFO,*PPATCH_OLD_FILE_INFO; | |
| 112 | |
| 113 typedef struct _PATCH_OPTION_DATA { | |
| 114 ULONG SizeOfThisStruct; | |
| 115 ULONG SymbolOptionFlags; | |
| 116 LPCSTR NewFileSymbolPath; | |
| 117 LPCSTR *OldFileSymbolPathArray; | |
| 118 ULONG ExtendedOptionFlags; | |
| 119 PPATCH_SYMLOAD_CALLBACK SymLoadCallback; | |
| 120 PVOID SymLoadContext; | |
| 121 } PATCH_OPTION_DATA,*PPATCH_OPTION_DATA; | |
| 122 | |
| 123 #ifdef IMPORTING_PATCHAPI_DLL | |
| 124 #define PATCHAPI WINAPI __declspec(dllimport) | |
| 125 #else | |
| 126 #define PATCHAPI WINAPI | |
| 127 #endif | |
| 128 | |
| 129 WINBOOL PATCHAPI CreatePatchFileA(LPCSTR OldFileName,LPCSTR NewFileName,LPCSTR PatchFileName,ULONG OptionFlags,PPATCH_OPTION_DATA OptionData); | |
| 130 WINBOOL PATCHAPI CreatePatchFileW(LPCWSTR OldFileName,LPCWSTR NewFileName,LPCWSTR PatchFileName,ULONG OptionFlags,PPATCH_OPTION_DATA OptionData); | |
| 131 WINBOOL PATCHAPI CreatePatchFileByHandles(HANDLE OldFileHandle,HANDLE NewFileHandle,HANDLE PatchFileHandle,ULONG OptionFlags,PPATCH_OPTION_DATA OptionData); | |
| 132 WINBOOL PATCHAPI CreatePatchFileExA(ULONG OldFileCount,PPATCH_OLD_FILE_INFO_A OldFileInfoArray,LPCSTR NewFileName,LPCSTR PatchFileName,ULONG OptionFlags,PPATCH_OPTION_DATA OptionData,PPATCH_PROGRESS_CALLBACK ProgressCallback,PVOID CallbackContext); | |
| 133 WINBOOL PATCHAPI CreatePatchFileExW(ULONG OldFileCount,PPATCH_OLD_FILE_INFO_W OldFileInfoArray,LPCWSTR NewFileName,LPCWSTR PatchFileName,ULONG OptionFlags,PPATCH_OPTION_DATA OptionData,PPATCH_PROGRESS_CALLBACK ProgressCallback,PVOID CallbackContext); | |
| 134 WINBOOL PATCHAPI CreatePatchFileByHandlesEx(ULONG OldFileCount,PPATCH_OLD_FILE_INFO_H OldFileInfoArray,HANDLE NewFileHandle,HANDLE PatchFileHandle,ULONG OptionFlags,PPATCH_OPTION_DATA OptionData,PPATCH_PROGRESS_CALLBACK ProgressCallback,PVOID CallbackContext); | |
| 135 WINBOOL PATCHAPI ExtractPatchHeaderToFileA(LPCSTR PatchFileName,LPCSTR PatchHeaderFileName); | |
| 136 WINBOOL PATCHAPI ExtractPatchHeaderToFileW(LPCWSTR PatchFileName,LPCWSTR PatchHeaderFileName); | |
| 137 WINBOOL PATCHAPI ExtractPatchHeaderToFileByHandles(HANDLE PatchFileHandle,HANDLE PatchHeaderFileHandle); | |
| 138 WINBOOL PATCHAPI TestApplyPatchToFileA(LPCSTR PatchFileName,LPCSTR OldFileName,ULONG ApplyOptionFlags); | |
| 139 WINBOOL PATCHAPI TestApplyPatchToFileW(LPCWSTR PatchFileName,LPCWSTR OldFileName,ULONG ApplyOptionFlags); | |
| 140 WINBOOL PATCHAPI TestApplyPatchToFileByHandles(HANDLE PatchFileHandle,HANDLE OldFileHandle,ULONG ApplyOptionFlags); | |
| 141 WINBOOL PATCHAPI ApplyPatchToFileA(LPCSTR PatchFileName,LPCSTR OldFileName,LPCSTR NewFileName,ULONG ApplyOptionFlags); | |
| 142 WINBOOL PATCHAPI ApplyPatchToFileW(LPCWSTR PatchFileName,LPCWSTR OldFileName,LPCWSTR NewFileName,ULONG ApplyOptionFlags); | |
| 143 WINBOOL PATCHAPI ApplyPatchToFileByHandles(HANDLE PatchFileHandle,HANDLE OldFileHandle,HANDLE NewFileHandle,ULONG ApplyOptionFlags); | |
| 144 WINBOOL PATCHAPI ApplyPatchToFileExA(LPCSTR PatchFileName,LPCSTR OldFileName,LPCSTR NewFileName,ULONG ApplyOptionFlags,PPATCH_PROGRESS_CALLBACK ProgressCallback,PVOID CallbackContext); | |
| 145 WINBOOL PATCHAPI ApplyPatchToFileExW(LPCWSTR PatchFileName,LPCWSTR OldFileName,LPCWSTR NewFileName,ULONG ApplyOptionFlags,PPATCH_PROGRESS_CALLBACK ProgressCallback,PVOID CallbackContext); | |
| 146 WINBOOL PATCHAPI ApplyPatchToFileByHandlesEx(HANDLE PatchFileHandle,HANDLE OldFileHandle,HANDLE NewFileHandle,ULONG ApplyOptionFlags,PPATCH_PROGRESS_CALLBACK ProgressCallback,PVOID CallbackContext); | |
| 147 WINBOOL PATCHAPI GetFilePatchSignatureA(LPCSTR FileName,ULONG OptionFlags,PVOID OptionData,ULONG IgnoreRangeCount,PPATCH_IGNORE_RANGE IgnoreRangeArray,ULONG RetainRangeCount,PPATCH_RETAIN_RANGE RetainRangeArray,ULONG SignatureBufferSize,PVOID SignatureBuffer); | |
| 148 WINBOOL PATCHAPI GetFilePatchSignatureW(LPCWSTR FileName,ULONG OptionFlags,PVOID OptionData,ULONG IgnoreRangeCount,PPATCH_IGNORE_RANGE IgnoreRangeArray,ULONG RetainRangeCount,PPATCH_RETAIN_RANGE RetainRangeArray,ULONG SignatureBufferSizeInBytes,PVOID SignatureBuffer); | |
| 149 WINBOOL PATCHAPI GetFilePatchSignatureByHandle(HANDLE FileHandle,ULONG OptionFlags,PVOID OptionData,ULONG IgnoreRangeCount,PPATCH_IGNORE_RANGE IgnoreRangeArray,ULONG RetainRangeCount,PPATCH_RETAIN_RANGE RetainRangeArray,ULONG SignatureBufferSize,PVOID SignatureBuffer); | |
| 150 | |
| 151 #ifdef UNICODE | |
| 152 #define CreatePatchFile CreatePatchFileW | |
| 153 #define CreatePatchFileEx CreatePatchFileExW | |
| 154 #define TestApplyPatchToFile TestApplyPatchToFileW | |
| 155 #define ApplyPatchToFile ApplyPatchToFileW | |
| 156 #define ApplyPatchToFileEx ApplyPatchToFileExW | |
| 157 #define ExtractPatchHeaderToFile ExtractPatchHeaderToFileW | |
| 158 #define GetFilePatchSignature GetFilePatchSignatureW | |
| 159 #else | |
| 160 #define CreatePatchFile CreatePatchFileA | |
| 161 #define CreatePatchFileEx CreatePatchFileExA | |
| 162 #define TestApplyPatchToFile TestApplyPatchToFileA | |
| 163 #define ApplyPatchToFile ApplyPatchToFileA | |
| 164 #define ApplyPatchToFileEx ApplyPatchToFileExA | |
| 165 #define ExtractPatchHeaderToFile ExtractPatchHeaderToFileA | |
| 166 #define GetFilePatchSignature GetFilePatchSignatureA | |
| 167 #endif | |
| 168 | |
| 169 #ifdef __cplusplus | |
| 170 } | |
| 171 #endif | |
| 172 #endif |
