libxdg-basedir-1.0.2  1.0.2
include/basedir.h
Go to the documentation of this file.
00001 /* Copyright (c) 2007 Mark Nevill
00002  * 
00003  * Permission is hereby granted, free of charge, to any person
00004  * obtaining a copy of this software and associated documentation
00005  * files (the "Software"), to deal in the Software without
00006  * restriction, including without limitation the rights to use,
00007  * copy, modify, merge, publish, distribute, sublicense, and/or sell
00008  * copies of the Software, and to permit persons to whom the
00009  * Software is furnished to do so, subject to the following
00010  * conditions:
00011  * 
00012  * The above copyright notice and this permission notice shall be
00013  * included in all copies or substantial portions of the Software.
00014  * 
00015  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00016  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
00017  * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
00018  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
00019  * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
00020  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00021  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
00022  * OTHER DEALINGS IN THE SOFTWARE.
00023  */
00024 
00043 #ifndef XDG_BASEDIR_H
00044 #define XDG_BASEDIR_H
00045 
00046 #ifdef __cplusplus
00047 extern "C" {
00048 #endif
00049 
00051 #define XDG_BASEDIR_SPEC 0.6
00052 
00055 
00059 typedef struct /*_xdgHandle*/ {
00061     void *reserved;
00062 } xdgHandle;
00063 
00067 xdgHandle * xdgInitHandle(xdgHandle *handle);
00068 
00071 void xdgWipeHandle(xdgHandle *handle);
00072 
00078 int xdgUpdateData(xdgHandle *handle);
00079 
00083 
00087 const char * xdgDataHome(xdgHandle *handle);
00088 
00092 const char * xdgConfigHome(xdgHandle *handle);
00093 
00098 const char * const * xdgDataDirectories(xdgHandle *handle);
00099 
00106 const char * const * xdgSearchableDataDirectories(xdgHandle *handle);
00107 
00112 const char * const * xdgConfigDirectories(xdgHandle *handle);
00113 
00120 const char * const * xdgSearchableConfigDirectories(xdgHandle *handle);
00121 
00125 const char * xdgCacheHome(xdgHandle *handle);
00126 
00129 #ifdef __cplusplus
00130 } // extern "C"
00131 #endif
00132 
00133 #endif /*XDG_BASEDIR_H*/