aboutsummaryrefslogtreecommitdiff
path: root/src/libs/dutil/WixToolset.DUtil/inc/apuputil.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/dutil/WixToolset.DUtil/inc/apuputil.h')
-rw-r--r--src/libs/dutil/WixToolset.DUtil/inc/apuputil.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/src/libs/dutil/WixToolset.DUtil/inc/apuputil.h b/src/libs/dutil/WixToolset.DUtil/inc/apuputil.h
new file mode 100644
index 00000000..f26a12b7
--- /dev/null
+++ b/src/libs/dutil/WixToolset.DUtil/inc/apuputil.h
@@ -0,0 +1,87 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4
5#ifdef __cplusplus
6extern "C" {
7#endif
8
9#define ReleaseApupChain(p) if (p) { ApupFreeChain(p); p = NULL; }
10#define ReleaseNullApupChain(p) if (p) { ApupFreeChain(p); p = NULL; }
11
12
13const LPCWSTR APPLICATION_SYNDICATION_NAMESPACE = L"http://appsyndication.org/2006/appsyn";
14
15typedef enum APUP_HASH_ALGORITHM
16{
17 APUP_HASH_ALGORITHM_UNKNOWN,
18 APUP_HASH_ALGORITHM_MD5,
19 APUP_HASH_ALGORITHM_SHA1,
20 APUP_HASH_ALGORITHM_SHA256,
21 APUP_HASH_ALGORITHM_SHA512,
22} APUP_HASH_ALGORITHM;
23
24
25struct APPLICATION_UPDATE_ENCLOSURE
26{
27 LPWSTR wzUrl;
28 LPWSTR wzLocalName;
29 DWORD64 dw64Size;
30
31 BYTE* rgbDigest;
32 DWORD cbDigest;
33 APUP_HASH_ALGORITHM digestAlgorithm;
34
35 BOOL fInstaller;
36};
37
38
39struct APPLICATION_UPDATE_ENTRY
40{
41 LPWSTR wzApplicationId;
42 LPWSTR wzApplicationType;
43 LPWSTR wzTitle;
44 LPWSTR wzSummary;
45 LPWSTR wzContentType;
46 LPWSTR wzContent;
47
48 LPWSTR wzUpgradeId;
49 BOOL fUpgradeExclusive;
50 VERUTIL_VERSION* pVersion;
51 VERUTIL_VERSION* pUpgradeVersion;
52
53 DWORD64 dw64TotalSize;
54
55 DWORD cEnclosures;
56 APPLICATION_UPDATE_ENCLOSURE* rgEnclosures;
57};
58
59
60struct APPLICATION_UPDATE_CHAIN
61{
62 LPWSTR wzDefaultApplicationId;
63 LPWSTR wzDefaultApplicationType;
64
65 DWORD cEntries;
66 APPLICATION_UPDATE_ENTRY* rgEntries;
67};
68
69
70HRESULT DAPI ApupAllocChainFromAtom(
71 __in ATOM_FEED* pFeed,
72 __out APPLICATION_UPDATE_CHAIN** ppChain
73 );
74
75HRESULT DAPI ApupFilterChain(
76 __in APPLICATION_UPDATE_CHAIN* pChain,
77 __in VERUTIL_VERSION* pVersion,
78 __out APPLICATION_UPDATE_CHAIN** ppFilteredChain
79 );
80
81void DAPI ApupFreeChain(
82 __in APPLICATION_UPDATE_CHAIN* pChain
83 );
84
85#ifdef __cplusplus
86}
87#endif