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