File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libiconv / srclib / canonicalize.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 22:57:48 2012 UTC (12 years, 4 months ago) by misho
Branches: libiconv, MAIN
CVS tags: v1_13_1, HEAD
libiconv

    1: /* Return the canonical absolute name of a given file.
    2:    Copyright (C) 1996-2007 Free Software Foundation, Inc.
    3: 
    4:    This program is free software: you can redistribute it and/or modify
    5:    it under the terms of the GNU General Public License as published by
    6:    the Free Software Foundation; either version 3 of the License, or
    7:    (at your option) any later version.
    8: 
    9:    This program is distributed in the hope that it will be useful,
   10:    but WITHOUT ANY WARRANTY; without even the implied warranty of
   11:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   12:    GNU General Public License for more details.
   13: 
   14:    You should have received a copy of the GNU General Public License
   15:    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
   16: 
   17: #ifndef CANONICALIZE_H_
   18: # define CANONICALIZE_H_
   19: 
   20: # if GNULIB_CANONICALIZE
   21: enum canonicalize_mode_t
   22:   {
   23:     /* All components must exist.  */
   24:     CAN_EXISTING = 0,
   25: 
   26:     /* All components excluding last one must exist.  */
   27:     CAN_ALL_BUT_LAST = 1,
   28: 
   29:     /* No requirements on components existence.  */
   30:     CAN_MISSING = 2
   31:   };
   32: typedef enum canonicalize_mode_t canonicalize_mode_t;
   33: 
   34: /* Return a malloc'd string containing the canonical absolute name of
   35:    the named file.  This acts like canonicalize_file_name, except that
   36:    whether components must exist depends on the canonicalize_mode_t
   37:    argument.  */
   38: char *canonicalize_filename_mode (const char *, canonicalize_mode_t);
   39: # endif
   40: 
   41: # if HAVE_DECL_CANONICALIZE_FILE_NAME
   42: #  include <stdlib.h>
   43: # else
   44: /* Return a malloc'd string containing the canonical absolute name of
   45:    the named file.  If any file name component does not exist or is a
   46:    symlink to a nonexistent file, return NULL.  A canonical name does
   47:    not contain any `.', `..' components nor any repeated file name
   48:    separators ('/') or symlinks.  */
   49: char *canonicalize_file_name (const char *);
   50: # endif
   51: 
   52: #endif /* !CANONICALIZE_H_ */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>