]> code.delx.au - refind/blobdiff - refind/global.h
Further refinement to spoof_osx_version feature, including HTML
[refind] / refind / global.h
index 584b108105551a07477ec11256cd7d8c162256e4..30de68c6c5fd236924ee903fc7f14caee7cfee7e 100644 (file)
 
 // 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_BTRFS          7
-#define FS_TYPE_ISO9660        8
+#define FS_TYPE_WHOLEDISK      1
+#define FS_TYPE_FAT            2
+#define FS_TYPE_EXFAT          3
+#define FS_TYPE_NTFS           4
+#define FS_TYPE_EXT2           5
+#define FS_TYPE_EXT3           6
+#define FS_TYPE_EXT4           7
+#define FS_TYPE_HFSPLUS        8
+#define FS_TYPE_REISERFS       9
+#define FS_TYPE_BTRFS          10
+#define FS_TYPE_XFS            11
+#define FS_TYPE_ISO9660        12
 
 // How to scale banner images
 #define BANNER_NOSCALE         0
 #define ICON_SIZE_BIG   2
 
 // Names of binaries that can manage MOKs....
-#define MOK_NAMES               L"MokManager.efi,HashTool.efi,HashTool-signed.efi"
+#define MOK_NAMES               L"MokManager.efi,HashTool.efi,HashTool-signed.efi,KeyTool.efi,KeyTool-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"
@@ -201,6 +205,8 @@ typedef struct {
    CHAR16              *PartName;
    EFI_GUID            VolUuid;
    EFI_GUID            PartGuid;
+   EFI_GUID            PartTypeGuid;
+   BOOLEAN             IsMarkedReadOnly;
    UINTN               VolNumber;
    EG_IMAGE            *VolIconImage;
    EG_IMAGE            *VolBadgeImage;
@@ -266,38 +272,42 @@ typedef struct {
 } LEGACY_ENTRY;
 
 typedef struct {
-   BOOLEAN     TextOnly;
-   BOOLEAN     ScanAllLinux;
-   BOOLEAN     DeepLegacyScan;
-   BOOLEAN     EnableAndLockVMX;
-   UINTN       RequestedScreenWidth;
-   UINTN       RequestedScreenHeight;
-   UINTN       BannerBottomEdge;
-   UINTN       RequestedTextMode;
-   UINTN       Timeout;
-   UINTN       HideUIFlags;
-   UINTN       MaxTags;     // max. number of OS entries to show simultaneously in graphics mode
-   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      *AlsoScan;
-   CHAR16      *DontScanVolumes;
-   CHAR16      *DontScanDirs;
-   CHAR16      *DontScanFiles;
-   CHAR16      *WindowsRecoveryFiles;
-   CHAR16      *DriverDirs;
-   CHAR16      *IconsDir;
-   UINTN       ShowTools[NUM_TOOLS];
-   CHAR8       ScanFor[NUM_SCAN_OPTIONS]; // codes of types of loaders for which to scan
+   BOOLEAN          TextOnly;
+   BOOLEAN          ScanAllLinux;
+   BOOLEAN          DeepLegacyScan;
+   BOOLEAN          EnableAndLockVMX;
+   BOOLEAN          FoldLinuxKernels;
+   UINTN            RequestedScreenWidth;
+   UINTN            RequestedScreenHeight;
+   UINTN            BannerBottomEdge;
+   UINTN            RequestedTextMode;
+   UINTN            Timeout;
+   UINTN            HideUIFlags;
+   UINTN            MaxTags;     // max. number of OS entries to show simultaneously in graphics mode
+   UINTN            GraphicsFor;
+   UINTN            LegacyType;
+   UINTN            ScanDelay;
+   UINTN            ScreensaverTime;
+   UINTN            IconSizes[3];
+   UINTN            BannerScale;
+   REFIT_VOLUME     *DiscoveredRoot;
+   EFI_DEVICE_PATH  *SelfDevicePath;
+   CHAR16           *BannerFileName;
+   EG_IMAGE         *ScreenBackground;
+   CHAR16           *ConfigFilename;
+   CHAR16           *SelectionSmallFileName;
+   CHAR16           *SelectionBigFileName;
+   CHAR16           *DefaultSelection;
+   CHAR16           *AlsoScan;
+   CHAR16           *DontScanVolumes;
+   CHAR16           *DontScanDirs;
+   CHAR16           *DontScanFiles;
+   CHAR16           *WindowsRecoveryFiles;
+   CHAR16           *DriverDirs;
+   CHAR16           *IconsDir;
+   CHAR16           *SpoofOSXVersion;
+   UINTN            ShowTools[NUM_TOOLS];
+   CHAR8            ScanFor[NUM_SCAN_OPTIONS]; // codes of types of loaders for which to scan
 } REFIT_CONFIG;
 
 // Global variables
@@ -325,10 +335,9 @@ EFI_STATUS StartEFIImageList(IN EFI_DEVICE_PATH **DevicePaths,
                              IN BOOLEAN IsDriver);
 LOADER_ENTRY *InitializeLoaderEntry(IN LOADER_ENTRY *Entry);
 REFIT_MENU_SCREEN *InitializeSubScreen(IN LOADER_ENTRY *Entry);
-VOID GenerateSubScreen(LOADER_ENTRY *Entry, IN REFIT_VOLUME *Volume);
+VOID GenerateSubScreen(LOADER_ENTRY *Entry, IN REFIT_VOLUME *Volume, IN BOOLEAN GenerateReturn);
 EG_IMAGE * GetDiskBadge(IN UINTN DiskType);
 LOADER_ENTRY * MakeGenericLoaderEntry(VOID);
-LOADER_ENTRY * AddLoaderEntry(IN CHAR16 *LoaderPath, IN CHAR16 *LoaderTitle, IN REFIT_VOLUME *Volume);
 VOID SetLoaderDefaults(LOADER_ENTRY *Entry, CHAR16 *LoaderPath, IN REFIT_VOLUME *Volume);
 LOADER_ENTRY * AddPreparedLoaderEntry(LOADER_ENTRY *Entry);
 VOID StoreLoaderName(IN CHAR16 *Name);