#include <Protocol/DriverDiagnostics.h>\r
#include <Protocol/DriverDiagnostics2.h>\r
\r
+#include <Library/BaseLib.h>\r
+\r
///\r
/// Unicode String Table\r
///\r
} EFI_LOCK;\r
\r
\r
+/**\r
+ Macro that returns the number of 100 ns units for a specified number of microseconds.\r
+ Useful for managing EFI timer events.\r
+\r
+ @param Microseconds Number of microseonds.\r
+\r
+ @return The number of 100 ns units equivalent to the number of microseconds specified\r
+ by Microseconds.\r
+\r
+**/\r
+#define EFI_TIMER_PERIOD_MICROSECONDS(Microseconds) MultU64x32((UINT64)(Microseconds), 10)\r
+\r
+\r
+/**\r
+ Macro that returns the number of 100 ns units for a specified number of milliseoconds.\r
+ Useful for managing EFI timer events.\r
+\r
+ @param Milliseconds Number of milliseconds.\r
+\r
+ @return The number of 100 ns units equivalent to the number of milliseconds specified\r
+ by Milliseconds.\r
+\r
+**/\r
+#define EFI_TIMER_PERIOD_MILLISECONDS(Milliseconds) MultU64x32((UINT64)(Milliseconds), 10000)\r
+\r
+\r
+/**\r
+ Macro that returns the number of 100 ns units for a specified number of seoconds.\r
+ Useful for managing EFI timer events.\r
+\r
+ @param Seconds Number of seconds.\r
+\r
+ @return The number of 100 ns units equivalent to the number of seconds specified\r
+ by Seconds.\r
+\r
+**/\r
+#define EFI_TIMER_PERIOD_SECONDS(Seconds) MultU64x32((UINT64)(Seconds), 10000000)\r
+\r
+\r
/**\r
This function searches the list of configuration tables stored in the EFI System \r
Table for a table with a GUID that matches TableGuid. If a match is found, \r