1 /*++ 2 3 Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.<BR> 4 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 WinNtIo.h 15 16 Abstract: 17 18 --*/ 19 20 #ifndef _WIN_NT_IO_H_ 21 #define _WIN_NT_IO_H_ 22 23 #define EFI_WIN_NT_IO_PROTOCOL_GUID \ 24 { \ 25 0x96eb4ad6, 0xa32a, 0x11d4, {0xbc, 0xfd, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} \ 26 } 27 28 // 29 // The following APIs require EfiWinNT.h. In some environmnets the GUID 30 // definitions are needed but the EfiWinNT.h is not included. 31 // EfiWinNT.h is needed to support WINDOWS API requirements. 32 // 33 #ifdef _EFI_WIN_NT_H_ 34 35 #include EFI_PROTOCOL_DEFINITION (WinNtThunk) 36 37 typedef struct { 38 EFI_WIN_NT_THUNK_PROTOCOL *WinNtThunk; 39 EFI_GUID *TypeGuid; 40 CHAR16 *EnvString; 41 UINT16 InstanceNumber; 42 } EFI_WIN_NT_IO_PROTOCOL; 43 44 #endif 45 46 extern EFI_GUID gEfiWinNtIoProtocolGuid; 47 48 // 49 // The following GUIDs are used in EFI_WIN_NT_IO_PROTOCOL_GUID 50 // Device paths. They map 1:1 with NT envirnment variables. The variables 51 // define what virtual hardware the emulator/WinNtBusDriver will produce. 52 // 53 // 54 // EFI_WIN_NT_VIRTUAL_DISKS 55 // 56 #define EFI_WIN_NT_VIRTUAL_DISKS_GUID \ 57 { \ 58 0xc95a928, 0xa006, 0x11d4, {0xbc, 0xfa, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} \ 59 } 60 61 extern EFI_GUID gEfiWinNtVirtualDisksGuid; 62 63 // 64 // EFI_WIN_NT_PHYSICAL_DISKS 65 // 66 #define EFI_WIN_NT_PHYSICAL_DISKS_GUID \ 67 { \ 68 0xc95a92f, 0xa006, 0x11d4, {0xbc, 0xfa, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} \ 69 } 70 71 extern EFI_GUID gEfiWinNtPhysicalDisksGuid; 72 73 // 74 // EFI_WIN_NT_FILE_SYSTEM 75 // 76 #define EFI_WIN_NT_FILE_SYSTEM_GUID \ 77 { \ 78 0xc95a935, 0xa006, 0x11d4, {0xbc, 0xfa, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} \ 79 } 80 81 extern EFI_GUID gEfiWinNtFileSystemGuid; 82 83 // 84 // EFI_WIN_NT_SERIAL_PORT 85 // 86 #define EFI_WIN_NT_SERIAL_PORT_GUID \ 87 { \ 88 0xc95a93d, 0xa006, 0x11d4, {0xbc, 0xfa, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} \ 89 } 90 91 extern EFI_GUID gEfiWinNtSerialPortGuid; 92 93 // 94 // EFI_WIN_NT_UGA 95 // 96 #define EFI_WIN_NT_UGA_GUID \ 97 { \ 98 0xab248e99, 0xabe1, 0x11d4, {0xbd, 0xd, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} \ 99 } 100 101 extern EFI_GUID gEfiWinNtUgaGuid; 102 103 // 104 // EFI_WIN_NT_GOP 105 // 106 #define EFI_WIN_NT_GOP_GUID \ 107 { \ 108 0x4e11e955, 0xccca, 0x11d4, {0xbd, 0xd, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} \ 109 } 110 111 extern EFI_GUID gEfiWinNtGopGuid; 112 113 // 114 // EFI_WIN_NT_CONSOLE 115 // 116 #define EFI_WIN_NT_CONSOLE_GUID \ 117 { \ 118 0xba73672c, 0xa5d3, 0x11d4, {0xbd, 0x0, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} \ 119 } 120 121 extern EFI_GUID gEfiWinNtConsoleGuid; 122 123 // 124 // EFI_WIN_NT_MEMORY 125 // 126 #define EFI_WIN_NT_MEMORY_GUID \ 127 { \ 128 0x99042912, 0x122a, 0x11d4, {0xbd, 0xd, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} \ 129 } 130 131 extern EFI_GUID gEfiWinNtMemoryGuid; 132 133 // 134 // EFI_WIN_NT_CPU_MODEL 135 // 136 #define EFI_WIN_NT_CPU_MODEL_GUID \ 137 { \ 138 0xbee9b6ce, 0x2f8a, 0x11d4, {0xbd, 0xd, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} \ 139 } 140 141 extern EFI_GUID gEfiWinNtCPUModelGuid; 142 143 // 144 // EFI_WIN_NT_CPU_SPEED 145 // 146 #define EFI_WIN_NT_CPU_SPEED_GUID \ 147 { \ 148 0xd4f29055, 0xe1fb, 0x11d4, {0xbd, 0xd, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} \ 149 } 150 151 extern EFI_GUID gEfiWinNtCPUSpeedGuid; 152 153 // 154 // EFI_WIN_NT_PASS_THROUGH 155 // 156 #define EFI_WIN_NT_PASS_THROUGH_GUID \ 157 { \ 158 0xcc664eb8, 0x3c24, 0x4086, {0xb6, 0xf6, 0x34, 0xe8, 0x56, 0xbc, 0xe3, 0x6e} \ 159 } 160 161 extern EFI_GUID gEfiWinNtPassThroughGuid; 162 163 #endif 164