1 /* RetroArch - A frontend for libretro. 2 * Copyright (C) 2010-2014 - Hans-Kristian Arntzen 3 * Copyright (C) 2011-2017 - Daniel De Matteis 4 * Copyright (C) 2016-2019 - Brad Parker 5 * 6 * RetroArch is free software: you can redistribute it and/or modify it under the terms 7 * of the GNU General Public License as published by the Free Software Found- 8 * ation, either version 3 of the License, or (at your option) any later version. 9 * 10 * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 12 * PURPOSE. See the GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License along with RetroArch. 15 * If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 #ifndef _LIST_SPECIAL_H 19 #define _LIST_SPECIAL_H 20 21 #include <stdint.h> 22 #include <stddef.h> 23 24 #include <lists/string_list.h> 25 #include <retro_environment.h> 26 27 RETRO_BEGIN_DECLS 28 29 enum dir_list_type 30 { 31 DIR_LIST_NONE = 0, 32 DIR_LIST_CORES, 33 DIR_LIST_CORE_INFO, 34 DIR_LIST_DATABASES, 35 DIR_LIST_COLLECTIONS, 36 DIR_LIST_PLAIN, 37 DIR_LIST_SHADERS, 38 DIR_LIST_AUTOCONFIG, 39 DIR_LIST_RECURSIVE 40 }; 41 42 enum string_list_type 43 { 44 STRING_LIST_NONE = 0, 45 STRING_LIST_MENU_DRIVERS, 46 STRING_LIST_CAMERA_DRIVERS, 47 STRING_LIST_BLUETOOTH_DRIVERS, 48 STRING_LIST_WIFI_DRIVERS, 49 STRING_LIST_LOCATION_DRIVERS, 50 STRING_LIST_AUDIO_DRIVERS, 51 STRING_LIST_AUDIO_RESAMPLER_DRIVERS, 52 STRING_LIST_VIDEO_DRIVERS, 53 STRING_LIST_INPUT_DRIVERS, 54 STRING_LIST_INPUT_JOYPAD_DRIVERS, 55 STRING_LIST_INPUT_HID_DRIVERS, 56 STRING_LIST_RECORD_DRIVERS, 57 #ifdef HAVE_LAKKA 58 STRING_LIST_TIMEZONES, 59 #endif 60 STRING_LIST_MIDI_DRIVERS 61 }; 62 63 struct string_list *dir_list_new_special(const char *input_dir, 64 enum dir_list_type type, const char *filter, 65 bool show_hidden_files); 66 67 struct string_list *string_list_new_special(enum string_list_type type, 68 void *data, unsigned *len, size_t *list_size); 69 70 const char *char_list_new_special(enum string_list_type type, void *data); 71 72 RETRO_END_DECLS 73 74 #endif 75