#define FS_TYPE_HFSPLUS 8
#define FS_TYPE_REISERFS 9
#define FS_TYPE_BTRFS 10
-#define FS_TYPE_ISO9660 11
+#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"
CHAR16 *PartName;
EFI_GUID VolUuid;
EFI_GUID PartGuid;
+ EFI_GUID PartTypeGuid;
+ BOOLEAN IsMarkedReadOnly;
UINTN VolNumber;
EG_IMAGE *VolIconImage;
EG_IMAGE *VolBadgeImage;
} 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;
+ UINTN ShowTools[NUM_TOOLS];
+ CHAR8 ScanFor[NUM_SCAN_OPTIONS]; // codes of types of loaders for which to scan
} REFIT_CONFIG;
// Global variables
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);