/** @file
  Declarations of ASCII string literals used by DP.

  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
  SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _LITERALS_H_
#define _LITERALS_H_

// ASCII String literals which probably don't need translation
extern CHAR8 const ALit_TimerLibError[];
extern CHAR8 const ALit_SEC[];
extern CHAR8 const ALit_DXE[];
extern CHAR8 const ALit_SHELL[];
extern CHAR8 const ALit_PEI[];
extern CHAR8 const ALit_BDS[];
extern CHAR8 const ALit_PEIM[];
extern CHAR8 const ALit_START_IMAGE[];
extern CHAR8 const ALit_LOAD_IMAGE[];
extern CHAR8 const ALit_DB_START[];
extern CHAR8 const ALit_DB_SUPPORT[];
extern CHAR8 const ALit_DB_STOP[];
extern CHAR8 const ALit_BdsTO[];
extern CHAR8 const ALit_PEIM[];

#endif  // _LITERALS_H_
