/** @file
  Copyright (c) 2015, Linaro Ltd. 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 __FFS_SECTION_ALIGNMENT_PADDING_GUID_H__
#define __FFS_SECTION_ALIGNMENT_PADDING_GUID_H__

#define EFI_FFS_SECTION_ALIGNMENT_PADDING_GUID \
  { \
    0x04132C8D, 0x0A22, 0x4FA8, {0x82, 0x6E, 0x8B, 0xBF, 0xEF, 0xDB, 0x83, 0x6C } \
  }

#endif
