(linenum→info "unix/slp.c:2238")

coreutils/6.9/lib/canonicalize.h

    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 2, or (at your option)
    7:    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; see the file COPYING.
   16:    If not, write to the Free Software Foundation,
   17:    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
   18: 
   19: #ifndef CANONICALIZE_H_
   20: # define CANONICALIZE_H_
   21: 
   22: # if GNULIB_CANONICALIZE
   23: enum canonicalize_mode_t
   24:   {
   25:     /* All components must exist.  */
   26:     CAN_EXISTING = 0,
   27: 
   28:     /* All components excluding last one must exist.  */
   29:     CAN_ALL_BUT_LAST = 1,
   30: 
   31:     /* No requirements on components existence.  */
   32:     CAN_MISSING = 2
   33:   };
   34: typedef enum canonicalize_mode_t canonicalize_mode_t;
   35: 
   36: /* Return a malloc'd string containing the canonical absolute name of
   37:    the named file.  This acts like canonicalize_file_name, except that
   38:    whether components must exist depends on the canonicalize_mode_t
   39:    argument.  */
   40: char *canonicalize_filename_mode (const char *, canonicalize_mode_t);
   41: # endif
   42: 
   43: # if HAVE_DECL_CANONICALIZE_FILE_NAME
   44: #  include <stdlib.h>
   45: # else
   46: /* Return a malloc'd string containing the canonical absolute name of
   47:    the named file.  If any file name component does not exist or is a
   48:    symlink to a nonexistent file, return NULL.  A canonical name does
   49:    not contain any `.', `..' components nor any repeated file name
   50:    separators ('/') or symlinks.  */
   51: char *canonicalize_file_name (const char *);
   52: # endif
   53: 
   54: #endif /* !CANONICALIZE_H_ */
Syntax (Markdown)