/** @file
  GUID for EFI shell Environment2 Extension

  Copyright (c) 2009-2010, Intel Corporation. All rights reserved.<BR>
  This program and the accompanying materials
  are licensed and made available under the terms and conditions of the BSD License
  which accompanies this distribution.  The full text of the license may be found at
  http://opensource.org/licenses/bsd-license.php

  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

**/

#ifndef _SHELLPKG_SHELL_ENV2_EXT_GUID_H
#define _SHELLPKG_SHELL_ENV2_EXT_GUID_H

#define SHELLPKG_SHELL_ENV2_EXT_GUID \
{ \
  0xd2c18636, 0x40e5, 0x4eb5, {0xa3, 0x1b, 0x36, 0x69, 0x5f, 0xd4, 0x2c, 0x87} \
}

extern EFI_GUID gEfiShellEnvironment2ExtGuid;

#endif
