Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenmssip.h
Go to the documentation of this file.
00001 /* 00002 * Copyright (C) 2002 Patrik Stridvall 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00017 */ 00018 00019 #ifndef __WINE_MSSIP_H 00020 #define __WINE_MSSIP_H 00021 00022 #ifdef __cplusplus 00023 extern "C" { 00024 #endif /* defined(__cplusplus) */ 00025 00026 /**********************************************************************/ 00027 00028 typedef CRYPT_HASH_BLOB CRYPT_DIGEST_DATA; 00029 00030 /**********************************************************************/ 00031 00032 #define MSSIP_FLAGS_PROHIBIT_RESIZE_ON_CREATE 0x00010000 00033 #define MSSIP_FLAGS_USE_CATALOG 0x00020000 00034 00035 #define SPC_INC_PE_RESOURCES_FLAG 0x80 00036 #define SPC_INC_PE_DEBUG_INFO_FLAG 0x40 00037 #define SPC_INC_PE_IMPORT_ADDR_TABLE_FLAG 0x20 00038 00039 #define MSSIP_ADDINFO_NONE 0 00040 #define MSSIP_ADDINFO_FLAT 1 00041 #define MSSIP_ADDINFO_CATMEMBER 2 00042 #define MSSIP_ADDINFO_BLOB 3 00043 #define MSSIP_ADDINFO_NONMSSIP 500 00044 00045 #define SIP_MAX_MAGIC_NUMBER 4 00046 00047 /**********************************************************************/ 00048 00049 #include <pshpack8.h> 00050 typedef struct SIP_SUBJECTINFO_ { 00051 DWORD cbSize; 00052 GUID *pgSubjectType; 00053 HANDLE hFile; 00054 LPCWSTR pwsFileName; 00055 LPCWSTR pwsDisplayName; 00056 00057 DWORD dwReserved1; 00058 DWORD dwIntVersion; 00059 00060 HCRYPTPROV hProv; 00061 CRYPT_ALGORITHM_IDENTIFIER DigestAlgorithm; 00062 DWORD dwFlags; 00063 DWORD dwEncodingType; 00064 DWORD dwReserved2; 00065 DWORD fdwCAPISettings; 00066 DWORD fdwSecuritySettings; 00067 DWORD dwIndex; 00068 00069 DWORD dwUnionChoice; 00070 union { 00071 struct MS_ADDINFO_FLAT_ *psFlat; 00072 struct MS_ADDINFO_CATALOGMEMBER_ *psCatMember; 00073 struct MS_ADDINFO_BLOB_ *psBlob; 00074 } DUMMYUNIONNAME; 00075 00076 LPVOID pClientData; 00077 } SIP_SUBJECTINFO, *LPSIP_SUBJECTINFO; 00078 #include <poppack.h> 00079 00080 #include <pshpack8.h> 00081 typedef struct MS_ADDINFO_FLAT_ { 00082 DWORD cbStruct; 00083 00084 struct SIP_INDIRECT_DATA_ *pIndirectData; 00085 } MS_ADDINFO_FLAT, *PMS_ADDINFO_FLAT; 00086 #include <poppack.h> 00087 00088 #include <pshpack8.h> 00089 typedef struct MS_ADDINFO_CATALOGMEMBER_ { 00090 DWORD cbStruct; 00091 00092 struct CRYPTCATSTORE_ *pStore; 00093 struct CRYPTCATMEMBER_ *pMember; 00094 } MS_ADDINFO_CATALOGMEMBER, *PMS_ADDINFO_CATALOGMEMBER; 00095 #include <poppack.h> 00096 00097 #include <pshpack8.h> 00098 typedef struct MS_ADDINFO_BLOB_ { 00099 DWORD cbStruct; 00100 00101 DWORD cbMemObject; 00102 BYTE *pbMemObject; 00103 00104 DWORD cbMemSignedMsg; 00105 BYTE *pbMemSignedMsg; 00106 } MS_ADDINFO_BLOB, *PMS_ADDINFO_BLOB; 00107 #include <poppack.h> 00108 00109 #include <pshpack8.h> 00110 typedef struct SIP_INDIRECT_DATA_ { 00111 CRYPT_ATTRIBUTE_TYPE_VALUE Data; 00112 CRYPT_ALGORITHM_IDENTIFIER DigestAlgorithm; 00113 CRYPT_HASH_BLOB Digest; 00114 } SIP_INDIRECT_DATA, *PSIP_INDIRECT_DATA; 00115 #include <poppack.h> 00116 00117 typedef BOOL (WINAPI * pCryptSIPGetSignedDataMsg)(SIP_SUBJECTINFO *,DWORD *,DWORD,DWORD *,BYTE *); 00118 typedef BOOL (WINAPI * pCryptSIPPutSignedDataMsg)(SIP_SUBJECTINFO *,DWORD,DWORD *,DWORD,BYTE *); 00119 typedef BOOL (WINAPI * pCryptSIPCreateIndirectData)(SIP_SUBJECTINFO *,DWORD *,SIP_INDIRECT_DATA *); 00120 typedef BOOL (WINAPI * pCryptSIPVerifyIndirectData)(SIP_SUBJECTINFO *,SIP_INDIRECT_DATA *); 00121 typedef BOOL (WINAPI * pCryptSIPRemoveSignedDataMsg)(SIP_SUBJECTINFO *,DWORD); 00122 00123 #include <pshpack8.h> 00124 typedef struct SIP_DISPATCH_INFO_ { 00125 DWORD cbSize; 00126 00127 HANDLE hSIP; 00128 00129 pCryptSIPGetSignedDataMsg pfGet; 00130 pCryptSIPPutSignedDataMsg pfPut; 00131 pCryptSIPCreateIndirectData pfCreate; 00132 pCryptSIPVerifyIndirectData pfVerify; 00133 pCryptSIPRemoveSignedDataMsg pfRemove; 00134 } SIP_DISPATCH_INFO, *LPSIP_DISPATCH_INFO; 00135 #include <poppack.h> 00136 00137 typedef BOOL (WINAPI *pfnIsFileSupported)(HANDLE,GUID *); 00138 typedef BOOL (WINAPI *pfnIsFileSupportedName)(WCHAR *,GUID *); 00139 00140 #include <pshpack8.h> 00141 typedef struct SIP_ADD_NEWPROVIDER_ 00142 { 00143 DWORD cbStruct; 00144 00145 GUID *pgSubject; 00146 00147 WCHAR *pwszDLLFileName; 00148 WCHAR *pwszMagicNumber; 00149 00150 WCHAR *pwszIsFunctionName; 00151 00152 WCHAR *pwszGetFuncName; 00153 WCHAR *pwszPutFuncName; 00154 WCHAR *pwszCreateFuncName; 00155 WCHAR *pwszVerifyFuncName; 00156 WCHAR *pwszRemoveFuncName; 00157 00158 WCHAR *pwszIsFunctionNameFmt2; 00159 } SIP_ADD_NEWPROVIDER, *PSIP_ADD_NEWPROVIDER; 00160 #include <poppack.h> 00161 00162 /**********************************************************************/ 00163 00164 BOOL WINAPI CryptSIPGetSignedDataMsg(SIP_SUBJECTINFO *,DWORD *,DWORD,DWORD *,BYTE *); 00165 BOOL WINAPI CryptSIPPutSignedDataMsg(SIP_SUBJECTINFO *,DWORD,DWORD *,DWORD,BYTE *); 00166 BOOL WINAPI CryptSIPCreateIndirectData(SIP_SUBJECTINFO *,DWORD *,SIP_INDIRECT_DATA *); 00167 BOOL WINAPI CryptSIPVerifyIndirectData(SIP_SUBJECTINFO *,SIP_INDIRECT_DATA *); 00168 BOOL WINAPI CryptSIPRemoveSignedDataMsg(SIP_SUBJECTINFO *,DWORD); 00169 00170 BOOL WINAPI CryptSIPLoad(const GUID *,DWORD,SIP_DISPATCH_INFO *); 00171 BOOL WINAPI CryptSIPRetrieveSubjectGuid(LPCWSTR,HANDLE,GUID *); 00172 BOOL WINAPI CryptSIPRetrieveSubjectGuidForCatalogFile(LPCWSTR,HANDLE,GUID *); 00173 BOOL WINAPI CryptSIPAddProvider(SIP_ADD_NEWPROVIDER *); 00174 BOOL WINAPI CryptSIPRemoveProvider(GUID *); 00175 00176 #ifdef __cplusplus 00177 } /* extern "C" */ 00178 #endif /* defined(__cplusplus) */ 00179 00180 #endif /* __WINE_MSSIP_H */ Generated on Fri May 25 2012 04:30:27 for ReactOS by
1.7.6.1
|