master
 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#if !defined(_SRRESTOREPTAPI_H)
 7#define _SRRESTOREPTAPI_H
 8
 9#include <_mingw_unicode.h>
10
11#define MIN_EVENT 100
12#define BEGIN_SYSTEM_CHANGE 100
13#define END_SYSTEM_CHANGE 101
14#define BEGIN_NESTED_SYSTEM_CHANGE 102
15#define END_NESTED_SYSTEM_CHANGE 103
16#define MAX_EVENT 103
17
18#define MIN_RPT 0
19#define APPLICATION_INSTALL 0
20#define APPLICATION_UNINSTALL 1
21#define DESKTOP_SETTING 2
22#define ACCESSIBILITY_SETTING 3
23#define OE_SETTING 4
24#define APPLICATION_RUN 5
25#define RESTORE 6
26#define CHECKPOINT 7
27#define WINDOWS_SHUTDOWN 8
28#define WINDOWS_BOOT 9
29#define DEVICE_DRIVER_INSTALL 10
30#define FIRSTRUN 11
31#define MODIFY_SETTINGS 12
32#define CANCELLED_OPERATION 13
33#define BACKUP_RECOVERY 14
34#define MAX_RPT 14
35
36#define MAX_DESC 64
37#define MAX_DESC_W 256
38
39#pragma pack(push,srrestoreptapi_include)
40#pragma pack(1)
41
42typedef struct _RESTOREPTINFOA {
43  DWORD dwEventType;
44  DWORD dwRestorePtType;
45  INT64 llSequenceNumber;
46  CHAR szDescription[MAX_DESC];
47} RESTOREPOINTINFOA,*PRESTOREPOINTINFOA;
48
49typedef struct _RESTOREPTINFOW {
50  DWORD dwEventType;
51  DWORD dwRestorePtType;
52  INT64 llSequenceNumber;
53  WCHAR szDescription[MAX_DESC_W];
54} RESTOREPOINTINFOW,*PRESTOREPOINTINFOW;
55
56typedef struct _SMGRSTATUS {
57  DWORD nStatus;
58  INT64 llSequenceNumber;
59} STATEMGRSTATUS,*PSTATEMGRSTATUS;
60
61#pragma pack(pop,srrestoreptapi_include)
62
63#ifdef __cplusplus
64extern "C" {
65#endif
66
67  WINBOOL __stdcall SRSetRestorePointA(PRESTOREPOINTINFOA pRestorePtSpec,PSTATEMGRSTATUS pSMgrStatus);
68  WINBOOL __stdcall SRSetRestorePointW(PRESTOREPOINTINFOW pRestorePtSpec,PSTATEMGRSTATUS pSMgrStatus);
69  DWORD __stdcall SRRemoveRestorePoint(DWORD dwRPNum);
70
71#ifdef __cplusplus
72}
73#endif
74
75#define RESTOREPOINTINFO __MINGW_NAME_AW(RESTOREPOINTINFO)
76#define PRESTOREPOINTINFO __MINGW_NAME_AW(PRESTOREPOINTINFO)
77#define SRSetRestorePoint __MINGW_NAME_AW(SRSetRestorePoint)
78
79#endif