1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2 * Mupen64plus-core - osal/files.h *
3 * Mupen64Plus homepage: http://code.google.com/p/mupen64plus/ *
4 * Copyright (C) 2009 Richard Goedeken *
6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation; either version 2 of the License, or *
9 * (at your option) any later version. *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program; if not, write to the *
18 * Free Software Foundation, Inc., *
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
20 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
22 /* This file contains the declarations for OS-dependent file handling
26 #if !defined (OSAL_FILES_H)
29 /* some file-related preprocessor definitions */
30 #if defined(WIN32) && !defined(__MINGW32__)
31 #include <io.h> // For _unlink()
32 #define unlink _unlink
34 #define OSAL_DIR_SEPARATORS "\\/"
35 #define PATH_MAX _MAX_PATH
37 #include <limits.h> // for PATH_MAX
38 #include <unistd.h> // for unlink()
40 #define OSAL_DIR_SEPARATORS "/"
42 /* PATH_MAX only may be defined by limits.h */
48 /* Create a directory path recursively.
49 * Returns zero on success, nonzero on failure.
50 * Note that, unlike mkdir(), this function succeeds if the path already exists.
52 extern int osal_mkdirp(const char *dirpath, int mode);
54 extern const char * osal_get_shared_filepath(const char *filename, const char *firstsearch, const char *secondsearch);
55 extern const char * osal_get_user_configpath(void);
56 extern const char * osal_get_user_datapath(void);
57 extern const char * osal_get_user_cachepath(void);
59 #endif /* OSAL_FILES_H */