]> Git Repo - J-u-boot.git/blobdiff - lib/efi_loader/efi_file.c
eficonfig: menu-driven addition of UEFI boot option
[J-u-boot.git] / lib / efi_loader / efi_file.c
index 7a7077e6d03223ccb6aeec8c38bf7bb9bec4fd8e..c96a7f7ca371f013561cfad3a49083ac9c1f13c2 100644 (file)
@@ -246,10 +246,10 @@ error:
        return NULL;
 }
 
-static efi_status_t efi_file_open_int(struct efi_file_handle *this,
-                                     struct efi_file_handle **new_handle,
-                                     u16 *file_name, u64 open_mode,
-                                     u64 attributes)
+efi_status_t efi_file_open_int(struct efi_file_handle *this,
+                              struct efi_file_handle **new_handle,
+                              u16 *file_name, u64 open_mode,
+                              u64 attributes)
 {
        struct file_handle *fh = to_fh(this);
        efi_status_t ret;
@@ -369,11 +369,17 @@ static efi_status_t file_close(struct file_handle *fh)
        return EFI_SUCCESS;
 }
 
-static efi_status_t EFIAPI efi_file_close(struct efi_file_handle *file)
+efi_status_t efi_file_close_int(struct efi_file_handle *file)
 {
        struct file_handle *fh = to_fh(file);
+
+       return file_close(fh);
+}
+
+static efi_status_t EFIAPI efi_file_close(struct efi_file_handle *file)
+{
        EFI_ENTRY("%p", file);
-       return EFI_EXIT(file_close(fh));
+       return EFI_EXIT(efi_file_close_int(file));
 }
 
 static efi_status_t EFIAPI efi_file_delete(struct efi_file_handle *file)
@@ -562,8 +568,8 @@ static efi_status_t dir_read(struct file_handle *fh, u64 *buffer_size,
        return EFI_SUCCESS;
 }
 
-static efi_status_t efi_file_read_int(struct efi_file_handle *this,
-                                     efi_uintn_t *buffer_size, void *buffer)
+efi_status_t efi_file_read_int(struct efi_file_handle *this,
+                              efi_uintn_t *buffer_size, void *buffer)
 {
        struct file_handle *fh = to_fh(this);
        efi_status_t ret = EFI_SUCCESS;
@@ -773,24 +779,11 @@ out:
        return EFI_EXIT(ret);
 }
 
-/**
- * efi_file_setpos() - set current position in file
- *
- * This function implements the SetPosition service of the EFI file protocol.
- * See the UEFI spec for details.
- *
- * @file:      file handle
- * @pos:       new file position
- * Return:     status code
- */
-static efi_status_t EFIAPI efi_file_setpos(struct efi_file_handle *file,
-                                          u64 pos)
+efi_status_t efi_file_setpos_int(struct efi_file_handle *file, u64 pos)
 {
        struct file_handle *fh = to_fh(file);
        efi_status_t ret = EFI_SUCCESS;
 
-       EFI_ENTRY("%p, %llu", file, pos);
-
        if (fh->isdir) {
                if (pos != 0) {
                        ret = EFI_UNSUPPORTED;
@@ -812,6 +805,28 @@ static efi_status_t EFIAPI efi_file_setpos(struct efi_file_handle *file,
        fh->offset = pos;
 
 error:
+       return ret;
+}
+
+/**
+ * efi_file_setpos() - set current position in file
+ *
+ * This function implements the SetPosition service of the EFI file protocol.
+ * See the UEFI spec for details.
+ *
+ * @file:      file handle
+ * @pos:       new file position
+ * Return:     status code
+ */
+static efi_status_t EFIAPI efi_file_setpos(struct efi_file_handle *file,
+                                          u64 pos)
+{
+       efi_status_t ret = EFI_SUCCESS;
+
+       EFI_ENTRY("%p, %llu", file, pos);
+
+       ret = efi_file_setpos_int(file, pos);
+
        return EFI_EXIT(ret);
 }
 
@@ -1138,17 +1153,23 @@ struct efi_file_handle *efi_file_from_path(struct efi_device_path *fp)
        return f;
 }
 
+efi_status_t efi_open_volume_int(struct efi_simple_file_system_protocol *this,
+                                struct efi_file_handle **root)
+{
+       struct file_system *fs = to_fs(this);
+
+       *root = file_open(fs, NULL, NULL, 0, 0);
+
+       return EFI_SUCCESS;
+}
+
 static efi_status_t EFIAPI
 efi_open_volume(struct efi_simple_file_system_protocol *this,
                struct efi_file_handle **root)
 {
-       struct file_system *fs = to_fs(this);
-
        EFI_ENTRY("%p, %p", this, root);
 
-       *root = file_open(fs, NULL, NULL, 0, 0);
-
-       return EFI_EXIT(EFI_SUCCESS);
+       return EFI_EXIT(efi_open_volume_int(this, root));
 }
 
 struct efi_simple_file_system_protocol *
This page took 0.02946 seconds and 4 git commands to generate.