Home | History | Annotate | Download | only in sm
      1 /*
      2  * Copyright (c) 2000-2001 Sendmail, Inc. and its suppliers.
      3  *	All rights reserved.
      4  *
      5  * By using this file, you agree to the terms and conditions set
      6  * forth in the LICENSE file which can be found at the top level of
      7  * the sendmail distribution.
      8  *
      9  *	$Id: limits.h,v 1.6 2001/03/08 03:23:08 ca Exp $
     10  */
     11 
     12 #pragma ident	"%Z%%M%	%I%	%E% SMI"
     13 
     14 /*
     15 **  <sm/limits.h>
     16 **  This header file is a portability wrapper for <limits.h>.
     17 **  It includes <limits.h>, then it ensures that the following macros
     18 **  from the C 1999 standard for <limits.h> are defined:
     19 **	LLONG_MIN, LLONG_MAX
     20 **	ULLONG_MAX
     21 */
     22 
     23 #ifndef SM_LIMITS_H
     24 # define SM_LIMITS_H
     25 
     26 # include <limits.h>
     27 # include <sm/types.h>
     28 # include <sys/param.h>
     29 
     30 /*
     31 **  The following assumes two's complement binary arithmetic.
     32 */
     33 
     34 # ifndef LLONG_MIN
     35 #  define LLONG_MIN	((LONGLONG_T)(~(ULLONG_MAX >> 1)))
     36 # endif /* ! LLONG_MIN */
     37 # ifndef LLONG_MAX
     38 #  define LLONG_MAX	((LONGLONG_T)(ULLONG_MAX >> 1))
     39 # endif /* ! LLONG_MAX */
     40 # ifndef ULLONG_MAX
     41 #  define ULLONG_MAX	((ULONGLONG_T)(-1))
     42 # endif /* ! ULLONG_MAX */
     43 
     44 /*
     45 **  PATH_MAX is defined by the POSIX standard.  All modern systems
     46 **  provide it.  Older systems define MAXPATHLEN in <sys/param.h> instead.
     47 */
     48 
     49 # ifndef PATH_MAX
     50 #  ifdef MAXPATHLEN
     51 #   define PATH_MAX	MAXPATHLEN
     52 #  else /* MAXPATHLEN */
     53 #   define PATH_MAX	2048
     54 #  endif /* MAXPATHLEN */
     55 # endif /* ! PATH_MAX */
     56 
     57 #endif /* ! SM_LIMITS_H */
     58