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