2 * Copyright (C) 2004 Francois Gouget
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __WINE_MSCAT_H
20 #define __WINE_MSCAT_H
24 typedef HANDLE HCATADMIN
;
25 typedef HANDLE HCATINFO
;
31 #define CRYPTCAT_OPEN_CREATENEW 0x00000001
32 #define CRYPTCAT_OPEN_ALWAYS 0x00000002
33 #define CRYPTCAT_OPEN_EXISTING 0x00000004
34 #define CRYPTCAT_OPEN_EXCLUDE_PAGE_HASHES 0x00010000
35 #define CRYPTCAT_OPEN_INCLUDE_PAGE_HASHES 0x00020000
36 #define CRYPTCAT_OPEN_VERIFYSIGHASH 0x10000000
37 #define CRYPTCAT_OPEN_NO_CONTENT_HCRYPTMSG 0x20000000
38 #define CRYPTCAT_OPEN_SORTED 0x40000000
39 #define CRYPTCAT_OPEN_FLAGS_MASK 0xffff0000
43 typedef struct CRYPTCATATTRIBUTE_
46 LPWSTR pwszReferenceTag
;
47 DWORD dwAttrTypeAndAction
;
53 typedef struct CRYPTCATMEMBER_
56 LPWSTR pwszReferenceTag
;
60 struct SIP_INDIRECT_DATA_
* pIndirectData
;
64 CRYPT_ATTR_BLOB sEncodedIndirectData
;
65 CRYPT_ATTR_BLOB sEncodedMemberInfo
;
68 typedef struct CATALOG_INFO_
71 WCHAR wszCatalogFile
[MAX_PATH
];
77 BOOL WINAPI
CryptCATAdminAcquireContext(HCATADMIN
*,const GUID
*,DWORD
);
78 HCATINFO WINAPI
CryptCATAdminAddCatalog(HCATADMIN
,PWSTR
,PWSTR
,DWORD
);
79 BOOL WINAPI
CryptCATAdminCalcHashFromFileHandle(HANDLE
,DWORD
*,BYTE
*,DWORD
);
80 HCATINFO WINAPI
CryptCATAdminEnumCatalogFromHash(HCATADMIN
,BYTE
*,DWORD
,DWORD
,HCATINFO
*);
81 BOOL WINAPI
CryptCATAdminReleaseCatalogContext(HCATADMIN
,HCATINFO
,DWORD
);
82 BOOL WINAPI
CryptCATAdminReleaseContext(HCATADMIN
,DWORD
);
83 BOOL WINAPI
CryptCATAdminRemoveCatalog(HCATADMIN
,LPCWSTR
,DWORD
);
84 BOOL WINAPI
CryptCATAdminResolveCatalogPath(HCATADMIN
, WCHAR
*, CATALOG_INFO
*, DWORD
);
85 BOOL WINAPI
CryptCATCatalogInfoFromContext(HCATINFO
, CATALOG_INFO
*, DWORD
);
86 BOOL WINAPI
CryptCATClose(HANDLE
);
87 CRYPTCATATTRIBUTE
* WINAPI
CryptCATEnumerateAttr(HANDLE
, CRYPTCATMEMBER
*, CRYPTCATATTRIBUTE
*);
88 CRYPTCATATTRIBUTE
* WINAPI
CryptCATEnumerateCatAttr(HANDLE
, CRYPTCATATTRIBUTE
*);
89 CRYPTCATMEMBER
* WINAPI
CryptCATEnumerateMember(HANDLE
,CRYPTCATMEMBER
*);
90 CRYPTCATATTRIBUTE
* WINAPI
CryptCATGetAttrInfo(HANDLE
, CRYPTCATMEMBER
*, LPWSTR
);
91 CRYPTCATATTRIBUTE
* WINAPI
CryptCATGetCatAttrInfo(HANDLE
, LPWSTR
);
92 CRYPTCATMEMBER
* WINAPI
CryptCATGetMemberInfo(HANDLE
, LPWSTR
);
93 HANDLE WINAPI
CryptCATOpen(LPWSTR
,DWORD
,HCRYPTPROV
,DWORD
,DWORD
);