Mercurial > games > semicongine
comparison fuhtark_test/include/winapi/mssip.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 MSSIP_H | |
| 7 #define MSSIP_H | |
| 8 | |
| 9 #ifdef __cplusplus | |
| 10 extern "C" { | |
| 11 #endif | |
| 12 | |
| 13 #pragma pack (8) | |
| 14 | |
| 15 typedef CRYPT_HASH_BLOB CRYPT_DIGEST_DATA; | |
| 16 | |
| 17 #define MSSIP_FLAGS_PROHIBIT_RESIZE_ON_CREATE 0x00010000 | |
| 18 #define MSSIP_FLAGS_USE_CATALOG 0x00020000 | |
| 19 | |
| 20 #define SPC_INC_PE_RESOURCES_FLAG 0x80 | |
| 21 #define SPC_INC_PE_DEBUG_INFO_FLAG 0x40 | |
| 22 #define SPC_INC_PE_IMPORT_ADDR_TABLE_FLAG 0x20 | |
| 23 | |
| 24 typedef struct SIP_SUBJECTINFO_ { | |
| 25 DWORD cbSize; | |
| 26 GUID *pgSubjectType; | |
| 27 HANDLE hFile; | |
| 28 LPCWSTR pwsFileName; | |
| 29 LPCWSTR pwsDisplayName; | |
| 30 DWORD dwReserved1; | |
| 31 DWORD dwIntVersion; | |
| 32 HCRYPTPROV hProv; | |
| 33 CRYPT_ALGORITHM_IDENTIFIER DigestAlgorithm; | |
| 34 DWORD dwFlags; | |
| 35 DWORD dwEncodingType; | |
| 36 DWORD dwReserved2; | |
| 37 DWORD fdwCAPISettings; | |
| 38 DWORD fdwSecuritySettings; | |
| 39 DWORD dwIndex; | |
| 40 DWORD dwUnionChoice; | |
| 41 #define MSSIP_ADDINFO_NONE 0 | |
| 42 #define MSSIP_ADDINFO_FLAT 1 | |
| 43 #define MSSIP_ADDINFO_CATMEMBER 2 | |
| 44 #define MSSIP_ADDINFO_BLOB 3 | |
| 45 #define MSSIP_ADDINFO_NONMSSIP 500 | |
| 46 __MINGW_EXTENSION union { | |
| 47 struct MS_ADDINFO_FLAT_ *psFlat; | |
| 48 struct MS_ADDINFO_CATALOGMEMBER_ *psCatMember; | |
| 49 struct MS_ADDINFO_BLOB_ *psBlob; | |
| 50 }; | |
| 51 LPVOID pClientData; | |
| 52 } SIP_SUBJECTINFO,*LPSIP_SUBJECTINFO; | |
| 53 | |
| 54 typedef struct MS_ADDINFO_FLAT_ { | |
| 55 DWORD cbStruct; | |
| 56 struct SIP_INDIRECT_DATA_ *pIndirectData; | |
| 57 } MS_ADDINFO_FLAT,*PMS_ADDINFO_FLAT; | |
| 58 | |
| 59 typedef struct MS_ADDINFO_CATALOGMEMBER_ { | |
| 60 DWORD cbStruct; | |
| 61 struct CRYPTCATSTORE_ *pStore; | |
| 62 struct CRYPTCATMEMBER_ *pMember; | |
| 63 } MS_ADDINFO_CATALOGMEMBER,*PMS_ADDINFO_CATALOGMEMBER; | |
| 64 | |
| 65 typedef struct MS_ADDINFO_BLOB_ { | |
| 66 DWORD cbStruct; | |
| 67 DWORD cbMemObject; | |
| 68 BYTE *pbMemObject; | |
| 69 DWORD cbMemSignedMsg; | |
| 70 BYTE *pbMemSignedMsg; | |
| 71 } MS_ADDINFO_BLOB,*PMS_ADDINFO_BLOB; | |
| 72 | |
| 73 typedef struct SIP_INDIRECT_DATA_ { | |
| 74 CRYPT_ATTRIBUTE_TYPE_VALUE Data; | |
| 75 CRYPT_ALGORITHM_IDENTIFIER DigestAlgorithm; | |
| 76 CRYPT_HASH_BLOB Digest; | |
| 77 } SIP_INDIRECT_DATA,*PSIP_INDIRECT_DATA; | |
| 78 | |
| 79 #pragma pack() | |
| 80 | |
| 81 extern WINBOOL WINAPI CryptSIPGetSignedDataMsg(SIP_SUBJECTINFO *pSubjectInfo,DWORD *pdwEncodingType,DWORD dwIndex,DWORD *pcbSignedDataMsg,BYTE *pbSignedDataMsg); | |
| 82 typedef WINBOOL (WINAPI *pCryptSIPGetSignedDataMsg)(SIP_SUBJECTINFO *pSubjectInfo,DWORD *pdwEncodingType,DWORD dwIndex,DWORD *pcbSignedDataMsg,BYTE *pbSignedDataMsg); | |
| 83 extern WINBOOL WINAPI CryptSIPPutSignedDataMsg(SIP_SUBJECTINFO *pSubjectInfo,DWORD dwEncodingType,DWORD *pdwIndex,DWORD cbSignedDataMsg,BYTE *pbSignedDataMsg); | |
| 84 typedef WINBOOL (WINAPI *pCryptSIPPutSignedDataMsg)(SIP_SUBJECTINFO *pSubjectInfo,DWORD dwEncodingType,DWORD *pdwIndex,DWORD cbSignedDataMsg,BYTE *pbSignedDataMsg); | |
| 85 extern WINBOOL WINAPI CryptSIPCreateIndirectData(SIP_SUBJECTINFO *pSubjectInfo,DWORD *pcbIndirectData,SIP_INDIRECT_DATA *pIndirectData); | |
| 86 typedef WINBOOL (WINAPI *pCryptSIPCreateIndirectData)(SIP_SUBJECTINFO *pSubjectInfo,DWORD *pcbIndirectData,SIP_INDIRECT_DATA *pIndirectData); | |
| 87 extern WINBOOL WINAPI CryptSIPVerifyIndirectData(SIP_SUBJECTINFO *pSubjectInfo,SIP_INDIRECT_DATA *pIndirectData); | |
| 88 typedef WINBOOL (WINAPI *pCryptSIPVerifyIndirectData)(SIP_SUBJECTINFO *pSubjectInfo,SIP_INDIRECT_DATA *pIndirectData); | |
| 89 extern WINBOOL WINAPI CryptSIPRemoveSignedDataMsg(SIP_SUBJECTINFO *pSubjectInfo,DWORD dwIndex); | |
| 90 typedef WINBOOL (WINAPI *pCryptSIPRemoveSignedDataMsg)(SIP_SUBJECTINFO *pSubjectInfo,DWORD dwIndex); | |
| 91 | |
| 92 #pragma pack(8) | |
| 93 | |
| 94 typedef struct SIP_DISPATCH_INFO_ { | |
| 95 DWORD cbSize; | |
| 96 HANDLE hSIP; | |
| 97 pCryptSIPGetSignedDataMsg pfGet; | |
| 98 pCryptSIPPutSignedDataMsg pfPut; | |
| 99 pCryptSIPCreateIndirectData pfCreate; | |
| 100 pCryptSIPVerifyIndirectData pfVerify; | |
| 101 pCryptSIPRemoveSignedDataMsg pfRemove; | |
| 102 } SIP_DISPATCH_INFO,*LPSIP_DISPATCH_INFO; | |
| 103 | |
| 104 typedef WINBOOL (WINAPI *pfnIsFileSupported)(HANDLE hFile,GUID *pgSubject); | |
| 105 typedef WINBOOL (WINAPI *pfnIsFileSupportedName)(WCHAR *pwszFileName,GUID *pgSubject); | |
| 106 | |
| 107 typedef struct SIP_ADD_NEWPROVIDER_ { | |
| 108 DWORD cbStruct; | |
| 109 GUID *pgSubject; | |
| 110 WCHAR *pwszDLLFileName; | |
| 111 WCHAR *pwszMagicNumber; | |
| 112 WCHAR *pwszIsFunctionName; | |
| 113 WCHAR *pwszGetFuncName; | |
| 114 WCHAR *pwszPutFuncName; | |
| 115 WCHAR *pwszCreateFuncName; | |
| 116 WCHAR *pwszVerifyFuncName; | |
| 117 WCHAR *pwszRemoveFuncName; | |
| 118 WCHAR *pwszIsFunctionNameFmt2; | |
| 119 } SIP_ADD_NEWPROVIDER,*PSIP_ADD_NEWPROVIDER; | |
| 120 | |
| 121 #define SIP_MAX_MAGIC_NUMBER 4 | |
| 122 | |
| 123 #pragma pack() | |
| 124 | |
| 125 extern WINBOOL WINAPI CryptSIPLoad(const GUID *pgSubject,DWORD dwFlags,SIP_DISPATCH_INFO *pSipDispatch); | |
| 126 extern WINBOOL WINAPI CryptSIPRetrieveSubjectGuid(LPCWSTR FileName,HANDLE hFileIn,GUID *pgSubject); | |
| 127 extern WINBOOL WINAPI CryptSIPRetrieveSubjectGuidForCatalogFile(LPCWSTR FileName,HANDLE hFileIn,GUID *pgSubject); | |
| 128 extern WINBOOL WINAPI CryptSIPAddProvider(SIP_ADD_NEWPROVIDER *psNewProv); | |
| 129 extern WINBOOL WINAPI CryptSIPRemoveProvider(GUID *pgProv); | |
| 130 | |
| 131 #ifdef __cplusplus | |
| 132 } | |
| 133 #endif | |
| 134 #endif |
