efi_file_protocol
efi_status (*Open) (struct efi_file_protocol* self, struct efi_file_protocol** new_handle,
efi_status (*Close) (struct efi_file_protocol* self) EFIAPI;
efi_status (*Delete) (struct efi_file_protocol* self) EFIAPI;
efi_status (*Read) (struct efi_file_protocol* self, size_t* len, void* buf) EFIAPI;
efi_status (*Write) (struct efi_file_protocol* self, size_t* len, void* buf) EFIAPI;
efi_status (*GetPosition) (struct efi_file_protocol* self, uint64_t* position) EFIAPI;
efi_status (*SetPosition) (struct efi_file_protocol* self, uint64_t position) EFIAPI;
efi_status (*GetInfo) (struct efi_file_protocol* self, efi_guid* info_type,
efi_status (*SetInfo) (struct efi_file_protocol* self, efi_guid* info_type,
efi_status (*Flush) (struct efi_file_protocol* self) EFIAPI;
efi_status (*OpenEx) (struct efi_file_protocol* self, struct efi_file_protocol* new_handle,
efi_status (*ReadEx) (struct efi_file_protocol* self, efi_file_io_token* token) EFIAPI;
efi_status (*WriteEx) (struct efi_file_protocol* self, efi_file_io_token* token) EFIAPI;
efi_status (*FlushEx) (struct efi_file_protocol* self, efi_file_io_token* token) EFIAPI;
efi_file_protocol** root) EFIAPI;