argp facility from glibc-20030610.
[gnulib.git] / lib / dirname.h
1 /*  Copyright (C) 1998, 2001 Free Software Foundation, Inc.
2
3     This program is free software; you can redistribute it and/or modify
4     it under the terms of the GNU General Public License as published by
5     the Free Software Foundation; either version 2, or (at your option)
6     any later version.
7
8     This program is distributed in the hope that it will be useful,
9     but WITHOUT ANY WARRANTY; without even the implied warranty of
10     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11     GNU General Public License for more details.
12
13     You should have received a copy of the GNU General Public License
14     along with this program; if not, write to the Free Software Foundation,
15     Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
16
17 #ifndef DIRNAME_H_
18 # define DIRNAME_H_ 1
19
20 # include <stddef.h>
21
22 # ifndef PARAMS
23 #  if defined PROTOTYPES || (defined __STDC__ && __STDC__)
24 #   define PARAMS(Args) Args
25 #  else
26 #   define PARAMS(Args) ()
27 #  endif
28 # endif
29
30 # ifndef DIRECTORY_SEPARATOR
31 #  define DIRECTORY_SEPARATOR '/'
32 # endif
33
34 # ifndef ISSLASH
35 #  define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
36 # endif
37
38 # ifndef FILESYSTEM_PREFIX_LEN
39 #  define FILESYSTEM_PREFIX_LEN(Filename) 0
40 # endif
41
42 char *base_name PARAMS ((char const *path));
43 char *dir_name PARAMS ((char const *path));
44 size_t base_len PARAMS ((char const *path));
45 size_t dir_len PARAMS ((char const *path));
46
47 int strip_trailing_slashes PARAMS ((char *path));
48
49 #endif /* not DIRNAME_H_ */