]> code.delx.au - refind/blobdiff - refind/driver_support.h
Fixed uninitialized-pointer bug that manifested as a crash with
[refind] / refind / driver_support.h
index 0c64f5e4d0d96b01d5dd00b508a52c03d91d7976..fa9ba60a69ad9bab230eb45cb39648e9480cfc69 100644 (file)
  *
  */
 
-#include <efi/efi.h>
-#include <efi/efilib.h>
-
 #ifndef _DRIVER_SUPPORT
 #define _DRIVER_SUPPORT
 
-// Below is from http://git.etherboot.org/?p=mirror/efi/shell/.git;a=commitdiff;h=b1b0c63423cac54dc964c2930e04aebb46a946ec;
-// Seems to have been replaced by ParseHandleDatabaseByRelationshipWithType(), but the latter isn't working for me....
-EFI_STATUS
-LibScanHandleDatabase (
-  EFI_HANDLE  DriverBindingHandle, OPTIONAL
-  UINT32      *DriverBindingHandleIndex, OPTIONAL
-  EFI_HANDLE  ControllerHandle, OPTIONAL
-  UINT32      *ControllerHandleIndex, OPTIONAL
-  UINTN       *HandleCount,
-  EFI_HANDLE  **HandleBuffer,
-  UINT32      **HandleType
-  );
-
+#ifdef __MAKEWITH_GNUEFI
+#include <efi.h>
+#else
+#include "../include/tiano_includes.h"
+#endif
+#include "global.h"
 
 #define EFI_HANDLE_TYPE_UNKNOWN                     0x000
 #define EFI_HANDLE_TYPE_IMAGE_HANDLE                0x001
@@ -50,4 +40,20 @@ LibScanHandleDatabase (
 #define EFI_HANDLE_TYPE_CONTROLLER_HANDLE           0x200
 #define EFI_HANDLE_TYPE_CHILD_HANDLE                0x400
 
+// Below is from http://git.etherboot.org/?p=mirror/efi/shell/.git;a=commitdiff;h=b1b0c63423cac54dc964c2930e04aebb46a946ec;
+// Seems to have been replaced by ParseHandleDatabaseByRelationshipWithType(), but the latter isn't working for me....
+EFI_STATUS
+LibScanHandleDatabase (
+  EFI_HANDLE  DriverBindingHandle, OPTIONAL
+  UINT32      *DriverBindingHandleIndex, OPTIONAL
+  EFI_HANDLE  ControllerHandle, OPTIONAL
+  UINT32      *ControllerHandleIndex, OPTIONAL
+  UINTN       *HandleCount,
+  EFI_HANDLE  **HandleBuffer,
+  UINT32      **HandleType
+  );
+EFI_STATUS ConnectAllDriversToAllControllers(VOID);
+VOID ConnectFilesystemDriver(EFI_HANDLE DriverHandle);
+VOID LoadDrivers(VOID);
+
 #endif