Differentiate between shipped and runtime generated files with NEED_WRITE flag.
[kugel-rb.git] / apps / paths.h
blob98a49a612e588bb2c6864b47b223452104b53020
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (C) 2010 Thomas Martitz
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
22 #ifndef __PATHS_H__
23 #define __PATHS_H__
25 #include <stdbool.h>
26 #include "autoconf.h"
28 #ifndef APPLICATION
31 /* name of directory where configuration, fonts and other data
32 * files are stored */
33 #ifdef __PCTOOL__
34 #undef ROCKBOX_DIR
35 #undef ROCKBOX_DIR_LEN
36 #undef WPS_DIR
37 #define ROCKBOX_DIR "."
38 #define ROCKBOX_DIR_LEN 1
39 #else
41 /* make sure both are the same for native builds */
42 #undef ROCKBOX_LIBRARY_PATH
43 #define ROCKBOX_LIBRARY_PATH ROCKBOX_DIR
45 /* ROCKBOX_DIR is now defined in autoconf.h for flexible build types */
46 #ifndef ROCKBOX_DIR
47 #error ROCKBOX_DIR not defined (should be in autoconf.h)
48 #endif
49 #define ROCKBOX_DIR_LEN sizeof(ROCKBOX_DIR)
50 #endif /* def __PCTOOL__ */
52 #define ROCKBOX_DIR ROCKBOX_DIR
53 #define PLUGIN_DIR ROCKBOX_DIR "/rocks"
54 #define CODECS_DIR ROCKBOX_DIR "/codecs"
56 #define REC_BASE_DIR "/"
57 #define PLAYLIST_CATALOG_DEFAULT_DIR "/Playlists"
59 inline const char* get_user_file_path(const char *path,
60 unsigned flags,
61 char* buf,
62 const size_t bufsize)
64 return path;
67 #else /* application */
69 extern const char * rb_home_config_dir;
71 #define PLUGIN_DIR ROCKBOX_LIBRARY_PATH "/rockbox/rocks"
72 #define CODECS_DIR ROCKBOX_LIBRARY_PATH "/rockbox/codecs"
74 #define REC_BASE_DIR ROCKBOX_DIR "/"
75 #define PLAYLIST_CATALOG_DEFAULT_DIR ROCKBOX_DIR "/Playlists"
77 extern const char* get_user_file_path(const char *path,
78 unsigned flags,
79 char* buf,
80 const size_t bufsize);
81 #endif /* APPLICATION */
83 #define NEED_WRITE (1<<0)
84 #define IS_FILE (1<<1)
86 #define PLUGIN_GAMES_DIR PLUGIN_DIR "/games"
87 #define PLUGIN_APPS_DIR PLUGIN_DIR "/apps"
88 #define PLUGIN_DEMOS_DIR PLUGIN_DIR "/demos"
89 #define VIEWERS_DIR PLUGIN_DIR "/viewers"
92 #define LANG_DIR ROCKBOX_DIR "/langs"
93 #define WPS_DIR ROCKBOX_DIR "/wps"
94 #define SBS_DIR WPS_DIR
95 #define THEME_DIR ROCKBOX_DIR "/themes"
96 #define FONT_DIR ROCKBOX_DIR "/fonts"
97 #define ICON_DIR ROCKBOX_DIR "/icons"
99 #define BACKDROP_DIR ROCKBOX_DIR "/backdrops"
100 #define EQS_DIR ROCKBOX_DIR "/eqs"
101 #define RECPRESETS_DIR ROCKBOX_DIR "/recpresets"
102 #define FMPRESET_PATH ROCKBOX_DIR "/fmpresets"
104 #define VIEWERS_CONFIG ROCKBOX_DIR "/viewers.config"
105 #define CONFIGFILE ROCKBOX_DIR "/config.cfg"
106 #define FIXEDSETTINGSFILE ROCKBOX_DIR "/fixed.cfg"
108 #define PLAYLIST_CONTROL_FILE ROCKBOX_DIR "/.playlist_control"
109 #define NVRAM_FILE ROCKBOX_DIR "/nvram.bin"
110 #endif /* __PATHS_H__ */