2015-07-30 05:41:35 +02:00
|
|
|
/** @file
|
|
|
|
FrontPage routines to handle the callbacks and browser calls
|
|
|
|
|
2015-08-05 09:10:01 +02:00
|
|
|
Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>
|
2015-07-30 05:41:35 +02:00
|
|
|
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 _BDS_MODULE_H_
|
|
|
|
#define _BDS_MODULE_H_
|
|
|
|
|
|
|
|
#include <IndustryStandard/SmBios.h>
|
|
|
|
|
|
|
|
#include <Guid/MdeModuleHii.h>
|
|
|
|
#include <Guid/StatusCodeDataTypeId.h>
|
|
|
|
|
|
|
|
#include <Protocol/Smbios.h>
|
|
|
|
#include <Protocol/HiiConfigAccess.h>
|
2015-11-23 10:37:24 +01:00
|
|
|
|
2015-07-30 05:41:35 +02:00
|
|
|
#include <Library/PrintLib.h>
|
|
|
|
#include <Library/DebugLib.h>
|
|
|
|
#include <Library/BaseMemoryLib.h>
|
|
|
|
#include <Library/UefiBootServicesTableLib.h>
|
|
|
|
#include <Library/UefiLib.h>
|
|
|
|
#include <Library/MemoryAllocationLib.h>
|
|
|
|
#include <Library/ReportStatusCodeLib.h>
|
|
|
|
#include <Library/UefiRuntimeServicesTableLib.h>
|
|
|
|
#include <Library/HiiLib.h>
|
|
|
|
#include <Library/DevicePathLib.h>
|
|
|
|
#include <Library/UefiHiiServicesLib.h>
|
|
|
|
#include <Library/UefiBootManagerLib.h>
|
|
|
|
|
|
|
|
#pragma pack(1)
|
|
|
|
|
|
|
|
///
|
|
|
|
/// HII specific Vendor Device Path definition.
|
|
|
|
///
|
|
|
|
typedef struct {
|
|
|
|
VENDOR_DEVICE_PATH VendorDevicePath;
|
|
|
|
EFI_DEVICE_PATH_PROTOCOL End;
|
|
|
|
} HII_VENDOR_DEVICE_PATH;
|
|
|
|
|
|
|
|
#pragma pack()
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
//The interface functions related to the Setup Browser Reset Reminder feature
|
|
|
|
//
|
|
|
|
/**
|
|
|
|
Enable the setup browser reset reminder feature.
|
|
|
|
This routine is used in a platform tip. If the platform policy needs the feature, use the routine to enable it.
|
|
|
|
|
|
|
|
**/
|
|
|
|
VOID
|
|
|
|
EFIAPI
|
|
|
|
EnableResetReminderFeature (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Disable the setup browser reset reminder feature.
|
|
|
|
This routine is used in a platform tip. If the platform policy does not want the feature, use the routine to disable it.
|
|
|
|
|
|
|
|
**/
|
|
|
|
VOID
|
|
|
|
EFIAPI
|
|
|
|
DisableResetReminderFeature (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Record the info that a reset is required.
|
|
|
|
A module boolean variable is used to record whether a reset is required.
|
|
|
|
|
|
|
|
**/
|
|
|
|
VOID
|
|
|
|
EFIAPI
|
|
|
|
EnableResetRequired (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
Record the info that no reset is required.
|
|
|
|
A module boolean variable is used to record whether a reset is required.
|
|
|
|
|
|
|
|
**/
|
|
|
|
VOID
|
|
|
|
EFIAPI
|
|
|
|
DisableResetRequired (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Check whether platform policy enables the reset reminder feature. The default is enabled.
|
|
|
|
|
|
|
|
**/
|
|
|
|
BOOLEAN
|
|
|
|
EFIAPI
|
|
|
|
IsResetReminderFeatureEnable (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Check if the user changed any option setting that needs a system reset to be effective.
|
|
|
|
|
|
|
|
**/
|
|
|
|
BOOLEAN
|
|
|
|
EFIAPI
|
|
|
|
IsResetRequired (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Check whether a reset is needed, and finish the reset reminder feature.
|
|
|
|
If a reset is needed, pop up a menu to notice user, and finish the feature
|
|
|
|
according to the user selection.
|
|
|
|
|
|
|
|
**/
|
|
|
|
VOID
|
|
|
|
EFIAPI
|
|
|
|
SetupResetReminder (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
#endif
|