source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/certbcli.h@ 1180

Last change on this file since 1180 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 8.3 KB
Line 
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#ifdef _CERTBCLI_TYPECHECK
7#undef __CERTBCLI_H__
8#endif
9
10#ifndef __CERTBCLI_H__
11#define __CERTBCLI_H__
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#ifndef _NO_W32_PSEUDO_MODIFIERS
18#ifndef IN
19#define IN
20#endif
21#ifndef OUT
22#define OUT
23#endif
24#ifndef OPTIONAL
25#define OPTIONAL
26#endif
27#endif
28
29#ifndef RPC_STRING
30#define RPC_STRING
31#endif
32#ifndef VOID
33#define VOID void
34#endif
35
36#define CERTBCLI_CALL WINAPI
37#define CERTBCLI_API __declspec(dllimport) WINAPI
38
39#define szBACKUPANNOTATION "Cert Server Backup Interface"
40#define wszBACKUPANNOTATION TEXT(szBACKUPANNOTATION)
41
42#define szRESTOREANNOTATION "Cert Server Restore Interface"
43#define wszRESTOREANNOTATION TEXT(szRESTOREANNOTATION)
44
45#define CSBACKUP_TYPE_FULL 0x00000001
46#define CSBACKUP_TYPE_LOGS_ONLY 0x00000002
47
48#define CSBACKUP_TYPE_MASK 0x00000003
49
50#define CSRESTORE_TYPE_FULL 0x00000001
51#define CSRESTORE_TYPE_ONLINE 0x00000002
52#define CSRESTORE_TYPE_CATCHUP 0x00000004
53#define CSRESTORE_TYPE_MASK 0x00000005
54
55#define CSBACKUP_DISABLE_INCREMENTAL 0xffffffff
56
57 typedef WCHAR CSBFT;
58
59#define CSBFT_DIRECTORY 0x80
60#define CSBFT_DATABASE_DIRECTORY 0x40
61#define CSBFT_LOG_DIRECTORY 0x20
62
63#define CSBFT_LOG ((CSBFT) (TEXT('\x01') | CSBFT_LOG_DIRECTORY))
64#define CSBFT_LOG_DIR ((CSBFT) (TEXT('\x02') | CSBFT_DIRECTORY))
65#define CSBFT_CHECKPOINT_DIR ((CSBFT) (TEXT('\x03') | CSBFT_DIRECTORY))
66#define CSBFT_CERTSERVER_DATABASE ((CSBFT) (TEXT('\x04') | CSBFT_DATABASE_DIRECTORY))
67#define CSBFT_PATCH_FILE ((CSBFT) (TEXT('\x05') | CSBFT_LOG_DIRECTORY))
68#define CSBFT_UNKNOWN ((CSBFT) (TEXT('\x0f')))
69
70 typedef void *HCSBC;
71
72#ifndef CSEDB_RSTMAP
73 typedef struct tagCSEDB_RSTMAPW {
74 WCHAR *pwszDatabaseName;
75 WCHAR *pwszNewDatabaseName;
76 } CSEDB_RSTMAPW;
77
78#define CSEDB_RSTMAP CSEDB_RSTMAPW
79#endif
80
81#define CertSrvIsServerOnline CertSrvIsServerOnlineW
82#define CertSrvBackupGetDynamicFileList CertSrvBackupGetDynamicFileListW
83#define CertSrvBackupPrepare CertSrvBackupPrepareW
84#define CertSrvBackupGetDatabaseNames CertSrvBackupGetDatabaseNamesW
85#define CertSrvBackupOpenFile CertSrvBackupOpenFileW
86#define CertSrvBackupGetBackupLogs CertSrvBackupGetBackupLogsW
87
88#define CertSrvRestoreGetDatabaseLocations CertSrvRestoreGetDatabaseLocationsW
89#define CertSrvRestorePrepare CertSrvRestorePrepareW
90#define CertSrvRestoreRegister CertSrvRestoreRegisterW
91
92#define CertSrvServerControl CertSrvServerControlW
93
94 typedef HRESULT (WINAPI FNCERTSRVISSERVERONLINEW)(WCHAR const *pwszServerName,WINBOOL *pfServerOnline);
95
96 HRESULT CERTBCLI_API CertSrvIsServerOnlineW(WCHAR const *pwszServerName,WINBOOL *pfServerOnline);
97
98#ifdef _CERTBCLI_TYPECHECK
99 FNCERTSRVISSERVERONLINEW *pfnCertSrvIsServerOnline = CertSrvIsServerOnline;
100#endif
101
102 typedef HRESULT (WINAPI FNCERTSRVBACKUPGETDYNAMICFILELISTW)(HCSBC hbc,WCHAR **ppwszzFileList,DWORD *pcbSize);
103
104 HRESULT CERTBCLI_API CertSrvBackupGetDynamicFileListW(HCSBC hbc,WCHAR **ppwszzFileList,DWORD *pcbSize);
105
106#ifdef _CERTBCLI_TYPECHECK
107 FNCERTSRVBACKUPGETDYNAMICFILELISTW *pfnCertSrvBackupGetDynamicFileList = CertSrvBackupGetDynamicFileList;
108#endif
109
110 typedef HRESULT (WINAPI FNCERTSRVBACKUPPREPAREW)(WCHAR const *pwszServerName,ULONG grbitJet,ULONG dwBackupFlags,HCSBC *phbc);
111
112 HRESULT CERTBCLI_API CertSrvBackupPrepareW(WCHAR const *pwszServerName,ULONG grbitJet,ULONG dwBackupFlags,HCSBC *phbc);
113
114#ifdef _CERTBCLI_TYPECHECK
115 FNCERTSRVBACKUPPREPAREW *pfnCertSrvBackupPrepare = CertSrvBackupPrepare;
116#endif
117
118 typedef HRESULT (WINAPI FNCERTSRVBACKUPGETDATABASENAMESW)(HCSBC hbc,WCHAR **ppwszzAttachmentInformation,DWORD *pcbSize);
119
120 HRESULT CERTBCLI_API CertSrvBackupGetDatabaseNamesW(HCSBC hbc,WCHAR **ppwszzAttachmentInformation,DWORD *pcbSize);
121
122#ifdef _CERTBCLI_TYPECHECK
123 FNCERTSRVBACKUPGETDATABASENAMESW *pfnCertSrvBackupGetDatabaseNames = CertSrvBackupGetDatabaseNames;
124#endif
125
126 typedef HRESULT (WINAPI FNCERTSRVBACKUPOPENFILEW)(HCSBC hbc,WCHAR const *pwszAttachmentName,DWORD cbReadHintSize,LARGE_INTEGER *pliFileSize);
127
128 HRESULT CERTBCLI_API CertSrvBackupOpenFileW(HCSBC hbc,WCHAR const *pwszAttachmentName,DWORD cbReadHintSize,LARGE_INTEGER *pliFileSize);
129
130#ifdef _CERTBCLI_TYPECHECK
131 FNCERTSRVBACKUPOPENFILEW *pfnCertSrvBackupOpenFile = CertSrvBackupOpenFile;
132#endif
133
134 typedef HRESULT (WINAPI FNCERTSRVBACKUPREAD)(HCSBC hbc,VOID *pvBuffer,DWORD cbBuffer,DWORD *pcbRead);
135
136 HRESULT CERTBCLI_API CertSrvBackupRead(HCSBC hbc,VOID *pvBuffer,DWORD cbBuffer,DWORD *pcbRead);
137
138#ifdef _CERTBCLI_TYPECHECK
139 FNCERTSRVBACKUPREAD *pfnCertSrvBackupRead = CertSrvBackupRead;
140#endif
141
142 typedef HRESULT (WINAPI FNCERTSRVBACKUPCLOSE)(HCSBC hbc);
143
144 HRESULT CERTBCLI_API CertSrvBackupClose(HCSBC hbc);
145
146#ifdef _CERTBCLI_TYPECHECK
147 FNCERTSRVBACKUPCLOSE *pfnCertSrvBackupClose = CertSrvBackupClose;
148#endif
149
150 typedef HRESULT (WINAPI FNCERTSRVBACKUPGETBACKUPLOGSW)(HCSBC hbc,WCHAR **ppwszzBackupLogFiles,DWORD *pcbSize);
151
152 HRESULT CERTBCLI_API CertSrvBackupGetBackupLogsW(HCSBC hbc,WCHAR **ppwszzBackupLogFiles,DWORD *pcbSize);
153
154#ifdef _CERTBCLI_TYPECHECK
155 FNCERTSRVBACKUPGETBACKUPLOGSW *pfnCertSrvBackupGetBackupLogs = CertSrvBackupGetBackupLogs;
156#endif
157
158 typedef HRESULT (WINAPI FNCERTSRVBACKUPTRUNCATELOGS)(HCSBC hbc);
159
160 HRESULT CERTBCLI_API CertSrvBackupTruncateLogs(HCSBC hbc);
161
162#ifdef _CERTBCLI_TYPECHECK
163 FNCERTSRVBACKUPTRUNCATELOGS *pfnCertSrvBackupTruncateLogs = CertSrvBackupTruncateLogs;
164#endif
165
166 typedef HRESULT (WINAPI FNCERTSRVBACKUPEND)(HCSBC hbc);
167
168 HRESULT CERTBCLI_API CertSrvBackupEnd(HCSBC hbc);
169
170#ifdef _CERTBCLI_TYPECHECK
171 FNCERTSRVBACKUPEND *pfnCertSrvBackupEnd = CertSrvBackupEnd;
172#endif
173
174 typedef VOID (WINAPI FNCERTSRVBACKUPFREE)(VOID *pv);
175
176 VOID CERTBCLI_API CertSrvBackupFree(VOID *pv);
177
178#ifdef _CERTBCLI_TYPECHECK
179 FNCERTSRVBACKUPFREE *pfnCertSrvBackupFree = CertSrvBackupFree;
180#endif
181
182 typedef HRESULT (WINAPI FNCERTSRVRESTOREGETDATABASELOCATIONSW)(HCSBC hbc,WCHAR **ppwszzDatabaseLocationList,DWORD *pcbSize);
183
184 HRESULT CERTBCLI_API CertSrvRestoreGetDatabaseLocationsW(HCSBC hbc,WCHAR **ppwszzDatabaseLocationList,DWORD *pcbSize);
185
186#ifdef _CERTBCLI_TYPECHECK
187 FNCERTSRVRESTOREGETDATABASELOCATIONSW *pfnCertSrvRestoreGetDatabaseLocations = CertSrvRestoreGetDatabaseLocations;
188#endif
189
190 typedef HRESULT (WINAPI FNCERTSRVRESTOREPREPAREW)(WCHAR const *pwszServerName,ULONG dwRestoreFlags,HCSBC *phbc);
191
192 HRESULT CERTBCLI_API CertSrvRestorePrepareW(WCHAR const *pwszServerName,ULONG dwRestoreFlags,HCSBC *phbc);
193
194#ifdef _CERTBCLI_TYPECHECK
195 FNCERTSRVRESTOREPREPAREW *pfnCertSrvRestorePrepare = CertSrvRestorePrepare;
196#endif
197
198 typedef HRESULT (WINAPI FNCERTSRVRESTOREREGISTERW)(HCSBC hbc,WCHAR const *pwszCheckPointFilePath,WCHAR const *pwszLogPath,CSEDB_RSTMAPW rgrstmap[],LONG crstmap,WCHAR const *pwszBackupLogPath,ULONG genLow,ULONG genHigh);
199
200 HRESULT CERTBCLI_API CertSrvRestoreRegisterW(HCSBC hbc,WCHAR const *pwszCheckPointFilePath,WCHAR const *pwszLogPath,CSEDB_RSTMAPW rgrstmap[],LONG crstmap,WCHAR const *pwszBackupLogPath,ULONG genLow,ULONG genHigh);
201 HRESULT CERTBCLI_API CertSrvRestoreRegisterThroughFile(HCSBC hbc,WCHAR const *pwszCheckPointFilePath,WCHAR const *pwszLogPath,CSEDB_RSTMAPW rgrstmap[],LONG crstmap,WCHAR const *pwszBackupLogPath,ULONG genLow,ULONG genHigh);
202
203#ifdef _CERTBCLI_TYPECHECK
204 FNCERTSRVRESTOREREGISTERW *pfnCertSrvRestoreRegister = CertSrvRestoreRegister;
205#endif
206
207 typedef HRESULT (WINAPI FNCERTSRVRESTOREREGISTERCOMPLETE)(HCSBC hbc,HRESULT hrRestoreState);
208
209 HRESULT CERTBCLI_API CertSrvRestoreRegisterComplete(HCSBC hbc,HRESULT hrRestoreState);
210
211#ifdef _CERTBCLI_TYPECHECK
212 FNCERTSRVRESTOREREGISTERCOMPLETE *pfnCertSrvRestoreRegisterComplete = CertSrvRestoreRegisterComplete;
213#endif
214
215 typedef HRESULT (WINAPI FNCERTSRVRESTOREEND)(HCSBC hbc);
216
217 HRESULT CERTBCLI_API CertSrvRestoreEnd(HCSBC hbc);
218
219#ifdef _CERTBCLI_TYPECHECK
220 FNCERTSRVRESTOREEND *pfnCertSrvRestoreEnd = CertSrvRestoreEnd;
221#endif
222
223#define CSCONTROL_SHUTDOWN 0x000000001
224#define CSCONTROL_SUSPEND 0x000000002
225#define CSCONTROL_RESTART 0x000000003
226
227 typedef HRESULT (WINAPI FNCERTSRVSERVERCONTROLW)(WCHAR const *pwszServerName,DWORD dwControlFlags,DWORD *pcbOut,BYTE **ppbOut);
228
229 HRESULT CERTBCLI_API CertSrvServerControlW(WCHAR const *pwszServerName,DWORD dwControlFlags,DWORD *pcbOut,BYTE **ppbOut);
230
231#ifdef _CERTBCLI_TYPECHECK
232 FNCERTSRVSERVERCONTROLW *pfnCertSrvServerControl = CertSrvServerControl;
233#endif
234
235#ifdef __cplusplus
236}
237#endif
238#endif
Note: See TracBrowser for help on using the repository browser.