xref: /qemu/include/qemu/datadir.h (revision 06b40d250ecfa1633209c2e431a7a38acfd03a98)
1 #ifndef QEMU_DATADIR_H
2 #define QEMU_DATADIR_H
3 
4 typedef enum {
5     QEMU_FILE_TYPE_BIOS,
6     QEMU_FILE_TYPE_DTB,
7     QEMU_FILE_TYPE_KEYMAP,
8 } QemuFileType;
9 
10 /**
11  * qemu_find_file:
12  * @type: QEMU_FILE_TYPE_BIOS (for BIOS, VGA BIOS)
13  *        QEMU_FILE_TYPE_DTB (for device tree blobs)
14  *        or QEMU_FILE_TYPE_KEYMAP (for keymaps).
15  * @name: Relative or absolute file name
16  *
17  * If @name exists on disk as an absolute path, or a path relative
18  * to the current directory, then returns @name unchanged.
19  * Otherwise searches for @name file in the data directories, either
20  * configured at build time (DATADIR) or registered with the -L command
21  * line option.
22  *
23  * The caller must use g_free() to free the returned data when it is
24  * no longer required.
25  *
26  * Returns: a path that can access @name, or NULL if no matching file exists.
27  */
28 char *qemu_find_file(QemuFileType type, const char *name);
29 void qemu_add_default_firmwarepath(void);
30 void qemu_add_data_dir(char *path);
31 void qemu_list_data_dirs(void);
32 
33 #endif
34