/** @file
  Provides a service to retrieve a pointer to the EFI Runtime Services Table.

  This library does not contain any functions or macros.  It simply exports the
  global variable gRT that is a pointer to the EFI Runtime Services Table as defined
  in the UEFI Specification.  The global variable gRT must be preinitialized to NULL.
  The library constructor must set gRT to point at the EFI Runtime Services Table so
  it is available at the module's entry point. Since there is overhead in initializing
  this global variable, only those modules that actually require access to the EFI
  Runtime Services Table should use this library.
  Only available to DXE and UEFI module types.

Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent

**/

#ifndef __UEFI_RUNTIME_SERVICES_TABLE_LIB_H__
#define __UEFI_RUNTIME_SERVICES_TABLE_LIB_H__

///
/// Cached copy of the EFI Runtime Services Table
///
extern EFI_RUNTIME_SERVICES  *gRT;

#endif
