head 1.6; access; symbols INITIAL:1.1.1.1 VENDOR:1.1.1; locks; strict; comment @ * @; 1.6 date 2003.02.16.11.39.22; author rse; state Exp; branches; next 1.5; 1.5 date 2002.08.27.19.04.33; author rse; state Exp; branches; next 1.4; 1.4 date 2002.08.23.15.33.18; author rse; state Exp; branches; next 1.3; 1.3 date 2002.08.03.21.00.14; author rse; state Exp; branches; next 1.2; 1.2 date 2002.08.03.10.23.41; author rse; state Exp; branches; next 1.1; 1.1 date 2002.01.21.13.32.34; author rse; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2002.01.21.13.32.34; author rse; state Exp; branches; next ; desc @@ 1.6 log @update copyright messages for new year 2003 @ text @/* ** OSSP path - Filesystem Path Manipulation ** Copyright (c) 2002-2003 Ralf S. Engelschall ** Copyright (c) 2002-2003 The OSSP Project ** Copyright (c) 2002-2003 Cable & Wireless Deutschland ** ** This file is part of OSSP path, a filesystem path manipulation library ** which can be found at http://www.ossp.org/pkg/lib/path/. ** ** Permission to use, copy, modify, and distribute this software for ** any purpose with or without fee is hereby granted, provided that ** the above copyright notice and this permission notice appear in all ** copies. ** ** THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ** IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ** SUCH DAMAGE. ** ** path.h: API definition */ #ifndef __PATH_H__ #define __PATH_H__ typedef enum { PATH_OK = 0, PATH_ERR_ARG, PATH_ERR_USE, PATH_ERR_INT, PATH_ERR_SYS, PATH_ERR_MEM, PATH_ERR_EXS, PATH_ERR_NFD } path_rc_t; typedef enum { PATH_TEMP_FILE, PATH_TEMP_DIR } path_temp_t; char *path_abs2rel (char *, size_t, const char *, const char *); char *path_rel2abs (char *, size_t, const char *, const char *); char *path_resolve (char *, size_t, const char *); char *path_dirname (char *, size_t, const char *); char *path_basename (char *, size_t, const char *); path_rc_t path_canon(char *res_buf, size_t res_len, const char *path_buf, size_t path_len); path_rc_t path_temp(path_temp_t id, const char *tmpl, char **res_ptr, size_t *res_size, int *res_fd); path_rc_t path_self (char *res_buf, size_t res_size, const char *argv0); #endif /* __PATH_H__ */ @ 1.5 log @add path_canon() function for non-physical-fs-based canonifcations of a path @ text @d3 3 a5 3 ** Copyright (c) 2002 Ralf S. Engelschall ** Copyright (c) 2002 The OSSP Project ** Copyright (c) 2002 Cable & Wireless Deutschland @ 1.4 log @Add new path_self(3) function for finding the path to the own program @ text @d55 1 @ 1.3 log @add (still untested) full-featured path_temp() function @ text @d40 3 a42 1 PATH_ERR_EXS d56 1 @ 1.2 log @source tree cleanups @ text @d34 14 d53 1 @ 1.1 log @Initial revision @ text @d1 32 a32 2 #ifndef _PATH_H_ #define _PATH_H_ d40 2 a41 1 #endif /* _PATH_H_ */ @ 1.1.1.1 log @Welcome OSSP path (filesystem path manipulation library) This is currently just a collection of reused components, assembled together from various vendor sources. @ text @@