Core commit. Compile and run on the OpenPandora
[mupen64plus-pandora.git] / source / mupen64plus-core / src / osal / files.h
CommitLineData
451ab91e 1/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2 * Mupen64plus-core - osal/files.h *
3 * Mupen64Plus homepage: http://code.google.com/p/mupen64plus/ *
4 * Copyright (C) 2009 Richard Goedeken *
5 * *
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. *
10 * *
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. *
15 * *
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 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
21
22/* This file contains the declarations for OS-dependent file handling
23 * functions
24 */
25
26#if !defined (OSAL_FILES_H)
27#define OSAL_FILES_H
28
29/* some file-related preprocessor definitions */
30#if defined(WIN32) && !defined(__MINGW32__)
31 #include <io.h> // For _unlink()
32 #define unlink _unlink
33
34 #define OSAL_DIR_SEPARATORS "\\/"
35 #define PATH_MAX _MAX_PATH
36#else /* Not WIN32 */
37 #include <limits.h> // for PATH_MAX
38 #include <unistd.h> // for unlink()
39
40 #define OSAL_DIR_SEPARATORS "/"
41
42 /* PATH_MAX only may be defined by limits.h */
43 #ifndef PATH_MAX
44 #define PATH_MAX 4096
45 #endif
46#endif
47
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.
51 */
52extern int osal_mkdirp(const char *dirpath, int mode);
53
54extern const char * osal_get_shared_filepath(const char *filename, const char *firstsearch, const char *secondsearch);
55extern const char * osal_get_user_configpath(void);
56extern const char * osal_get_user_datapath(void);
57extern const char * osal_get_user_cachepath(void);
58
59#endif /* OSAL_FILES_H */
60