OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
MkextInternal.h
Go to the documentation of this file.
1
16#ifndef MKEXT_INTERNAL_H
17#define MKEXT_INTERNAL_H
18
20
21//
22// Cached mkext kext.
23//
24typedef struct {
25 //
26 // Signature.
27 //
28 UINT32 Signature;
29 //
30 // Link for global list (MKEXT_CONTEXT -> CachedKexts).
31 //
32 LIST_ENTRY Link;
33 //
34 // Kext bundle identifier.
35 //
36 CHAR8 *Identifier;
37 //
38 // Offset of binary in mkext.
39 //
41 //
42 // Size of binary in mkext.
43 //
44 UINT32 BinarySize;
46
47//
48// MKEXT_KEXT signature for list identification.
49//
50#define MKEXT_KEXT_SIGNATURE SIGNATURE_32 ('M', 'k', 'x', 'T')
51
57#define GET_MKEXT_KEXT_FROM_LINK(This) \
58 (CR ( \
59 (This), \
60 MKEXT_KEXT, \
61 Link, \
62 MKEXT_KEXT_SIGNATURE \
63 ))
64
65VOID
67 IN OUT MKEXT_CONTEXT *Context,
68 IN CONST CHAR8 *Identifier
69 );
70
71EFI_STATUS
73 IN OUT MKEXT_CONTEXT *Context,
74 IN CONST CHAR8 *Identifier,
75 OUT UINT32 *KextIndex,
76 OUT UINT32 *KextPlistOffset,
77 OUT UINT32 *KextPlistSize,
78 OUT UINT32 *KextBinOffset,
79 OUT UINT32 *KextBinSize
80 );
81
84 IN OUT MKEXT_CONTEXT *Context,
85 IN CONST CHAR8 *BundleId
86 );
87
88BOOLEAN
90 IN OUT UINT8 **Buffer,
91 IN OUT UINT32 *BufferSize,
92 IN BOOLEAN Is32Bit
93 );
94
95#endif // MKEXT_INTERNAL_H
VOID InternalDropCachedMkextKext(IN OUT MKEXT_CONTEXT *Context, IN CONST CHAR8 *Identifier)
MKEXT_KEXT * InternalCachedMkextKext(IN OUT MKEXT_CONTEXT *Context, IN CONST CHAR8 *BundleId)
EFI_STATUS InternalGetMkextV1KextOffsets(IN OUT MKEXT_CONTEXT *Context, IN CONST CHAR8 *Identifier, OUT UINT32 *KextIndex, OUT UINT32 *KextPlistOffset, OUT UINT32 *KextPlistSize, OUT UINT32 *KextBinOffset, OUT UINT32 *KextBinSize)
BOOLEAN InternalParseKextBinary(IN OUT UINT8 **Buffer, IN OUT UINT32 *BufferSize, IN BOOLEAN Is32Bit)
OC_TYPING_BUFFER_ENTRY Buffer[OC_TYPING_BUFFER_SIZE]
Definition OcTypingLib.h:42
CHAR8 * Identifier
UINT32 Signature
UINT32 BinarySize
UINT32 BinaryOffset
LIST_ENTRY Link