* 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
#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
#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"
//
// global definitions
EFI_HANDLE DeviceHandle;
EFI_FILE *RootDir;
CHAR16 *VolName;
+ EFI_GUID VolUuid;
UINTN VolNumber;
EG_IMAGE *VolIconImage;
EG_IMAGE *VolBadgeImage;
UINTN GraphicsFor;
UINTN LegacyType;
UINTN ScanDelay;
+ UINTN ScreensaverTime;
+ UINTN IconSizes[3];
+ UINTN BannerScale;
CHAR16 *BannerFileName;
EG_IMAGE *ScreenBackground;
+ CHAR16 *ConfigFilename;
CHAR16 *SelectionSmallFileName;
CHAR16 *SelectionBigFileName;
CHAR16 *DefaultSelection;
CHAR16 *DontScanVolumes;
CHAR16 *DontScanDirs;
CHAR16 *DontScanFiles;
+ CHAR16 *WindowsRecoveryFiles;
CHAR16 *DriverDirs;
CHAR16 *IconsDir;
UINTN ShowTools[NUM_TOOLS];