Index: uspace/lib/ui/include/types/ui/filelist.h
===================================================================
--- uspace/lib/ui/include/types/ui/filelist.h	(revision 1fa629278c12955a4a1792e6fd19f28ffcb4e398)
+++ uspace/lib/ui/include/types/ui/filelist.h	(revision e43acd38c0225c4fac18ac08d9da30ca442ef906)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2022 Jiri Svoboda
+ * Copyright (c) 2025 Jiri Svoboda
  * All rights reserved.
  *
@@ -37,4 +37,8 @@
 #define _UI_TYPES_FILELIST_H
 
+#include <loc.h>
+#include <stdbool.h>
+#include <stdint.h>
+
 struct ui_file_list;
 typedef struct ui_file_list ui_file_list_t;
@@ -43,6 +47,15 @@
 typedef struct ui_file_list_entry ui_file_list_entry_t;
 
-struct ui_file_list_entry_attr;
-typedef struct ui_file_list_entry_attr ui_file_list_entry_attr_t;
+/** File list entry attributes */
+typedef struct ui_file_list_entry_attr {
+	/** File name */
+	const char *name;
+	/** File size */
+	uint64_t size;
+	/** @c true iff entry is a directory */
+	bool isdir;
+	/** Service number for service special entries */
+	service_id_t svc;
+} ui_file_list_entry_attr_t;
 
 /** File list callbacks */
Index: uspace/lib/ui/include/ui/filelist.h
===================================================================
--- uspace/lib/ui/include/ui/filelist.h	(revision 1fa629278c12955a4a1792e6fd19f28ffcb4e398)
+++ uspace/lib/ui/include/ui/filelist.h	(revision e43acd38c0225c4fac18ac08d9da30ca442ef906)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2023 Jiri Svoboda
+ * Copyright (c) 2025 Jiri Svoboda
  * All rights reserved.
  *
@@ -54,4 +54,6 @@
 extern errno_t ui_file_list_open(ui_file_list_t *, ui_file_list_entry_t *);
 extern ui_file_list_entry_t *ui_file_list_get_cursor(ui_file_list_t *);
+extern void ui_file_list_entry_get_attr(ui_file_list_entry_t *,
+    ui_file_list_entry_attr_t *);
 
 #endif
Index: uspace/lib/ui/private/filelist.h
===================================================================
--- uspace/lib/ui/private/filelist.h	(revision 1fa629278c12955a4a1792e6fd19f28ffcb4e398)
+++ uspace/lib/ui/private/filelist.h	(revision e43acd38c0225c4fac18ac08d9da30ca442ef906)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2023 Jiri Svoboda
+ * Copyright (c) 2025 Jiri Svoboda
  * All rights reserved.
  *
@@ -43,16 +43,4 @@
 #include <stdint.h>
 #include <types/ui/filelist.h>
-
-/** File list entry attributes */
-struct ui_file_list_entry_attr {
-	/** File name */
-	const char *name;
-	/** File size */
-	uint64_t size;
-	/** @c true iff entry is a directory */
-	bool isdir;
-	/** Service number for service special entries */
-	service_id_t svc;
-};
 
 /** File list entry */
Index: uspace/lib/ui/src/filelist.c
===================================================================
--- uspace/lib/ui/src/filelist.c	(revision 1fa629278c12955a4a1792e6fd19f28ffcb4e398)
+++ uspace/lib/ui/src/filelist.c	(revision e43acd38c0225c4fac18ac08d9da30ca442ef906)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2023 Jiri Svoboda
+ * Copyright (c) 2025 Jiri Svoboda
  * All rights reserved.
  *
@@ -535,4 +535,18 @@
 }
 
+/** Get file list entry attributes.
+ *
+ * @param entry File list entry
+ * @return Current cursor
+ */
+void ui_file_list_entry_get_attr(ui_file_list_entry_t *entry,
+    ui_file_list_entry_attr_t *attr)
+{
+	attr->name = entry->name;
+	attr->size = entry->size;
+	attr->isdir = entry->isdir;
+	attr->svc = entry->svc;
+}
+
 /** Open file list entry.
  *
