--- /dev/null
+/*++\r
+\r
+Copyright (c) 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
+ gcd.h\r
+\r
+Abstract:\r
+\r
+Revision History\r
+\r
+--*/\r
+\r
+#ifndef _GCD_H\r
+#define _GCD_H\r
+\r
+//\r
+// GCD Operations\r
+//\r
+#define GCD_MEMORY_SPACE_OPERATION 0x20\r
+#define GCD_IO_SPACE_OPERATION 0x40\r
+\r
+#define GCD_ADD_MEMORY_OPERATION (GCD_MEMORY_SPACE_OPERATION | 0)\r
+#define GCD_ALLOCATE_MEMORY_OPERATION (GCD_MEMORY_SPACE_OPERATION | 1)\r
+#define GCD_FREE_MEMORY_OPERATION (GCD_MEMORY_SPACE_OPERATION | 2)\r
+#define GCD_REMOVE_MEMORY_OPERATION (GCD_MEMORY_SPACE_OPERATION | 3)\r
+#define GCD_SET_ATTRIBUTES_MEMORY_OPERATION (GCD_MEMORY_SPACE_OPERATION | 4)\r
+\r
+#define GCD_ADD_IO_OPERATION (GCD_IO_SPACE_OPERATION | 0)\r
+#define GCD_ALLOCATE_IO_OPERATION (GCD_IO_SPACE_OPERATION | 1)\r
+#define GCD_FREE_IO_OPERATION (GCD_IO_SPACE_OPERATION | 2)\r
+#define GCD_REMOVE_IO_OPERATION (GCD_IO_SPACE_OPERATION | 3)\r
+\r
+//\r
+// The data structure used to convert from GCD attributes to EFI Memory Map attributes\r
+//\r
+typedef struct {\r
+ UINT64 Attribute;\r
+ UINT64 Capability;\r
+ BOOLEAN Memory;\r
+} GCD_ATTRIBUTE_CONVERSION_ENTRY;\r
+\r
+#endif\r