list_special.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. #ifndef _LIST_SPECIAL_H
  18. #define _LIST_SPECIAL_H
  19. #include <stdint.h>
  20. #include <stddef.h>
  21. #include <lists/string_list.h>
  22. #include <retro_environment.h>
  23. RETRO_BEGIN_DECLS
  24. enum dir_list_type
  25. {
  26. DIR_LIST_NONE = 0,
  27. DIR_LIST_CORES,
  28. DIR_LIST_CORE_INFO,
  29. DIR_LIST_DATABASES,
  30. DIR_LIST_COLLECTIONS,
  31. DIR_LIST_PLAIN,
  32. DIR_LIST_SHADERS,
  33. DIR_LIST_AUTOCONFIG,
  34. DIR_LIST_RECURSIVE
  35. };
  36. enum string_list_type
  37. {
  38. STRING_LIST_NONE = 0,
  39. STRING_LIST_MENU_DRIVERS,
  40. STRING_LIST_CAMERA_DRIVERS,
  41. STRING_LIST_BLUETOOTH_DRIVERS,
  42. STRING_LIST_WIFI_DRIVERS,
  43. STRING_LIST_LOCATION_DRIVERS,
  44. STRING_LIST_AUDIO_DRIVERS,
  45. STRING_LIST_AUDIO_RESAMPLER_DRIVERS,
  46. STRING_LIST_VIDEO_DRIVERS,
  47. STRING_LIST_INPUT_DRIVERS,
  48. STRING_LIST_INPUT_JOYPAD_DRIVERS,
  49. STRING_LIST_INPUT_HID_DRIVERS,
  50. STRING_LIST_RECORD_DRIVERS,
  51. #ifdef HAVE_LAKKA
  52. STRING_LIST_TIMEZONES,
  53. #endif
  54. STRING_LIST_MIDI_DRIVERS
  55. };
  56. struct string_list *dir_list_new_special(const char *input_dir,
  57. enum dir_list_type type, const char *filter,
  58. bool show_hidden_files);
  59. struct string_list *string_list_new_special(enum string_list_type type,
  60. void *data, unsigned *len, size_t *list_size);
  61. const char *char_list_new_special(enum string_list_type type, void *data);
  62. RETRO_END_DECLS
  63. #endif