cdrom: adjust pause behavior
[pcsx_rearmed.git] / deps / libretro-common / include / retro_dirent.h
CommitLineData
3719602c
PC
1/* Copyright (C) 2010-2020 The RetroArch team
2 *
3 * ---------------------------------------------------------------------------------------
4 * The following license statement only applies to this file (retro_dirent.h).
5 * ---------------------------------------------------------------------------------------
6 *
7 * Permission is hereby granted, free of charge,
8 * to any person obtaining a copy of this software and associated documentation files (the "Software"),
9 * to deal in the Software without restriction, including without limitation the rights to
10 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11 * and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
16 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
19 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 */
22
23#ifndef __RETRO_DIRENT_H
24#define __RETRO_DIRENT_H
25
26#include <libretro.h>
27#include <retro_common_api.h>
28
29#include <boolean.h>
30
31RETRO_BEGIN_DECLS
32
33#define DIRENT_REQUIRED_VFS_VERSION 3
34
35void dirent_vfs_init(const struct retro_vfs_interface_info* vfs_info);
36
37typedef struct RDIR RDIR;
38
39/**
40 *
41 * retro_opendir:
42 * @name : path to the directory to open.
43 *
44 * Opens a directory for reading. Tidy up with retro_closedir.
45 *
46 * Returns: RDIR pointer on success, NULL if name is not a
47 * valid directory, null itself or the empty string.
48 */
49struct RDIR *retro_opendir(const char *name);
50
51struct RDIR *retro_opendir_include_hidden(const char *name, bool include_hidden);
52
53int retro_readdir(struct RDIR *rdir);
54
55/* Deprecated, returns false, left for compatibility */
56bool retro_dirent_error(struct RDIR *rdir);
57
58const char *retro_dirent_get_name(struct RDIR *rdir);
59
60/**
61 *
62 * retro_dirent_is_dir:
63 * @rdir : pointer to the directory entry.
64 * @unused : deprecated, included for compatibility reasons, pass NULL
65 *
66 * Is the directory listing entry a directory?
67 *
68 * Returns: true if directory listing entry is
69 * a directory, false if not.
70 */
71bool retro_dirent_is_dir(struct RDIR *rdir, const char *unused);
72
73void retro_closedir(struct RDIR *rdir);
74
75RETRO_END_DECLS
76
77#endif