]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkUnixPkg/Include/Protocol/UnixIo.h
Unix version of EFI emulator
[mirror_edk2.git] / EdkUnixPkg / Include / Protocol / UnixIo.h
diff --git a/EdkUnixPkg/Include/Protocol/UnixIo.h b/EdkUnixPkg/Include/Protocol/UnixIo.h
new file mode 100644 (file)
index 0000000..6b83c99
--- /dev/null
@@ -0,0 +1,132 @@
+/*++\r
+\r
+Copyright (c) 2004 - 2006, Intel Corporation                                                         \r
+All rights reserved. This program and the accompanying materials                          \r
+are licensed and made available under the terms and conditions of the BSD License         \r
+which accompanies this distribution.  The full text of the license may be found at        \r
+http://opensource.org/licenses/bsd-license.php                                            \r
+                                                                                          \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+\r
+Module Name:\r
+\r
+  UnixIo.h\r
+\r
+Abstract:\r
+\r
+--*/\r
+\r
+#ifndef _UNIX_IO_H_\r
+#define _UNIX_IO_H_\r
+\r
+#define EFI_UNIX_IO_PROTOCOL_GUID \\r
+  { \\r
+    0xf2e23f54, 0x8985, 0x11db, {0xac, 0x79, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
+  }\r
+\r
+typedef struct {\r
+  EFI_UNIX_THUNK_PROTOCOL  *UnixThunk;\r
+  EFI_GUID                  *TypeGuid;\r
+  UINT16                    *EnvString;\r
+  UINT16                    InstanceNumber;\r
+} EFI_UNIX_IO_PROTOCOL;\r
+\r
+extern EFI_GUID gEfiUnixIoProtocolGuid;\r
+\r
+//\r
+// The following GUIDs are used in EFI_UNIX_IO_PROTOCOL_GUID\r
+// Device paths. They map 1:1 with NT envirnment variables. The variables\r
+// define what virtual hardware the emulator/UnixBusDriver will produce.\r
+//\r
+//\r
+// EFI_UNIX_VIRTUAL_DISKS\r
+//\r
+#define EFI_UNIX_VIRTUAL_DISKS_GUID \\r
+  { \\r
+    0xf2ba331a, 0x8985, 0x11db, {0xa4, 0x06, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
+  }\r
+\r
+extern EFI_GUID gEfiUnixVirtualDisksGuid;\r
+\r
+//\r
+// EFI_UNIX_PHYSICAL_DISKS\r
+//\r
+#define EFI_UNIX_PHYSICAL_DISKS_GUID \\r
+  { \\r
+    0xf2bdcc96, 0x8985, 0x11db, {0x87, 0x19, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
+  }\r
+\r
+extern EFI_GUID gEfiUnixPhysicalDisksGuid;\r
+\r
+//\r
+// EFI_UNIX_FILE_SYSTEM\r
+//\r
+#define EFI_UNIX_FILE_SYSTEM_GUID \\r
+  { \\r
+    0xf2c16b9e, 0x8985, 0x11db, {0x92, 0xc8, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
+  }\r
+\r
+extern EFI_GUID gEfiUnixFileSystemGuid;\r
+\r
+//\r
+// EFI_UNIX_UGA\r
+//\r
+#define EFI_UNIX_UGA_GUID \\r
+  { \\r
+    0xf2c8b80e, 0x8985, 0x11db, {0x93, 0xf1, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
+  }\r
+\r
+extern EFI_GUID gEfiUnixUgaGuid;\r
+\r
+//\r
+// EFI_UNIX_GOP\r
+//\r
+#define EFI_UNIX_GOP_GUID \\r
+  { \\r
+    0xbace07c2, 0x8987, 0x11db, {0xa5, 0x9a, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
+  }\r
+\r
+extern EFI_GUID gEfiUnixGopGuid;\r
+\r
+//\r
+// EFI_UNIX_CONSOLE\r
+//\r
+#define EFI_UNIX_CONSOLE_GUID \\r
+  { \\r
+    0xf2cc5d06, 0x8985, 0x11db, {0xbb, 0x19, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
+  }\r
+\r
+extern EFI_GUID gEfiUnixConsoleGuid;\r
+\r
+//\r
+// EFI_UNIX_MEMORY\r
+//\r
+#define EFI_UNIX_MEMORY_GUID \\r
+  { \\r
+    0xf2d006cc, 0x8985, 0x11db, {0xa4, 0x72, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
+  }\r
+\r
+extern EFI_GUID gEfiUnixMemoryGuid;\r
+\r
+//\r
+// EFI_UNIX_CPU_MODEL\r
+//\r
+#define EFI_UNIX_CPU_MODEL_GUID \\r
+  { \\r
+    0xf2d3b330, 0x8985, 0x11db, {0x8a, 0xa3, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
+  }\r
+\r
+extern EFI_GUID gEfiUnixCPUModelGuid;\r
+\r
+//\r
+// EFI_UNIX_CPU_SPEED\r
+//\r
+#define EFI_UNIX_CPU_SPEED_GUID \\r
+  { \\r
+    0xf2d74e5a, 0x8985, 0x11db, {0x97, 0x05, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
+  }\r
+\r
+extern EFI_GUID gEfiUnixCPUSpeedGuid;\r
+\r
+#endif\r