Success to build first Nt32 module.
[mirror_edk2.git] / Nt32Pkg / Include / Ppi / NtAutoscan.h
1 /*++
2
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 NtAutoscan.h
15
16 Abstract:
17
18 Nt Autoscan PPI
19
20 --*/
21
22 #ifndef __NT_PEI_AUTOSCAN_H__
23 #define __NT_PEI_AUTOSCAN_H__
24
25 #include <WinNtDxe.h>
26
27 #define PEI_NT_AUTOSCAN_PPI_GUID \
28 { \
29 0xdce384d, 0x7c, 0x4ba5, {0x94, 0xbd, 0xf, 0x6e, 0xb6, 0x4d, 0x2a, 0xa9 } \
30 }
31
32 typedef
33 EFI_STATUS
34 (EFIAPI *PEI_NT_AUTOSCAN) (
35 IN UINTN Index,
36 OUT EFI_PHYSICAL_ADDRESS * MemoryBase,
37 OUT UINT64 *MemorySize
38 );
39
40 /*++
41
42 Routine Description:
43 This service is called from Index == 0 until it returns EFI_UNSUPPORTED.
44 It allows discontiguous memory regions to be supported by the emulator.
45 It uses gSystemMemory[] and gSystemMemoryCount that were created by
46 parsing the Windows environment variable EFI_MEMORY_SIZE.
47 The size comes from the varaible and the address comes from the call to
48 WinNtOpenFile.
49
50 Arguments:
51 Index - Which memory region to use
52 MemoryBase - Return Base address of memory region
53 MemorySize - Return size in bytes of the memory region
54
55 Returns:
56 EFI_SUCCESS - If memory region was mapped
57 EFI_UNSUPPORTED - If Index is not supported
58
59 --*/
60 typedef struct {
61 PEI_NT_AUTOSCAN NtAutoScan;
62 } PEI_NT_AUTOSCAN_PPI;
63
64 extern EFI_GUID gPeiNtAutoScanPpiGuid;
65
66 #endif