Home | History | Annotate | Download | only in ResetSystemRuntimeDxe
      1 /** @file
      2 
      3   Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
      4 
      5   This program and the accompanying materials
      6   are licensed and made available under the terms and conditions of the BSD License
      7   which accompanies this distribution.  The full text of the license may be found at
      8   http://opensource.org/licenses/bsd-license.php
      9 
     10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 #ifndef _RESET_SYSTEM_H_
     16 #define _RESET_SYSTEM_H_
     17 
     18 
     19 #include <PiDxe.h>
     20 
     21 #include <Protocol/Reset.h>
     22 #include <Guid/CapsuleVendor.h>
     23 
     24 #include <Library/BaseLib.h>
     25 #include <Library/DebugLib.h>
     26 #include <Library/UefiLib.h>
     27 #include <Library/IoLib.h>
     28 #include <Library/UefiDriverEntryPoint.h>
     29 #include <Library/UefiBootServicesTableLib.h>
     30 #include <Library/UefiRuntimeLib.h>
     31 #include <Library/UefiRuntimeServicesTableLib.h>
     32 #include <Library/ResetSystemLib.h>
     33 #include <Library/ReportStatusCodeLib.h>
     34 
     35 /**
     36   The driver's entry point.
     37 
     38   It initializes the Reset Architectural Protocol.
     39 
     40   @param[in] ImageHandle  The firmware allocated handle for the EFI image.
     41   @param[in] SystemTable  A pointer to the EFI System Table.
     42 
     43   @retval EFI_SUCCESS     The entry point is executed successfully.
     44   @retval other           Cannot install ResetArch protocol.
     45 
     46 **/
     47 EFI_STATUS
     48 EFIAPI
     49 InitializeResetSystem (
     50   IN EFI_HANDLE        ImageHandle,
     51   IN EFI_SYSTEM_TABLE  *SystemTable
     52   );
     53 
     54 /**
     55   Resets the entire platform.
     56 
     57   @param[in] ResetType          The type of reset to perform.
     58   @param[in] ResetStatus        The status code for the reset.
     59   @param[in] DataSize           The size, in bytes, of WatchdogData.
     60   @param[in] ResetData          For a ResetType of EfiResetCold, EfiResetWarm, or
     61                                 EfiResetShutdown the data buffer starts with a Null-terminated
     62                                 string, optionally followed by additional binary data.
     63 
     64 **/
     65 VOID
     66 EFIAPI
     67 ResetSystem (
     68   IN EFI_RESET_TYPE   ResetType,
     69   IN EFI_STATUS       ResetStatus,
     70   IN UINTN            DataSize,
     71   IN VOID             *ResetData OPTIONAL
     72   );
     73 
     74 #endif
     75