]> code.delx.au - refind/blobdiff - refind/global.h
Refinement to hint function for greater context sensitivity.
[refind] / refind / global.h
index 62845d781cc88c9d057fad8da9afb877db550a55..511dcace4ee70fc645781c8f953e9e3652b9fe36 100644 (file)
  */
 /*
  * Modifications copyright (c) 2012 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
  * with this source code or binaries made from it.
- * 
+ *
  */
 
 #ifndef __GLOBAL_H_
 #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_NON_MAC (10)
-#define NUM_TOOLS    (9)
+#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 NUM_SCAN_OPTIONS 10
 
 #define BBS_UNKNOWN       0xff
 #endif
 
-//TODO: may want to make this configurable via config file
-//static UINT16 SupportedLegacyDevices[] = {BBS_HARDDISK, BBS_CDROM, BBS_USB};
+// BIOS Boot Specification (BBS) device types, as returned in DevicePath->Type field
+#define DEVICE_TYPE_HW         0x01
+#define DEVICE_TYPE_ACPI       0x02 /* returned by UEFI boot loader on USB */
+#define DEVICE_TYPE_MESSAGING  0x03
+#define DEVICE_TYPE_MEDIA      0x04 /* returned by EFI boot loaders on hard disk */
+#define DEVICE_TYPE_BIOS       0x05 /* returned by legacy (BIOS) boot loaders */
+#define DEVICE_TYPE_END        0x75 /* end of path */
+
+// Filesystem type identifiers. Not all are yet used....
+#define FS_TYPE_UNKNOWN        0
+#define FS_TYPE_FAT            1
+#define FS_TYPE_EXT2           2
+#define FS_TYPE_EXT3           3
+#define FS_TYPE_EXT4           4
+#define FS_TYPE_HFSPLUS        5
+#define FS_TYPE_REISERFS       6
+#define FS_TYPE_ISO9660        7
 
 //
 // global definitions
@@ -142,6 +159,7 @@ typedef struct {
    EFI_DEVICE_PATH     *WholeDiskDevicePath;
    MBR_PARTITION_INFO  *MbrPartitionTable;
    BOOLEAN             IsReadable;
+   UINT32              FSType;
 } REFIT_VOLUME;
 
 typedef struct _refit_menu_entry {
@@ -164,6 +182,8 @@ typedef struct _refit_menu_screen {
    REFIT_MENU_ENTRY **Entries;
    UINTN       TimeoutSeconds;
    CHAR16      *TimeoutText;
+   CHAR16      *Hint1;
+   CHAR16      *Hint2;
 } REFIT_MENU_SCREEN;
 
 typedef struct {
@@ -194,6 +214,7 @@ typedef struct {
    BOOLEAN     ScanAllLinux;
    UINTN       RequestedScreenWidth;
    UINTN       RequestedScreenHeight;
+   UINTN       RequestedTextMode;
    UINTN       Timeout;
    UINTN       HideUIFlags;
    UINTN       MaxTags;     // max. number of OS entries to show simultaneously in graphics mode
@@ -205,7 +226,9 @@ typedef struct {
    CHAR16      *SelectionBigFileName;
    CHAR16      *DefaultSelection;
    CHAR16      *AlsoScan;
-   CHAR16      *DontScan;
+   CHAR16      *DontScanVolumes;
+   CHAR16      *DontScanDirs;
+   CHAR16      *DontScanFiles;
    CHAR16      *DriverDirs;
    CHAR16      *IconsDir;
    UINTN       ShowTools[NUM_TOOLS];