Add emulated serialIo device driver for EdkUnixPkg
[mirror_edk2.git] / EdkUnixPkg / Include / Protocol / UnixIo.h
CommitLineData
c9093a06 1/*++\r
2\r
3Copyright (c) 2004 - 2006, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 UnixIo.h\r
15\r
16Abstract:\r
17\r
18--*/\r
19\r
20#ifndef _UNIX_IO_H_\r
21#define _UNIX_IO_H_\r
22\r
23#define EFI_UNIX_IO_PROTOCOL_GUID \\r
24 { \\r
25 0xf2e23f54, 0x8985, 0x11db, {0xac, 0x79, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
26 }\r
27\r
28typedef struct {\r
29 EFI_UNIX_THUNK_PROTOCOL *UnixThunk;\r
30 EFI_GUID *TypeGuid;\r
31 UINT16 *EnvString;\r
32 UINT16 InstanceNumber;\r
33} EFI_UNIX_IO_PROTOCOL;\r
34\r
35extern EFI_GUID gEfiUnixIoProtocolGuid;\r
36\r
37//\r
38// The following GUIDs are used in EFI_UNIX_IO_PROTOCOL_GUID\r
377fc2ae 39// Device paths. They map 1:1 with UNIX envirnment variables. The variables\r
c9093a06 40// define what virtual hardware the emulator/UnixBusDriver will produce.\r
41//\r
42//\r
43// EFI_UNIX_VIRTUAL_DISKS\r
44//\r
45#define EFI_UNIX_VIRTUAL_DISKS_GUID \\r
46 { \\r
47 0xf2ba331a, 0x8985, 0x11db, {0xa4, 0x06, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
48 }\r
49\r
50extern EFI_GUID gEfiUnixVirtualDisksGuid;\r
51\r
52//\r
53// EFI_UNIX_PHYSICAL_DISKS\r
54//\r
55#define EFI_UNIX_PHYSICAL_DISKS_GUID \\r
56 { \\r
57 0xf2bdcc96, 0x8985, 0x11db, {0x87, 0x19, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
58 }\r
59\r
60extern EFI_GUID gEfiUnixPhysicalDisksGuid;\r
61\r
62//\r
63// EFI_UNIX_FILE_SYSTEM\r
64//\r
65#define EFI_UNIX_FILE_SYSTEM_GUID \\r
66 { \\r
67 0xf2c16b9e, 0x8985, 0x11db, {0x92, 0xc8, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
68 }\r
69\r
70extern EFI_GUID gEfiUnixFileSystemGuid;\r
71\r
b19cfa69 72//\r
73// EFI_WIN_NT_SERIAL_PORT\r
74//\r
75#define EFI_UNIX_SERIAL_PORT_GUID \\r
76 { \\r
77 0x6d3a727d, 0x66c8, 0x4d19, {0x87, 0xe6, 0x2, 0x15, 0x86, 0x14, 0x90, 0xf3} \\r
78 }\r
79\r
80extern EFI_GUID gEfiUnixSerialPortGuid;\r
81\r
c9093a06 82//\r
83// EFI_UNIX_UGA\r
84//\r
85#define EFI_UNIX_UGA_GUID \\r
86 { \\r
87 0xf2c8b80e, 0x8985, 0x11db, {0x93, 0xf1, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
88 }\r
89\r
90extern EFI_GUID gEfiUnixUgaGuid;\r
91\r
92//\r
93// EFI_UNIX_GOP\r
94//\r
95#define EFI_UNIX_GOP_GUID \\r
96 { \\r
97 0xbace07c2, 0x8987, 0x11db, {0xa5, 0x9a, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
98 }\r
99\r
100extern EFI_GUID gEfiUnixGopGuid;\r
101\r
102//\r
103// EFI_UNIX_CONSOLE\r
104//\r
105#define EFI_UNIX_CONSOLE_GUID \\r
106 { \\r
107 0xf2cc5d06, 0x8985, 0x11db, {0xbb, 0x19, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
108 }\r
109\r
110extern EFI_GUID gEfiUnixConsoleGuid;\r
111\r
112//\r
113// EFI_UNIX_MEMORY\r
114//\r
115#define EFI_UNIX_MEMORY_GUID \\r
116 { \\r
117 0xf2d006cc, 0x8985, 0x11db, {0xa4, 0x72, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
118 }\r
119\r
120extern EFI_GUID gEfiUnixMemoryGuid;\r
121\r
122//\r
123// EFI_UNIX_CPU_MODEL\r
124//\r
125#define EFI_UNIX_CPU_MODEL_GUID \\r
126 { \\r
127 0xf2d3b330, 0x8985, 0x11db, {0x8a, 0xa3, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
128 }\r
129\r
130extern EFI_GUID gEfiUnixCPUModelGuid;\r
131\r
132//\r
133// EFI_UNIX_CPU_SPEED\r
134//\r
135#define EFI_UNIX_CPU_SPEED_GUID \\r
136 { \\r
137 0xf2d74e5a, 0x8985, 0x11db, {0x97, 0x05, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
138 }\r
139\r
140extern EFI_GUID gEfiUnixCPUSpeedGuid;\r
141\r
142#endif\r