1 /* maxpath.h - Find out what this system thinks PATH_MAX and NAME_MAX are. */ 2 3 /* Copyright (C) 1993 Free Software Foundation, Inc. 4 5 This file is part of GNU Bash, the Bourne Again SHell. 6 7 Bash is free software: you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation, either version 3 of the License, or 10 (at your option) any later version. 11 12 Bash is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with Bash. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 21 #if !defined (_MAXPATH_H_) 22 #define _MAXPATH_H_ 23 24 /* These values are supposed to be in <limits.h> or one of the files 25 it includes. */ 26 #if defined (HAVE_LIMITS_H) 27 # include <limits.h> 28 #endif /* !HAVE_LIMITS_H */ 29 30 /* If PATH_MAX is not defined, look for MAXPATHLEN */ 31 #if !defined (PATH_MAX) 32 # if defined (HAVE_SYS_PARAM_H) 33 # include <sys/param.h> 34 # define maxpath_param_h 35 # endif 36 # if defined (MAXPATHLEN) && !defined (PATH_MAX) 37 # define PATH_MAX MAXPATHLEN 38 # endif /* MAXPATHLEN && !PATH_MAX */ 39 #endif /* !PATH_MAX */ 40 41 /* If NAME_MAX is not defined, look for MAXNAMLEN */ 42 #if !defined (NAME_MAX) 43 # if defined (HAVE_SYS_PARAM_H) && !defined (maxpath_param_h) 44 # include <sys/param.h> 45 # endif 46 # if defined (MAXNAMLEN) && !defined (NAME_MAX) 47 # define NAME_MAX MAXNAMLEN 48 # endif /* MAXNAMLEN && !NAME_MAX */ 49 #endif /* !NAME_MAX */ 50 51 /* Default POSIX values */ 52 #if !defined (PATH_MAX) && defined (_POSIX_PATH_MAX) 53 # define PATH_MAX _POSIX_PATH_MAX 54 #endif 55 56 #if !defined (NAME_MAX) && defined (_POSIX_NAME_MAX) 57 # define NAME_MAX _POSIX_NAME_MAX 58 #endif 59 60 61 /* Default values */ 62 #if !defined (PATH_MAX) 63 # define PATH_MAX 1024 64 #endif 65 66 #if !defined (NAME_MAX) 67 # define NAME_MAX 14 68 #endif 69 70 #if PATH_MAX < 1024 71 # undef PATH_MAX 72 # define PATH_MAX 1024 73 #endif 74 75 #endif /* _MAXPATH_H_ */ 76