X-Git-Url: https://code.delx.au/refind/blobdiff_plain/2569172b598d42a95c1aeb3bde752358f0b43689..e3d2b4a15b8e4a6e7d6e3a6421270fccfb06c4f0:/refind/global.h diff --git a/refind/global.h b/refind/global.h index 0aad5f1..5058d9d 100644 --- a/refind/global.h +++ b/refind/global.h @@ -34,7 +34,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* - * Modifications copyright (c) 2012 Roderick W. Smith + * Modifications copyright (c) 2012-2014 Roderick W. Smith * * Modifications distributed under the terms of the GNU General Public * License (GPL) version 3 (GPLv3), a copy of which must be distributed @@ -58,19 +58,23 @@ #define REFIT_DEBUG (0) // Tag classifications; used in various ways. -#define TAG_ABOUT (1) -#define TAG_REBOOT (2) -#define TAG_SHUTDOWN (3) -#define TAG_TOOL (4) -#define TAG_LOADER (5) -#define TAG_LEGACY (6) -#define TAG_EXIT (7) -#define TAG_SHELL (8) -#define TAG_GPTSYNC (9) -#define TAG_LEGACY_UEFI (10) -#define TAG_APPLE_RECOVERY (11) -#define TAG_MOK_TOOL (12) -#define NUM_TOOLS (11) +#define TAG_ABOUT (1) +#define TAG_REBOOT (2) +#define TAG_SHUTDOWN (3) +#define TAG_TOOL (4) +#define TAG_LOADER (5) +#define TAG_LEGACY (6) +#define TAG_EXIT (7) +#define TAG_SHELL (8) +#define TAG_GPTSYNC (9) +#define TAG_LEGACY_UEFI (10) +#define TAG_APPLE_RECOVERY (11) +#define TAG_WINDOWS_RECOVERY (12) +#define TAG_MOK_TOOL (13) +#define TAG_FIRMWARE (14) +#define TAG_MEMTEST (15) +#define TAG_GDISK (16) +#define NUM_TOOLS (17) #define NUM_SCAN_OPTIONS 10 @@ -118,13 +122,33 @@ #define FS_TYPE_EXT4 4 #define FS_TYPE_HFSPLUS 5 #define FS_TYPE_REISERFS 6 -#define FS_TYPE_ISO9660 7 +#define FS_TYPE_BTRFS 7 +#define FS_TYPE_ISO9660 8 + +// How to scale banner images +#define BANNER_NOSCALE 0 +#define BANNER_FILLSCREEN 1 + +// Sizes of the default icons; badges are 1/4 the big icon size +#define DEFAULT_SMALL_ICON_SIZE 48 +#define DEFAULT_BIG_ICON_SIZE 128 + +// Codes for types of icon sizes; used for indexing into GlobalConfig.IconSizes[] +#define ICON_SIZE_BADGE 0 +#define ICON_SIZE_SMALL 1 +#define ICON_SIZE_BIG 2 // Names of binaries that can manage MOKs.... #define MOK_NAMES L"MokManager.efi,HashTool.efi,HashTool-signed.efi" // Directories to search for these MOK-managing programs. Note that SelfDir is // searched in addition to these locations.... -#define MOK_LOCATIONS L"\\,EFI\\tools,EFI\\fedora,EFI\\redhat,EFI\\ubuntu,EFI\\suse,EFI\\altlinux" +#define MOK_LOCATIONS L"\\,EFI\\tools,EFI\\fedora,EFI\\redhat,EFI\\ubuntu,EFI\\suse,EFI\\opensuse,EFI\\altlinux" +// Directories to search for memtest86.... +#define MEMTEST_LOCATIONS L"EFI\\tools,EFI\\tools\\memtest86,EFI\\tools\\memtest,EFI\\memtest86,EFI\\memtest" +// Files that may be Windows recovery files +#define WINDOWS_RECOVERY_FILES L"EFI\\Microsoft\\Boot\\LrsBootmgr.efi" + +#define NULL_GUID_VALUE { 00000000, 0000, 0000, {0000, 0000, 0000, 0000} }; // // global definitions @@ -150,6 +174,8 @@ typedef struct { EFI_HANDLE DeviceHandle; EFI_FILE *RootDir; CHAR16 *VolName; + EFI_GUID VolUuid; + EFI_GUID PartGuid; UINTN VolNumber; EG_IMAGE *VolIconImage; EG_IMAGE *VolBadgeImage; @@ -230,8 +256,11 @@ typedef struct { UINTN LegacyType; UINTN ScanDelay; UINTN ScreensaverTime; + UINTN IconSizes[3]; + UINTN BannerScale; CHAR16 *BannerFileName; EG_IMAGE *ScreenBackground; + CHAR16 *ConfigFilename; CHAR16 *SelectionSmallFileName; CHAR16 *SelectionBigFileName; CHAR16 *DefaultSelection; @@ -239,6 +268,7 @@ typedef struct { CHAR16 *DontScanVolumes; CHAR16 *DontScanDirs; CHAR16 *DontScanFiles; + CHAR16 *WindowsRecoveryFiles; CHAR16 *DriverDirs; CHAR16 *IconsDir; UINTN ShowTools[NUM_TOOLS];