Index: uspace/lib/ui/include/types/ui/filedialog.h
===================================================================
--- uspace/lib/ui/include/types/ui/filedialog.h	(revision 9b2e20c0a5eabb2e6c8d5c488e41253a920dda59)
+++ uspace/lib/ui/include/types/ui/filedialog.h	(revision 9b2e20c0a5eabb2e6c8d5c488e41253a920dda59)
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2021 Jiri Svoboda
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - The name of the author may not be used to endorse or promote products
+ *   derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/** @addtogroup libui
+ * @{
+ */
+/**
+ * @file File dialog
+ */
+
+#ifndef _UI_TYPES_FILEDIALOG_H
+#define _UI_TYPES_FILEDIALOG_H
+
+#include <errno.h>
+#include <io/kbd_event.h>
+#include <io/pos_event.h>
+#include <types/ui/wdecor.h>
+
+struct ui_file_dialog;
+typedef struct ui_file_dialog ui_file_dialog_t;
+
+/** File dialog parameters */
+typedef struct {
+	/** Window caption */
+	const char *caption;
+} ui_file_dialog_params_t;
+
+/** File dialog callback */
+typedef struct ui_file_dialog_cb {
+	/** OK button was pressed */
+	void (*bok)(ui_file_dialog_t *, void *, const char *);
+	/** Cancel button was pressed */
+	void (*bcancel)(ui_file_dialog_t *, void *);
+	/** Window closure requested (e.g. via close button) */
+	void (*close)(ui_file_dialog_t *, void *);
+} ui_file_dialog_cb_t;
+
+#endif
+
+/** @}
+ */
Index: uspace/lib/ui/include/ui/entry.h
===================================================================
--- uspace/lib/ui/include/ui/entry.h	(revision 5de71dfb3bf8ce93e00d0e42a832ab431913b610)
+++ uspace/lib/ui/include/ui/entry.h	(revision 9b2e20c0a5eabb2e6c8d5c488e41253a920dda59)
@@ -52,4 +52,5 @@
 extern void ui_entry_set_read_only(ui_entry_t *, bool);
 extern errno_t ui_entry_set_text(ui_entry_t *, const char *);
+extern const char *ui_entry_get_text(ui_entry_t *);
 extern errno_t ui_entry_paint(ui_entry_t *);
 extern void ui_entry_backspace(ui_entry_t *);
Index: uspace/lib/ui/include/ui/filedialog.h
===================================================================
--- uspace/lib/ui/include/ui/filedialog.h	(revision 9b2e20c0a5eabb2e6c8d5c488e41253a920dda59)
+++ uspace/lib/ui/include/ui/filedialog.h	(revision 9b2e20c0a5eabb2e6c8d5c488e41253a920dda59)
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2021 Jiri Svoboda
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - The name of the author may not be used to endorse or promote products
+ *   derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/** @addtogroup libui
+ * @{
+ */
+/**
+ * @file File dialog
+ */
+
+#ifndef _UI_FILEDIALOG_H
+#define _UI_FILEDIALOG_H
+
+#include <errno.h>
+#include <types/ui/filedialog.h>
+#include <types/ui/ui.h>
+
+extern void ui_file_dialog_params_init(ui_file_dialog_params_t *);
+extern errno_t ui_file_dialog_create(ui_t *, ui_file_dialog_params_t *,
+    ui_file_dialog_t **);
+extern void ui_file_dialog_set_cb(ui_file_dialog_t *, ui_file_dialog_cb_t *,
+    void *);
+extern void ui_file_dialog_destroy(ui_file_dialog_t *);
+
+#endif
+
+/** @}
+ */
Index: uspace/lib/ui/include/ui/msgdialog.h
===================================================================
--- uspace/lib/ui/include/ui/msgdialog.h	(revision 5de71dfb3bf8ce93e00d0e42a832ab431913b610)
+++ uspace/lib/ui/include/ui/msgdialog.h	(revision 9b2e20c0a5eabb2e6c8d5c488e41253a920dda59)
@@ -31,9 +31,9 @@
  */
 /**
- * @file Message Dialog
+ * @file Message dialog
  */
 
-#ifndef _UI_MSG_DIALOG_H
-#define _UI_MSG_DIALOG_H
+#ifndef _UI_MSGDIALOG_H
+#define _UI_MSGDIALOG_H
 
 #include <errno.h>
