#ifndef EFI_PROTOCOLS_DRIVER_BINDING_H #define EFI_PROTOCOLS_DRIVER_BINDING_H #define EFI_DRIVER_BINDING_PROTOCOL_GUID {0x18a031ab,0xb443,0x4d1a, {0xa5,0xc0,0x0c,0x09,0x26,0x1e,0x9f,0x71}} typedef struct _EFI_DRIVER_BINDING_PROTOCOL EFI_DRIVER_BINDING_PROTOCOL; typedef EFI_STATUS (EFIAPI *EFI_DRIVER_BINDING_PROTOCOL_SUPPORTED)( IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL ); typedef EFI_STATUS (EFIAPI *EFI_DRIVER_BINDING_PROTOCOL_START)( IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL ); typedef EFI_STATUS (EFIAPI *EFI_DRIVER_BINDING_PROTOCOL_STOP)( IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN UINTN NumberOfChildren, IN EFI_DEVICE_PATH_PROTOCOL *ChildHandleBuffer OPTIONAL ); typedef struct _EFI_DRIVER_BINDING_PROTOCOL { EFI_DRIVER_BINDING_PROTOCOL_SUPPORTED Supported; EFI_DRIVER_BINDING_PROTOCOL_START Start; EFI_DRIVER_BINDING_PROTOCOL_STOP Stop; UINT32 Version; EFI_HANDLE ImageHandle; EFI_HANDLE DriverBindingHandle; } EFI_DRIVER_BINDING_PROTOCOL; #endif /* EFI_PROTOCOLS_DRIVER_BINDING_H */