ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/mssip.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 4982 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD 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 __C89_NAMELESS 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