text: /***************************************************************
  #
  #  
  #  Copyright (c) Huawei Technologies Co., Ltd. 2013. 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 _WATCH_DOG_PROTOCOL_H_
  #define _WATCH_GOG_PROTOCOL_H_
  
  #define OEM_WATCH_DOG_PROTOCOL_GUID \
      {0x707ac059, 0xf335, 0x4643, 0xa6, 0x99, 0x5e, 0x3b, 0x9b, 0x82, 0x60, 0x74}
  	
  
  typedef struct _OEM_WATCH_DOG_PROTOCOL   OEM_WATCH_DOG_PROTOCOL;
  
  typedef
  EFI_STATUS
  (EFIAPI * WATCH_DOG_AUTO_CLEAR_START)(void);
  
  typedef
  EFI_STATUS
  (EFIAPI * WATCH_DOG_AUTO_CLEAR_STOP)(void);
  
  typedef
  EFI_STATUS
  (EFIAPI * WATCH_DOG_FEED_TIME_EXTEND)(UINT32 ulMin);
  
  typedef
  EFI_STATUS
  (EFIAPI * WATCH_DOG_FEED_TIME_RESTORE)(UINT32 ulMin);
  typedef
  VOID
  (EFIAPI * WATCH_DOG_DIAGNOSE_MODE_ENTER)(void);
  
  typedef
  VOID
  (EFIAPI * WATCH_DOG_DIAGNOSE_MODE_EXIT)(void);
  
  
  typedef struct _OEM_WATCH_DOG_PROTOCOL
  {
      WATCH_DOG_AUTO_CLEAR_START     WtdAutoClearStart;
      WATCH_DOG_AUTO_CLEAR_STOP       WtdAutoClearStop;
      WATCH_DOG_FEED_TIME_EXTEND      WtdFeedTimeExtend;
      WATCH_DOG_FEED_TIME_RESTORE     WtdFeedTimeRestore;
      WATCH_DOG_DIAGNOSE_MODE_ENTER WtdDiagnoseModeEnter;
      WATCH_DOG_DIAGNOSE_MODE_EXIT   WtdDiagnoseModeExit;
      	
  } OEM_WATCH_DOG_PROTOCOL;
  
  #define GLOBAL_VARIABLE_WTD_OF_TIME   L"WTDOverFlowTime"
  
  #endif
  