\r
#include "Fat.h"\r
\r
+/**\r
+\r
+ Register Driver Binding protocol for this driver.\r
+\r
+ @param ImageHandle - Handle for the image of this driver.\r
+ @param SystemTable - Pointer to the EFI System Table.\r
+\r
+ @retval EFI_SUCCESS - Driver loaded.\r
+ @return other - Driver not loaded.\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
FatEntryPoint (\r
IN EFI_SYSTEM_TABLE *SystemTable\r
);\r
\r
+/**\r
+\r
+ Unload function for this image. Uninstall DriverBinding protocol.\r
+\r
+ @param ImageHandle - Handle for the image of this driver.\r
+\r
+ @retval EFI_SUCCESS - Driver unloaded successfully.\r
+ @return other - Driver can not unloaded.\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
FatUnload (\r
IN EFI_HANDLE ImageHandle\r
);\r
\r
+/**\r
+\r
+ Test to see if this driver can add a file system to ControllerHandle.\r
+ ControllerHandle must support both Disk IO and Block IO protocols.\r
+\r
+ @param This - Protocol instance pointer.\r
+ @param ControllerHandle - Handle of device to test.\r
+ @param RemainingDevicePath - Not used.\r
+\r
+ @retval EFI_SUCCESS - This driver supports this device.\r
+ @retval EFI_ALREADY_STARTED - This driver is already running on this device.\r
+ @return other - This driver does not support this device.\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
FatDriverBindingSupported (\r
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
);\r
\r
+/**\r
+\r
+ Start this driver on ControllerHandle by opening a Block IO and Disk IO\r
+ protocol, reading Device Path. Add a Simple File System protocol to\r
+ ControllerHandle if the media contains a valid file system.\r
+\r
+ @param This - Protocol instance pointer.\r
+ @param ControllerHandle - Handle of device to bind driver to.\r
+ @param RemainingDevicePath - Not used.\r
+\r
+ @retval EFI_SUCCESS - This driver is added to DeviceHandle.\r
+ @retval EFI_ALREADY_STARTED - This driver is already running on DeviceHandle.\r
+ @retval EFI_OUT_OF_RESOURCES - Can not allocate the memory.\r
+ @return other - This driver does not support this device.\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
FatDriverBindingStart (\r
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
);\r
\r
+/**\r
+\r
+ Stop this driver on ControllerHandle.\r
+\r
+ @param This - Protocol instance pointer.\r
+ @param ControllerHandle - Handle of device to stop driver on.\r
+ @param NumberOfChildren - Not used.\r
+ @param ChildHandleBuffer - Not used.\r
+\r
+ @retval EFI_SUCCESS - This driver is removed DeviceHandle.\r
+ @return other - This driver was not removed from this device.\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
FatDriverBindingStop (\r