/** @file
  This file defines Simple TextInEx Notify Guid that specify the notify handle.

Copyright (c) 2008, Intel Corporation. <BR>
All rights reserved. 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 _SIMPLE_TEXTIN_EX_NOTIFY__H_
#define _SIMPLE_TEXTIN_EX_NOTIFY__H_

#define SIMPLE_TEXTIN_EX_NOTIFY_GUID \
  { \
    0x856f2def, 0x4e93, 0x4d6b, {0x94, 0xce, 0x1c, 0xfe, 0x47, 0x1, 0x3e, 0xa5} \
  }

extern EFI_GUID gSimpleTextInExNotifyGuid;

#endif
