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