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>