/*++

Copyright (c)  2010  - 2014, Intel Corporation. All rights reserved

  This program and the accompanying materials are licensed and made available under
  the terms and conditions of the BSD License that 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.


Module Name:

  Vlv2DeviceRefCodeTokenSpace.h

Abstract:

  Interface definition details for GUID.

--*/
#ifndef __VLV2_REF_CODE__PKG_TOKEN_SPACE_GUID_H__
#define __VLV2_REF_CODE__PKG_TOKEN_SPACE_GUID_H__

#define EFI_VLV_TOKEN_SPACE_GUID \
  { 0xca452c68, 0xdf0c, 0x45c9, {0x82, 0xfb, 0xea, 0xe4, 0x2b, 0x31, 0x29, 0x46}}
extern EFI_GUID gEfiVLVTokenSpaceGuid;

#endif
