Annotation of embedaddon/libiconv/srclib/canonicalize.h, revision 1.1.1.1

1.1       misho       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>