aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/section.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/burn/engine/section.h')
-rw-r--r--src/burn/engine/section.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/burn/engine/section.h b/src/burn/engine/section.h
new file mode 100644
index 00000000..6c62ba44
--- /dev/null
+++ b/src/burn/engine/section.h
@@ -0,0 +1,54 @@
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#if defined(__cplusplus)
6extern "C" {
7#endif
8
9
10// structs
11
12typedef struct _BURN_SECTION
13{
14 HANDLE hEngineFile;
15 HANDLE hSourceEngineFile;
16
17 DWORD cbStub;
18 DWORD cbEngineSize; // stub + UX container + original certficiate
19 DWORD64 qwBundleSize; // stub + UX container + original certificate [+ attached containers* + final certificate]
20
21 DWORD dwChecksumOffset;
22 DWORD dwCertificateTableOffset;
23 DWORD_PTR dwOriginalChecksumAndSignatureOffset;
24
25 DWORD dwOriginalChecksum;
26 DWORD dwOriginalSignatureOffset;
27 DWORD dwOriginalSignatureSize;
28
29 DWORD dwFormat;
30 DWORD cContainers;
31 DWORD* rgcbContainers;
32} BURN_SECTION;
33
34
35HRESULT SectionInitialize(
36 __in BURN_SECTION* pSection,
37 __in HANDLE hEngineFile,
38 __in HANDLE hSourceEngineFile
39 );
40void SectionUninitialize(
41 __in BURN_SECTION* pSection
42 );
43HRESULT SectionGetAttachedContainerInfo(
44 __in BURN_SECTION* pSection,
45 __in DWORD iContainerIndex,
46 __in DWORD dwExpectedType,
47 __out DWORD64* pqwOffset,
48 __out DWORD64* pqwSize,
49 __out BOOL* pfPresent
50 );
51
52#if defined(__cplusplus)
53}
54#endif