]> code.delx.au - refind/blobdiff - refind/global.h
Improved submenu and information menu appearance over a full-screen
[refind] / refind / global.h
index 49cb08100f68f3404e27894b08669068c517faf6..1e20d9fb3bda071dfc3815271a85529b40eb11b0 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_
@@ -88,7 +88,7 @@
 #define LEGACY_TYPE_MAC  1
 #define LEGACY_TYPE_UEFI 2
 
-#ifndef __MAKEWITH_TIANO
+#ifdef __MAKEWITH_GNUEFI
 //
 // define BBS Device Types
 //
 #define DEVICE_TYPE_BIOS       0x05 /* returned by legacy (BIOS) boot loaders */
 #define DEVICE_TYPE_END        0x75 /* end of path */
 
-//TODO: may want to make this configurable via config file
-//static UINT16 SupportedLegacyDevices[] = {BBS_HARDDISK, BBS_CDROM, BBS_USB};
+// 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
@@ -137,6 +144,7 @@ typedef struct {
    EFI_HANDLE          DeviceHandle;
    EFI_FILE            *RootDir;
    CHAR16              *VolName;
+   UINTN               VolNumber;
    EG_IMAGE            *VolIconImage;
    EG_IMAGE            *VolBadgeImage;
    UINTN               DiskKind;
@@ -152,6 +160,7 @@ typedef struct {
    EFI_DEVICE_PATH     *WholeDiskDevicePath;
    MBR_PARTITION_INFO  *MbrPartitionTable;
    BOOLEAN             IsReadable;
+   UINT32              FSType;
 } REFIT_VOLUME;
 
 typedef struct _refit_menu_entry {
@@ -174,6 +183,8 @@ typedef struct _refit_menu_screen {
    REFIT_MENU_ENTRY **Entries;
    UINTN       TimeoutSeconds;
    CHAR16      *TimeoutText;
+   CHAR16      *Hint1;
+   CHAR16      *Hint2;
 } REFIT_MENU_SCREEN;
 
 typedef struct {
@@ -192,9 +203,9 @@ typedef struct {
 typedef struct {
    REFIT_MENU_ENTRY  me;
    REFIT_VOLUME      *Volume;
-#ifdef __MAKEWITH_TIANO
+#ifndef __MAKEWITH_GNUEFI
    BDS_COMMON_OPTION *BdsOption;
-#endif // __MAKEWITH_TIANO
+#endif
    CHAR16            *LoadOptions;
    BOOLEAN           Enabled;
 } LEGACY_ENTRY;
@@ -204,6 +215,7 @@ typedef struct {
    BOOLEAN     ScanAllLinux;
    UINTN       RequestedScreenWidth;
    UINTN       RequestedScreenHeight;
+   UINTN       BannerBottomEdge;
    UINTN       RequestedTextMode;
    UINTN       Timeout;
    UINTN       HideUIFlags;
@@ -212,10 +224,12 @@ typedef struct {
    UINTN       LegacyType;
    UINTN       ScanDelay;
    CHAR16      *BannerFileName;
+   EG_IMAGE    *ScreenBackground;
    CHAR16      *SelectionSmallFileName;
    CHAR16      *SelectionBigFileName;
    CHAR16      *DefaultSelection;
    CHAR16      *AlsoScan;
+   CHAR16      *DontScanVolumes;
    CHAR16      *DontScanDirs;
    CHAR16      *DontScanFiles;
    CHAR16      *DriverDirs;