limits.h revision 266692
1/*
2 * Copyright (c) 2000-2001 Proofpoint, 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.7 2013-11-22 20:51:31 ca Exp $
10 */
11
12/*
13**  <sm/limits.h>
14**  This header file is a portability wrapper for <limits.h>.
15**  It includes <limits.h>, then it ensures that the following macros
16**  from the C 1999 standard for <limits.h> are defined:
17**	LLONG_MIN, LLONG_MAX
18**	ULLONG_MAX
19*/
20
21#ifndef SM_LIMITS_H
22# define SM_LIMITS_H
23
24# include <limits.h>
25# include <sm/types.h>
26# include <sys/param.h>
27
28/*
29**  The following assumes two's complement binary arithmetic.
30*/
31
32# ifndef LLONG_MIN
33#  define LLONG_MIN	((LONGLONG_T)(~(ULLONG_MAX >> 1)))
34# endif /* ! LLONG_MIN */
35# ifndef LLONG_MAX
36#  define LLONG_MAX	((LONGLONG_T)(ULLONG_MAX >> 1))
37# endif /* ! LLONG_MAX */
38# ifndef ULLONG_MAX
39#  define ULLONG_MAX	((ULONGLONG_T)(-1))
40# endif /* ! ULLONG_MAX */
41
42/*
43**  PATH_MAX is defined by the POSIX standard.  All modern systems
44**  provide it.  Older systems define MAXPATHLEN in <sys/param.h> instead.
45*/
46
47# ifndef PATH_MAX
48#  ifdef MAXPATHLEN
49#   define PATH_MAX	MAXPATHLEN
50#  else /* MAXPATHLEN */
51#   define PATH_MAX	2048
52#  endif /* MAXPATHLEN */
53# endif /* ! PATH_MAX */
54
55#endif /* ! SM_LIMITS_H */
56