]> code.delx.au - refind/blobdiff - refind/global.h
Added "windows_recovery" option to "showtools" token and
[refind] / refind / global.h
index 8fa2320a50a1b818b3333ca9178b12765c8a49b7..ee4876438a0d1ea566c3c062251f1981e3979100 100644 (file)
@@ -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-2013 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 NUM_TOOLS            (16)
 
 #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
+
+// 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\\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
@@ -144,6 +158,8 @@ typedef struct {
    EFI_HANDLE          DeviceHandle;
    EFI_FILE            *RootDir;
    CHAR16              *VolName;
+   EFI_GUID            VolUuid;
+   UINTN               VolNumber;
    EG_IMAGE            *VolIconImage;
    EG_IMAGE            *VolBadgeImage;
    UINTN               DiskKind;
@@ -214,6 +230,7 @@ typedef struct {
    BOOLEAN     ScanAllLinux;
    UINTN       RequestedScreenWidth;
    UINTN       RequestedScreenHeight;
+   UINTN       BannerBottomEdge;
    UINTN       RequestedTextMode;
    UINTN       Timeout;
    UINTN       HideUIFlags;
@@ -221,7 +238,10 @@ typedef struct {
    UINTN       GraphicsFor;
    UINTN       LegacyType;
    UINTN       ScanDelay;
+   UINTN       ScreensaverTime;
    CHAR16      *BannerFileName;
+   EG_IMAGE    *ScreenBackground;
+   CHAR16      *ConfigFilename;
    CHAR16      *SelectionSmallFileName;
    CHAR16      *SelectionBigFileName;
    CHAR16      *DefaultSelection;
@@ -229,6 +249,7 @@ typedef struct {
    CHAR16      *DontScanVolumes;
    CHAR16      *DontScanDirs;
    CHAR16      *DontScanFiles;
+   CHAR16      *WindowsRecoveryFiles;
    CHAR16      *DriverDirs;
    CHAR16      *IconsDir;
    UINTN       ShowTools[NUM_TOOLS];