File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libiconv / srclib / pathmax.h
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue May 29 09:29:43 2012 UTC (12 years, 1 month ago) by misho
Branches: libiconv, MAIN
CVS tags: v1_14p0, v1_14, HEAD
libiconv v1.14

    1: /* Define PATH_MAX somehow.  Requires sys/types.h.
    2:    Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2011 Free Software
    3:    Foundation, Inc.
    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: 
   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: 
   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: 
   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
   67: # endif
   68: 
   69: #endif /* _PATHMAX_H */

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