--- /dev/null
+/** @file\r
+ Debug Agent Library provide source-level debug capability.\r
+\r
+ Copyright (c) 2010, 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
+**/\r
+\r
+#ifndef __DEBUG_AGENT_LIB_H__\r
+#define __DEBUG_AGENT_LIB_H__\r
+\r
+#define DEBUG_AGENT_INIT_PREMEM_SEC 1\r
+#define DEBUG_AGENT_INIT_POSTMEM_SEC 2\r
+#define DEBUG_AGENT_INIT_DXE 3\r
+#define DEBUG_AGENT_INIT_SMM 4\r
+#define DEBUG_AGENT_INIT_SMI 5\r
+\r
+/**\r
+ Initialize debug agent.\r
+\r
+ This function is used to set up debug enviroment.\r
+\r
+ @param[in] InitFlag Init flag is used to decide initialize process.\r
+ @param[in] Context Context needed according to InitFlag, it was optional.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+InitializeDebugAgent (\r
+ IN UINT32 InitFlag,\r
+ IN VOID *Context OPTIONAL\r
+ );\r
+\r
+/**\r
+ Enable/Disable the interrupt of debug timer.\r
+\r
+ If EnableStatus is TRUE, enable the interrupt of debug timer.\r
+ If EnableStatus is FALSE, disable the interrupt of debug timer.\r
+\r
+ @param[in] EnableStatus Enable/Disable.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+SetDebugTimerInterrupt (\r
+ IN BOOLEAN EnableStatus\r
+ );\r
+\r
+#endif\r