alder_lake_bios/Oem/L05/FeatureCommon/InsydeL05ModulePkg/Include/L05OverclockUi.h

70 lines
2.0 KiB
C

/** @file
Definition for Overclock UI
;******************************************************************************
;* Copyright (c) 2021, Insyde Software Corp. All Rights Reserved.
;*
;* You may not reproduce, distribute, publish, display, perform, modify, adapt,
;* transmit, broadcast, present, recite, release, license or otherwise exploit
;* any part of this publication in any form, by any means, without the prior
;* written permission of Insyde Software Corporation.
;*
;******************************************************************************
*/
#ifndef _L05_OVERCLOCK_UI_H_
#define _L05_OVERCLOCK_UI_H_
#include "H2OWindow/mwtypes.h" // uint32_t
#include "H2OWindow/windef.h" // HWND
#define BITS(a) (1 << (a))
#define VK_NULL 0x00
#define OVERCLOCK_INVALID_VALUE (UINTN) -1
typedef enum {
ToggleButtonType = 0x00,
OneOfListType,
ButtonBarType,
} L05_OVERCLOCK_ITEM_TYPE;
typedef enum {
CpuControl = 0x00,
CpuAdvanced,
CpuAdvancedGroup,
GpuControl,
GpuAdvanced,
GpuAdvancedGroup,
MemoryControl,
MemoryGroup,
AllOverclockItem,
} L05_OVERCLOCK_ITEM_GROUP;
typedef enum {
ApplyFocusType = 0x00,
CancelFocusType,
SetToDefaultFocusType,
OverclockLayoutFocusType,
} L05_OVERCLOCK_FOCUS_TYPE;
#pragma pack(1)
typedef struct {
CHAR16 *ItemName;
L05_OVERCLOCK_ITEM_TYPE ItemType;
L05_OVERCLOCK_ITEM_GROUP ItemGroup;
EFI_QUESTION_ID QuestionId;
H2O_STATEMENT_ID StatementId;
HWND Wnd;
UINTN Value;
UINTN ValueBase;
UINTN BaseOffset;
BOOLEAN Visibility;
} L05_OVERCLOCK_SETUP_DATA;
typedef struct {
L05_OVERCLOCK_FOCUS_TYPE FocusType;
HWND *Wnd;
} L05_OVERCLOCK_FOCUS_TABLE;
#pragma pack()
#endif