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