1 /** @file
2 
3   Copyright (c) 2008 - 2009, Apple Inc. 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 
16 #ifndef __EFI_RESET_SYSTEM_LIB_H___
17 #define __EFI_RESET_SYSTEM_LIB_H___
18 
19 
20 /**
21   Resets the entire platform.
22 
23   @param  ResetType             The type of reset to perform.
24   @param  ResetStatus           The status code for the reset.
25   @param  DataSize              The size, in bytes, of WatchdogData.
26   @param  ResetData             For a ResetType of EfiResetCold, EfiResetWarm, or
27                                 EfiResetShutdown the data buffer starts with a Null-terminated
28                                 Unicode string, optionally followed by additional binary data.
29 
30 **/
31 EFI_STATUS
32 EFIAPI
33 LibResetSystem (
34   IN EFI_RESET_TYPE   ResetType,
35   IN EFI_STATUS       ResetStatus,
36   IN UINTN            DataSize,
37   IN CHAR16           *ResetData OPTIONAL
38   );
39 
40 
41 
42 /**
43   Initialize any infrastructure required for LibResetSystem () to function.
44 
45   @param  ImageHandle   The firmware allocated handle for the EFI image.
46   @param  SystemTable   A pointer to the EFI System Table.
47 
48   @retval EFI_SUCCESS   The constructor always returns EFI_SUCCESS.
49 
50 **/
51 EFI_STATUS
52 EFIAPI
53 LibInitializeResetSystem (
54   IN EFI_HANDLE        ImageHandle,
55   IN EFI_SYSTEM_TABLE  *SystemTable
56   );
57 
58 #endif
59