00001 /* 00002 * This file is part of the MLV Library. 00003 * 00004 * Copyright (C) 2010,2011,2012 Adrien Boussicault, Marc Zipstein 00005 * 00006 * 00007 * This Library is free software: you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation, either version 3 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * This Library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this Library. If not, see <http://www.gnu.org/licenses/>. 00019 */ 00020 00032 #ifndef __MLV__MLV_PATH_H__ 00033 #define __MLV__MLV_PATH_H__ 00034 00035 #include <stdarg.h> 00036 00037 #ifdef __cplusplus 00038 extern "C" { 00039 #endif 00040 00050 char* MLV_get_base_name( const char* path ); 00051 00062 char* MLV_get_directory_name( const char* path ); 00063 00070 int MLV_path_is_absolute( const char* path ); 00071 00078 int MLV_path_is_relative( const char* path ); 00079 00089 int MLV_path_exists( const char* path ); 00090 00097 int MLV_path_is_a_directory( const char* path ); 00098 00105 int MLV_path_is_a_file( const char* path ); 00106 00124 char* MLV_build_path( const char* first_element, ... ); 00125 00135 char* MLV_build_path_v( char** elements ); 00136 00144 char * MLV_get_current_directory( ); 00145 00157 const char * MLV_get_temporary_directory( ); 00158 00166 const char * MLV_get_home_directory( ); 00167 00168 #ifdef __cplusplus 00169 } 00170 #endif 00171 00172 #endif