123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- /*
- * Copyright (C) 2004 Francois Gouget
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * 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. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
- #ifndef __WINE_MSCAT_H
- #define __WINE_MSCAT_H
- #include <mssip.h>
- typedef HANDLE HCATADMIN;
- typedef HANDLE HCATINFO;
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define CRYPTCAT_ATTR_NAMEASCII 0x00000001
- #define CRYPTCAT_ATTR_NAMEOBJID 0x00000002
- #define CRYPTCAT_ATTR_DATAASCII 0x00010000
- #define CRYPTCAT_ATTR_DATAOBJID 0x00020000
- #define CRYPTCAT_ATTR_DATAREPLACE 0x00040000
- #define CRYPTCAT_ATTR_NO_AUTO_COMPAT_ENTRY 0x01000000
- #define CRYPTCAT_ATTR_AUTHENTICATED 0x10000000
- #define CRYPTCAT_ATTR_UNAUTHENTICATED 0x20000000
- #define CRYPTCAT_OPEN_CREATENEW 0x00000001
- #define CRYPTCAT_OPEN_ALWAYS 0x00000002
- #define CRYPTCAT_OPEN_EXISTING 0x00000004
- #define CRYPTCAT_OPEN_EXCLUDE_PAGE_HASHES 0x00010000
- #define CRYPTCAT_OPEN_INCLUDE_PAGE_HASHES 0x00020000
- #define CRYPTCAT_OPEN_VERIFYSIGHASH 0x10000000
- #define CRYPTCAT_OPEN_NO_CONTENT_HCRYPTMSG 0x20000000
- #define CRYPTCAT_OPEN_SORTED 0x40000000
- #define CRYPTCAT_OPEN_FLAGS_MASK 0xffff0000
- #define CRYPTCAT_E_AREA_HEADER 0x00000000
- #define CRYPTCAT_E_AREA_MEMBER 0x00010000
- #define CRYPTCAT_E_AREA_ATTRIBUTE 0x00020000
- #define CRYPTCAT_E_CDF_UNSUPPORTED 0x00000001
- #define CRYPTCAT_E_CDF_DUPLICATE 0x00000002
- #define CRYPTCAT_E_CDF_TAGNOTFOUND 0x00000004
- #define CRYPTCAT_E_CDF_MEMBER_FILE_PATH 0x00010001
- #define CRYPTCAT_E_CDF_MEMBER_INDIRECTDATA 0x00010002
- #define CRYPTCAT_E_CDF_MEMBER_FILENOTFOUND 0x00010004
- #define CRYPTCAT_E_CDF_BAD_GUID_CONV 0x00020001
- #define CRYPTCAT_E_CDF_ATTR_TOOFEWVALUES 0x00020002
- #define CRYPTCAT_E_CDF_ATTR_TYPECOMBO 0x00020004
- #define CRYPTCAT_VERSION_1 0x100
- #define CRYPTCAT_VERSION_2 0x200
- #include <pshpack8.h>
- typedef struct CRYPTCATATTRIBUTE_
- {
- DWORD cbStruct;
- LPWSTR pwszReferenceTag;
- DWORD dwAttrTypeAndAction;
- DWORD cbValue;
- BYTE *pbValue;
- DWORD dwReserved;
- } CRYPTCATATTRIBUTE;
- typedef struct CRYPTCATMEMBER_
- {
- DWORD cbStruct;
- LPWSTR pwszReferenceTag;
- LPWSTR pwszFileName;
- GUID gSubjectType;
- DWORD fdwMemberFlags;
- struct SIP_INDIRECT_DATA_* pIndirectData;
- DWORD dwCertVersion;
- DWORD dwReserved;
- HANDLE hReserved;
- CRYPT_ATTR_BLOB sEncodedIndirectData;
- CRYPT_ATTR_BLOB sEncodedMemberInfo;
- } CRYPTCATMEMBER;
- typedef struct CATALOG_INFO_
- {
- DWORD cbStruct;
- WCHAR wszCatalogFile[MAX_PATH];
- } CATALOG_INFO;
- typedef struct CRYPTCATCDF_
- {
- DWORD cbStruct;
- HANDLE hFile;
- DWORD dwCurFilePos;
- DWORD dwLastMemberOffset;
- WINBOOL fEOF;
- LPWSTR pwszResultDir;
- HANDLE hCATStore;
- } CRYPTCATCDF;
- #include <poppack.h>
- typedef void (WINAPI *PFN_CDF_PARSE_ERROR_CALLBACK)(DWORD, DWORD, WCHAR *);
- WINBOOL WINAPI CryptCATAdminAcquireContext(HCATADMIN*,const GUID*,DWORD);
- WINBOOL WINAPI CryptCATAdminAcquireContext2(HCATADMIN*,const GUID*,const WCHAR*,const CERT_STRONG_SIGN_PARA*,DWORD);
- HCATINFO WINAPI CryptCATAdminAddCatalog(HCATADMIN,PWSTR,PWSTR,DWORD);
- WINBOOL WINAPI CryptCATAdminCalcHashFromFileHandle(HANDLE,DWORD*,BYTE*,DWORD);
- WINBOOL WINAPI CryptCATAdminCalcHashFromFileHandle2(HCATADMIN,HANDLE,DWORD*,BYTE*,DWORD);
- HCATINFO WINAPI CryptCATAdminEnumCatalogFromHash(HCATADMIN,BYTE*,DWORD,DWORD,HCATINFO*);
- WINBOOL WINAPI CryptCATAdminReleaseCatalogContext(HCATADMIN,HCATINFO,DWORD);
- WINBOOL WINAPI CryptCATAdminReleaseContext(HCATADMIN,DWORD);
- WINBOOL WINAPI CryptCATAdminRemoveCatalog(HCATADMIN,LPCWSTR,DWORD);
- WINBOOL WINAPI CryptCATAdminResolveCatalogPath(HCATADMIN, WCHAR *, CATALOG_INFO *, DWORD);
- WINBOOL WINAPI CryptCATCatalogInfoFromContext(HCATINFO, CATALOG_INFO *, DWORD);
- WINBOOL WINAPI CryptCATCDFClose(CRYPTCATCDF *);
- CRYPTCATATTRIBUTE * WINAPI CryptCATCDFEnumCatAttributes(CRYPTCATCDF *, CRYPTCATATTRIBUTE *,
- PFN_CDF_PARSE_ERROR_CALLBACK);
- LPWSTR WINAPI CryptCATCDFEnumMembersByCDFTagEx(CRYPTCATCDF *, LPWSTR,
- PFN_CDF_PARSE_ERROR_CALLBACK,
- CRYPTCATMEMBER **, WINBOOL, LPVOID);
- CRYPTCATCDF * WINAPI CryptCATCDFOpen(LPWSTR, PFN_CDF_PARSE_ERROR_CALLBACK);
- WINBOOL WINAPI CryptCATClose(HANDLE);
- CRYPTCATATTRIBUTE * WINAPI CryptCATEnumerateAttr(HANDLE, CRYPTCATMEMBER *, CRYPTCATATTRIBUTE *);
- CRYPTCATATTRIBUTE * WINAPI CryptCATEnumerateCatAttr(HANDLE, CRYPTCATATTRIBUTE *);
- CRYPTCATMEMBER * WINAPI CryptCATEnumerateMember(HANDLE,CRYPTCATMEMBER *);
- CRYPTCATATTRIBUTE * WINAPI CryptCATGetAttrInfo(HANDLE, CRYPTCATMEMBER *, LPWSTR);
- CRYPTCATATTRIBUTE * WINAPI CryptCATGetCatAttrInfo(HANDLE, LPWSTR);
- CRYPTCATMEMBER * WINAPI CryptCATGetMemberInfo(HANDLE, LPWSTR);
- HANDLE WINAPI CryptCATOpen(LPWSTR,DWORD,HCRYPTPROV,DWORD,DWORD);
- WINBOOL WINAPI CryptCATPersistStore(HANDLE catalog);
- CRYPTCATATTRIBUTE * WINAPI CryptCATPutAttrInfo(HANDLE catalog, CRYPTCATMEMBER *member, WCHAR *name, DWORD flags, DWORD size, BYTE *data);
- CRYPTCATATTRIBUTE * WINAPI CryptCATPutCatAttrInfo(HANDLE catalog, WCHAR *name, DWORD flags, DWORD size, BYTE *data);
- CRYPTCATMEMBER * WINAPI CryptCATPutMemberInfo(HANDLE catalog, WCHAR *filename, WCHAR *member, GUID *subject, DWORD version, DWORD size, BYTE *data);
- #ifdef __cplusplus
- }
- #endif
- #endif
|