Annotation of embedaddon/libiconv/srclib/pathmax.h, revision 1.1.1.2

1.1       misho       1: /* Define PATH_MAX somehow.  Requires sys/types.h.
1.1.1.2 ! misho       2:    Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2011 Free Software
        !             3:    Foundation, Inc.
1.1       misho       4: 
                      5:    This program is free software; you can redistribute it and/or modify
                      6:    it under the terms of the GNU General Public License as published by
                      7:    the Free Software Foundation; either version 3, or (at your option)
                      8:    any later version.
                      9: 
                     10:    This program is distributed in the hope that it will be useful,
                     11:    but WITHOUT ANY WARRANTY; without even the implied warranty of
                     12:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     13:    GNU General Public License for more details.
                     14: 
                     15:    You should have received a copy of the GNU General Public License
                     16:    along with this program; if not, write to the Free Software Foundation,
                     17:    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
                     18: 
                     19: #ifndef _PATHMAX_H
                     20: # define _PATHMAX_H
                     21: 
1.1.1.2 ! misho      22: /* POSIX:2008 defines PATH_MAX to be the maximum number of bytes in a filename,
        !            23:    including the terminating NUL byte.
        !            24:    <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html>
        !            25:    PATH_MAX is not defined on systems which have no limit on filename length,
        !            26:    such as GNU/Hurd.
        !            27: 
        !            28:    This file does *not* define PATH_MAX always.  Programs that use this file
        !            29:    can handle the GNU/Hurd case in several ways:
        !            30:      - Either with a package-wide handling, or with a per-file handling,
        !            31:      - Either through a
        !            32:          #ifdef PATH_MAX
        !            33:        or through a fallback like
        !            34:          #ifndef PATH_MAX
        !            35:          # define PATH_MAX 8192
        !            36:          #endif
        !            37:        or through a fallback like
        !            38:          #ifndef PATH_MAX
        !            39:          # define PATH_MAX pathconf ("/", _PC_PATH_MAX)
        !            40:          #endif
        !            41:  */
        !            42: 
1.1       misho      43: # include <unistd.h>
                     44: 
                     45: # include <limits.h>
                     46: 
                     47: # ifndef _POSIX_PATH_MAX
                     48: #  define _POSIX_PATH_MAX 256
                     49: # endif
                     50: 
                     51: /* Don't include sys/param.h if it already has been.  */
                     52: # if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN
                     53: #  include <sys/param.h>
                     54: # endif
                     55: 
                     56: # if !defined PATH_MAX && defined MAXPATHLEN
                     57: #  define PATH_MAX MAXPATHLEN
                     58: # endif
                     59: 
1.1.1.2 ! misho      60: # ifdef __hpux
        !            61: /* On HP-UX, PATH_MAX designates the maximum number of bytes in a filename,
        !            62:    *not* including the terminating NUL byte, and is set to 1023.
        !            63:    Additionally, when _XOPEN_SOURCE is defined to 500 or more, PATH_MAX is
        !            64:    not defined at all any more.  */
        !            65: #  undef PATH_MAX
        !            66: #  define PATH_MAX 1024
1.1       misho      67: # endif
                     68: 
                     69: #endif /* _PATHMAX_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>