OUT CHAR16 *Destination,
IN CONST CHAR16 *Source
);
+
+
/**
Copies one Null-terminated Unicode string with a maximum length to another
Null-terminated Unicode string with a maximum length and returns the new
IN CONST CHAR16 *Source,
IN UINTN Length
);
+
+
/**
Returns the length of a Null-terminated Unicode string.
StrLen (
IN CONST CHAR16 *String
);
+
+
/**
Returns the size of a Null-terminated Unicode string in bytes, including the
Null terminator.
StrSize (
IN CONST CHAR16 *String
);
+
+
/**
Compares two Null-terminated Unicode strings, and returns the difference
between the first mismatched Unicode characters.
IN CONST CHAR16 *FirstString,
IN CONST CHAR16 *SecondString
);
+
+
/**
Compares two Null-terminated Unicode strings with maximum lengths, and
returns the difference between the first mismatched Unicode characters.
IN CONST CHAR16 *SecondString,
IN UINTN Length
);
+
+
/**
Concatenates one Null-terminated Unicode string to another Null-terminated
Unicode string, and returns the concatenated Unicode string.
IN OUT CHAR16 *Destination,
IN CONST CHAR16 *Source
);
+
+
/**
Concatenates one Null-terminated Unicode string with a maximum length to the
end of another Null-terminated Unicode string, and returns the concatenated
StrDecimalToUint64 (
IN CONST CHAR16 *String
);
+
/**
Convert a Null-terminated Unicode hexadecimal string to a value of type UINTN.
IN CONST CHAR16 *String
);
+
/**
Convert a Null-terminated Unicode hexadecimal string to a value of type UINT64.
IN CONST CHAR16 *String
);
+
/**
Convert one Null-terminated Unicode string to a Null-terminated
ASCII string and returns the ASCII string.
OUT CHAR8 *Destination
);
+
/**
Copies one Null-terminated ASCII string to another Null-terminated ASCII
string and returns the new ASCII string.
OUT CHAR8 *Destination,
IN CONST CHAR8 *Source
);
+
+
/**
Copies one Null-terminated ASCII string with a maximum length to another
Null-terminated ASCII string with a maximum length and returns the new ASCII
IN CONST CHAR8 *Source,
IN UINTN Length
);
+
+
/**
Returns the length of a Null-terminated ASCII string.
AsciiStrLen (
IN CONST CHAR8 *String
);
+
+
/**
Returns the size of a Null-terminated ASCII string in bytes, including the
Null terminator.
AsciiStrSize (
IN CONST CHAR8 *String
);
+
+
/**
Compares two Null-terminated ASCII strings, and returns the difference
between the first mismatched ASCII characters.
IN CONST CHAR8 *FirstString,
IN CONST CHAR8 *SecondString
);
+
+
/**
Performs a case insensitive comparison of two Null-terminated ASCII strings,
and returns the difference between the first mismatched ASCII characters.
IN CONST CHAR8 *FirstString,
IN CONST CHAR8 *SecondString
);
+
+
/**
Compares two Null-terminated ASCII strings with maximum lengths, and returns
the difference between the first mismatched ASCII characters.
IN CONST CHAR8 *SecondString,
IN UINTN Length
);
+
+
/**
Concatenates one Null-terminated ASCII string to another Null-terminated
ASCII string, and returns the concatenated ASCII string.
IN OUT CHAR8 *Destination,
IN CONST CHAR8 *Source
);
+
+
/**
Concatenates one Null-terminated ASCII string with a maximum length to the
end of another Null-terminated ASCII string, and returns the concatenated
IN UINTN Length
);
+
/**
Returns the first occurance of a Null-terminated ASCII sub-string
in a Null-terminated ASCII string.
IN CONST CHAR8 *SearchString
);
+
/**
Convert a Null-terminated ASCII decimal string to a value of type
UINTN.
IN CONST CHAR8 *String
);
+
/**
Convert a Null-terminated ASCII decimal string to a value of type
UINT64.
IN CONST CHAR8 *String
);
+
/**
Convert a Null-terminated ASCII hexadecimal string to a value of type UINTN.
IN CONST CHAR8 *String
);
+
/**
Convert a Null-terminated ASCII hexadecimal string to a value of type UINT64.
IN CONST CHAR8 *String
);
+
/**
Convert one Null-terminated ASCII string to a Null-terminated
Unicode string and returns the Unicode string.
OUT CHAR16 *Destination
);
+
/**
Converts an 8-bit value to an 8-bit BCD value.
IN UINT8 Value
);
+
/**
Converts an 8-bit BCD value to an 8-bit value.
**/
#define INITIALIZE_LIST_HEAD_VARIABLE(ListHead) {&ListHead, &ListHead}
+
/**
Initializes the head node of a doubly linked list, and returns the pointer to
the head node of the doubly linked list.
IN LIST_ENTRY *ListHead
);
+
/**
Adds a node to the beginning of a doubly linked list, and returns the pointer
to the head node of the doubly linked list.
IN LIST_ENTRY *Entry
);
+
/**
Adds a node to the end of a doubly linked list, and returns the pointer to
the head node of the doubly linked list.
IN LIST_ENTRY *Entry
);
+
/**
Retrieves the first node of a doubly linked list.
IN CONST LIST_ENTRY *List
);
+
/**
Retrieves the next node of a doubly linked list.
IN CONST LIST_ENTRY *Node
);
+
/**
Checks to see if a doubly linked list is empty or not.
IN CONST LIST_ENTRY *ListHead
);
+
/**
Determines if a node in a doubly linked list is null.
IN CONST LIST_ENTRY *Node
);
+
/**
Determines if a node the last node in a doubly linked list.
IN CONST LIST_ENTRY *Node
);
+
/**
Swaps the location of two nodes in a doubly linked list, and returns the
first node after the swap.
IN LIST_ENTRY *SecondEntry
);
+
/**
Removes a node from a doubly linked list, and returns the node that follows
the removed node.
IN UINTN Count
);
+
/**
Shifts a 64-bit integer right between 0 and 63 bits. This high bits are
filled with zeros. The shifted value is returned.
IN UINTN Count
);
+
/**
Shifts a 64-bit integer right between 0 and 63 bits. The high bits are filled
with original integer's bit 63. The shifted value is returned.
IN UINTN Count
);
+
/**
Rotates a 32-bit integer left between 0 and 31 bits, filling the low bits
with the high bits that were rotated.
IN UINTN Count
);
+
/**
Rotates a 32-bit integer right between 0 and 31 bits, filling the high bits
with the low bits that were rotated.
IN UINTN Count
);
+
/**
Rotates a 64-bit integer left between 0 and 63 bits, filling the low bits
with the high bits that were rotated.
IN UINTN Count
);
+
/**
Rotates a 64-bit integer right between 0 and 63 bits, filling the high bits
with the high low bits that were rotated.
IN UINTN Count
);
+
/**
Returns the bit position of the lowest bit set in a 32-bit value.
IN UINT32 Operand
);
+
/**
Returns the bit position of the lowest bit set in a 64-bit value.
IN UINT64 Operand
);
+
/**
Returns the bit position of the highest bit set in a 32-bit value. Equivalent
to log2(x).
IN UINT32 Operand
);
+
/**
Returns the bit position of the highest bit set in a 64-bit value. Equivalent
to log2(x).
IN UINT64 Operand
);
+
/**
Returns the value of the highest bit set in a 32-bit value. Equivalent to
1 << HighBitSet32(x).
IN UINT32 Operand
);
+
/**
Returns the value of the highest bit set in a 64-bit value. Equivalent to
1 << HighBitSet64(x).
IN UINT64 Operand
);
+
/**
Switches the endianess of a 16-bit integer.
IN UINT16 Value
);
+
/**
Switches the endianess of a 32-bit integer.
IN UINT32 Value
);
+
/**
Switches the endianess of a 64-bit integer.
IN UINT64 Value
);
+
/**
Multiples a 64-bit unsigned integer by a 32-bit unsigned integer and
generates a 64-bit unsigned result.
IN UINT32 Multiplier
);
+
/**
Multiples a 64-bit unsigned integer by a 64-bit unsigned integer and
generates a 64-bit unsigned result.
IN UINT64 Multiplier
);
+
/**
Multiples a 64-bit signed integer by a 64-bit signed integer and generates a
64-bit signed result.
IN INT64 Multiplier
);
+
/**
Divides a 64-bit unsigned integer by a 32-bit unsigned integer and generates
a 64-bit unsigned result.
IN UINT32 Divisor
);
+
/**
Divides a 64-bit unsigned integer by a 32-bit unsigned integer and generates
a 32-bit unsigned remainder.
IN UINT32 Divisor
);
+
/**
Divides a 64-bit unsigned integer by a 32-bit unsigned integer and generates
a 64-bit unsigned result and an optional 32-bit unsigned remainder.
OUT UINT32 *Remainder OPTIONAL
);
+
/**
Divides a 64-bit unsigned integer by a 64-bit unsigned integer and generates
a 64-bit unsigned result and an optional 64-bit unsigned remainder.
OUT UINT64 *Remainder OPTIONAL
);
+
/**
Divides a 64-bit signed integer by a 64-bit signed integer and generates a
64-bit signed result and a optional 64-bit signed remainder.
OUT INT64 *Remainder OPTIONAL
);
+
/**
Reads a 16-bit value from memory that may be unaligned.
IN CONST UINT16 *Uint16
);
+
/**
Writes a 16-bit value to memory that may be unaligned.
IN UINT16 Value
);
+
/**
Reads a 24-bit value from memory that may be unaligned.
IN CONST UINT32 *Buffer
);
+
/**
Writes a 24-bit value to memory that may be unaligned.
IN UINT32 Value
);
+
/**
Reads a 32-bit value from memory that may be unaligned.
IN CONST UINT32 *Uint32
);
+
/**
Writes a 32-bit value to memory that may be unaligned.
IN UINT32 Value
);
+
/**
Reads a 64-bit value from memory that may be unaligned.
IN CONST UINT64 *Uint64
);
+
/**
Writes a 64-bit value to memory that may be unaligned.
IN UINT64 Value
);
+
//
// Bit Field Functions
//
IN UINTN EndBit
);
+
/**
Writes a bit field to an 8-bit value, and returns the result.
IN UINT8 Value
);
+
/**
Reads a bit field from an 8-bit value, performs a bitwise OR, and returns the
result.
IN UINT8 OrData
);
+
/**
Reads a bit field from an 8-bit value, performs a bitwise AND, and returns
the result.
IN UINT8 AndData
);
+
/**
Reads a bit field from an 8-bit value, performs a bitwise AND followed by a
bitwise OR, and returns the result.
IN UINT8 OrData
);
+
/**
Returns a bit field from a 16-bit value.
IN UINTN EndBit
);
+
/**
Writes a bit field to a 16-bit value, and returns the result.
IN UINT16 Value
);
+
/**
Reads a bit field from a 16-bit value, performs a bitwise OR, and returns the
result.
IN UINT16 OrData
);
+
/**
Reads a bit field from a 16-bit value, performs a bitwise AND, and returns
the result.
IN UINT16 AndData
);
+
/**
Reads a bit field from a 16-bit value, performs a bitwise AND followed by a
bitwise OR, and returns the result.
IN UINT16 OrData
);
+
/**
Returns a bit field from a 32-bit value.
IN UINTN EndBit
);
+
/**
Writes a bit field to a 32-bit value, and returns the result.
IN UINT32 Value
);
+
/**
Reads a bit field from a 32-bit value, performs a bitwise OR, and returns the
result.
IN UINT32 OrData
);
+
/**
Reads a bit field from a 32-bit value, performs a bitwise AND, and returns
the result.
IN UINT32 AndData
);
+
/**
Reads a bit field from a 32-bit value, performs a bitwise AND followed by a
bitwise OR, and returns the result.
IN UINT32 OrData
);
+
/**
Returns a bit field from a 64-bit value.
IN UINTN EndBit
);
+
/**
Writes a bit field to a 64-bit value, and returns the result.
IN UINT64 Value
);
+
/**
Reads a bit field from a 64-bit value, performs a bitwise OR, and returns the
result.
IN UINT64 OrData
);
+
/**
Reads a bit field from a 64-bit value, performs a bitwise AND, and returns
the result.
IN UINT64 AndData
);
+
/**
Reads a bit field from a 64-bit value, performs a bitwise AND followed by a
bitwise OR, and returns the result.
IN UINT64 OrData
);
+
//
// Base Library Synchronization Functions
//
VOID
);
+
/**
Initializes a spin lock to the released state and returns the spin lock.
IN SPIN_LOCK *SpinLock
);
+
/**
Waits until a spin lock can be placed in the acquired state.
IN SPIN_LOCK *SpinLock
);
+
/**
Attempts to place a spin lock in the acquired state.
IN SPIN_LOCK *SpinLock
);
+
/**
Releases a spin lock.
IN SPIN_LOCK *SpinLock
);
+
/**
Performs an atomic increment of an 32-bit unsigned integer.
IN UINT32 *Value
);
+
/**
Performs an atomic decrement of an 32-bit unsigned integer.
IN UINT32 *Value
);
+
/**
Performs an atomic compare exchange operation on a 32-bit unsigned integer.
IN UINT32 ExchangeValue
);
+
/**
Performs an atomic compare exchange operation on a 64-bit unsigned integer.
IN UINT64 ExchangeValue
);
+
/**
Performs an atomic compare exchange operation on a pointer value.
IN VOID *ExchangeValue
);
+
//
// Base Library Checksum Functions
//
IN UINTN Length
);
+
/**
Returns the sum of all elements in a buffer of 16-bit values. During
calculation, the carry bits are dropped.
IN UINTN Length
);
+
/**
Returns the two's complement checksum of all elements in a buffer of
16-bit values.
IN UINTN Length
);
+
/**
Returns the sum of all elements in a buffer of 32-bit values. During
calculation, the carry bits are dropped.
IN UINTN Length
);
+
/**
Returns the two's complement checksum of all elements in a buffer of
32-bit values.
IN UINTN Length
);
+
/**
Returns the sum of all elements in a buffer of 64-bit values. During
calculation, the carry bits are dropped.
IN UINTN Length
);
+
/**
Returns the two's complement checksum of all elements in a buffer of
64-bit values.
IN UINTN Length
);
+
//
// Base Library CPU Functions
//
IN VOID *Context2 OPTIONAL
);
+
/**
Used to serialize load and store operations.
VOID
);
+
/**
Saves the current CPU context that can be restored with a call to LongJump()
and returns 0.
OUT BASE_LIBRARY_JUMP_BUFFER *JumpBuffer
);
+
/**
Restores the CPU context that was saved with SetJump().
IN UINTN Value
);
+
/**
Enables CPU interrupts.
VOID
);
+
/**
Disables CPU interrupts.
VOID
);
+
/**
Disables CPU interrupts and returns the interrupt state prior to the disable
operation.
VOID
);
+
/**
Enables CPU interrupts for the smallest window required to capture any
pending interrupts.
VOID
);
+
/**
Retrieves the current CPU interrupt state.
VOID
);
+
/**
Set the current CPU interrupt state.
IN BOOLEAN InterruptState
);
+
/**
Places the CPU in a sleep state until an interrupt is received.
VOID
);
+
/**
Requests CPU to pause for a short period of time.
VOID
);
+
/**
Flushes all the Translation Lookaside Buffers(TLB) entries in a CPU.
VOID
);
+
/**
Transfers control to a function starting with a new stack.
...
);
+
/**
Generates a breakpoint on the CPU.
VOID
);
+
/**
Executes an infinite loop.
VOID
);
+
//
// IA32 and X64 Specific Functions
//
OUT UINT32 *Edx OPTIONAL
);
+
/**
Retrieves CPUID information using an extended leaf identifier.
OUT UINT32 *Edx OPTIONAL
);
+
/**
Returns the lower 32-bits of a Machine Specific Register(MSR).
IN UINT32 Index
);
+
/**
Zero-extend a 32-bit value and writes it to a Machine Specific Register(MSR).
IN UINT32 Value
);
+
/**
Reads a 64-bit MSR, performs a bitwise inclusive OR on the lower 32-bits, and
writes the result back to the 64-bit MSR.
IN UINT32 OrData
);
+
/**
Reads a 64-bit MSR, performs a bitwise AND on the lower 32-bits, and writes
the result back to the 64-bit MSR.
IN UINT32 AndData
);
+
/**
Reads a 64-bit MSR, performs a bitwise AND followed by a bitwise inclusive OR
on the lower 32-bits, and writes the result back to the 64-bit MSR.
IN UINT32 OrData
);
+
/**
Reads a bit field of an MSR.
IN UINTN EndBit
);
+
/**
Writes a bit field to an MSR.
IN UINT32 Value
);
+
/**
Reads a bit field in a 64-bit MSR, performs a bitwise OR, and writes the
result back to the bit field in the 64-bit MSR.
IN UINT32 OrData
);
+
/**
Reads a bit field in a 64-bit MSR, performs a bitwise AND, and writes the
result back to the bit field in the 64-bit MSR.
IN UINT32 AndData
);
+
/**
Reads a bit field in a 64-bit MSR, performs a bitwise AND followed by a
bitwise inclusive OR, and writes the result back to the bit field in the
IN UINT32 OrData
);
+
/**
Returns a 64-bit Machine Specific Register(MSR).
IN UINT32 Index
);
+
/**
Writes a 64-bit value to a Machine Specific Register(MSR), and returns the
value.
IN UINT64 Value
);
+
/**
Reads a 64-bit MSR, performs a bitwise inclusive OR, and writes the result
back to the 64-bit MSR.
IN UINT64 OrData
);
+
/**
Reads a 64-bit MSR, performs a bitwise AND, and writes the result back to the
64-bit MSR.
IN UINT64 AndData
);
+
/**
Reads a 64-bit MSR, performs a bitwise AND followed by a bitwise inclusive
OR, and writes the result back to the 64-bit MSR.
IN UINT64 OrData
);
+
/**
Reads a bit field of an MSR.
IN UINTN EndBit
);
+
/**
Writes a bit field to an MSR.
IN UINT64 Value
);
+
/**
Reads a bit field in a 64-bit MSR, performs a bitwise inclusive OR, and
writes the result back to the bit field in the 64-bit MSR.
IN UINT64 OrData
);
+
/**
Reads a bit field in a 64-bit MSR, performs a bitwise AND, and writes the
result back to the bit field in the 64-bit MSR.
IN UINT64 AndData
);
+
/**
Reads a bit field in a 64-bit MSR, performs a bitwise AND followed by a
bitwise inclusive OR, and writes the result back to the bit field in the
IN UINT64 OrData
);
+
/**
Reads the current value of the EFLAGS register.
VOID
);
+
/**
Reads the current value of the Control Register 0 (CR0).
VOID
);
+
/**
Reads the current value of the Control Register 2 (CR2).
VOID
);
+
/**
Reads the current value of the Control Register 3 (CR3).
VOID
);
+
/**
Reads the current value of the Control Register 4 (CR4).
VOID
);
+
/**
Writes a value to Control Register 0 (CR0).
UINTN Cr0
);
+
/**
Writes a value to Control Register 2 (CR2).
UINTN Cr2
);
+
/**
Writes a value to Control Register 3 (CR3).
UINTN Cr3
);
+
/**
Writes a value to Control Register 4 (CR4).
UINTN Cr4
);
+
/**
Reads the current value of Debug Register 0 (DR0).
VOID
);
+
/**
Reads the current value of Debug Register 1 (DR1).
VOID
);
+
/**
Reads the current value of Debug Register 2 (DR2).
VOID
);
+
/**
Reads the current value of Debug Register 3 (DR3).
VOID
);
+
/**
Reads the current value of Debug Register 4 (DR4).
VOID
);
+
/**
Reads the current value of Debug Register 5 (DR5).
VOID
);
+
/**
Reads the current value of Debug Register 6 (DR6).
VOID
);
+
/**
Reads the current value of Debug Register 7 (DR7).
VOID
);
+
/**
Writes a value to Debug Register 0 (DR0).
UINTN Dr0
);
+
/**
Writes a value to Debug Register 1 (DR1).
UINTN Dr1
);
+
/**
Writes a value to Debug Register 2 (DR2).
UINTN Dr2
);
+
/**
Writes a value to Debug Register 3 (DR3).
UINTN Dr3
);
+
/**
Writes a value to Debug Register 4 (DR4).
UINTN Dr4
);
+
/**
Writes a value to Debug Register 5 (DR5).
UINTN Dr5
);
+
/**
Writes a value to Debug Register 6 (DR6).
UINTN Dr6
);
+
/**
Writes a value to Debug Register 7 (DR7).
UINTN Dr7
);
+
/**
Reads the current value of Code Segment Register (CS).
VOID
);
+
/**
Reads the current value of Data Segment Register (DS).
VOID
);
+
/**
Reads the current value of Extra Segment Register (ES).
VOID
);
+
/**
Reads the current value of FS Data Segment Register (FS).
VOID
);
+
/**
Reads the current value of GS Data Segment Register (GS).
VOID
);
+
/**
Reads the current value of Stack Segment Register (SS).
VOID
);
+
/**
Reads the current value of Task Register (TR).
VOID
);
+
/**
Reads the current Global Descriptor Table Register(GDTR) descriptor.
OUT IA32_DESCRIPTOR *Gdtr
);
+
/**
Writes the current Global Descriptor Table Register (GDTR) descriptor.
IN CONST IA32_DESCRIPTOR *Gdtr
);
+
/**
Reads the current Interrupt Descriptor Table Register(GDTR) descriptor.
OUT IA32_DESCRIPTOR *Idtr
);
+
/**
Writes the current Interrupt Descriptor Table Register(GDTR) descriptor.
IN CONST IA32_DESCRIPTOR *Idtr
);
+
/**
Reads the current Local Descriptor Table Register(LDTR) selector.
VOID
);
+
/**
Writes the current Local Descriptor Table Register (GDTR) selector.
IN UINT16 Ldtr
);
+
/**
Save the current floating point/SSE/SSE2 context to a buffer.
OUT IA32_FX_BUFFER *Buffer
);
+
/**
Restores the current floating point/SSE/SSE2 context from a buffer.
IN CONST IA32_FX_BUFFER *Buffer
);
+
/**
Reads the current value of 64-bit MMX Register #0 (MM0).
VOID
);
+
/**
Reads the current value of 64-bit MMX Register #1 (MM1).
VOID
);
+
/**
Reads the current value of 64-bit MMX Register #2 (MM2).
VOID
);
+
/**
Reads the current value of 64-bit MMX Register #3 (MM3).
VOID
);
+
/**
Reads the current value of 64-bit MMX Register #4 (MM4).
VOID
);
+
/**
Reads the current value of 64-bit MMX Register #5 (MM5).
VOID
);
+
/**
Reads the current value of 64-bit MMX Register #6 (MM6).
VOID
);
+
/**
Reads the current value of 64-bit MMX Register #7 (MM7).
VOID
);
+
/**
Writes the current value of 64-bit MMX Register #0 (MM0).
IN UINT64 Value
);
+
/**
Writes the current value of 64-bit MMX Register #1 (MM1).
IN UINT64 Value
);
+
/**
Writes the current value of 64-bit MMX Register #2 (MM2).
IN UINT64 Value
);
+
/**
Writes the current value of 64-bit MMX Register #3 (MM3).
IN UINT64 Value
);
+
/**
Writes the current value of 64-bit MMX Register #4 (MM4).
IN UINT64 Value
);
+
/**
Writes the current value of 64-bit MMX Register #5 (MM5).
IN UINT64 Value
);
+
/**
Writes the current value of 64-bit MMX Register #6 (MM6).
IN UINT64 Value
);
+
/**
Writes the current value of 64-bit MMX Register #7 (MM7).
IN UINT64 Value
);
+
/**
Reads the current value of Time Stamp Counter (TSC).
VOID
);
+
/**
Reads the current value of a Performance Counter (PMC).
IN UINT32 Index
);
+
/**
Sets up a monitor buffer that is used by AsmMwait().
IN UINTN Edx
);
+
/**
Executes an MWAIT instruction.
IN UINTN Ecx
);
+
/**
Executes a WBINVD instruction.
VOID
);
+
/**
Executes a INVD instruction.
VOID
);
+
/**
Flushes a cache line from all the instruction and data caches within the
coherency domain of the CPU.
IN VOID *LinearAddress
);
+
/**
Enables the 32-bit paging mode on the CPU.
IN VOID *NewStack
);
+
/**
Disables the 32-bit paging mode on the CPU.
IN VOID *NewStack
);
+
/**
Enables the 64-bit paging mode on the CPU.
IN UINT64 NewStack
);
+
/**
Disables the 64-bit paging mode on the CPU.
IN UINT32 NewStack
);
+
//
// 16-bit thunking services
//
OUT UINT32 *ExtraStackSize
);
+
/**
Prepares all structures a code required to use AsmThunk16().
OUT THUNK_CONTEXT *ThunkContext
);
+
/**
Transfers control to a 16-bit real mode entry point and returns the results.
IN OUT THUNK_CONTEXT *ThunkContext
);
+
/**
Prepares all structures and code for a 16-bit real mode thunk, transfers
control to a 16-bit real mode entry point, and returns the results.
IN OUT THUNK_CONTEXT *ThunkContext
);
+
typedef struct {
UINT64 Status;
UINT64 r9;
IN UINTN Length
);
+
#endif