1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /* $OpenBSD: private.h,v 1.25 2012/09/13 11:14:20 millert Exp $ */
- #ifndef PRIVATE_H
- #define PRIVATE_H
- /*
- ** This file is in the public domain, so clarified as of
- ** 1996-06-05 by Arthur David Olson.
- */
- /*
- ** Nested includes
- */
- #include "sys/types.h" /* for time_t */
- #include "stdio.h"
- #include "errno.h"
- #include "string.h"
- #include "limits.h" /* for CHAR_BIT et al. */
- #include "time.h"
- /*
- ** Finally, some convenience items.
- */
- #ifndef TRUE
- #define TRUE 1
- #endif /* !defined TRUE */
- #ifndef FALSE
- #define FALSE 0
- #endif /* !defined FALSE */
- #ifndef TYPE_BIT
- #define TYPE_BIT(type) (sizeof (type) * CHAR_BIT)
- #endif /* !defined TYPE_BIT */
- #ifndef TYPE_SIGNED
- #define TYPE_SIGNED(type) (((type) -1) < 0)
- #endif /* !defined TYPE_SIGNED */
- /*
- ** Since the definition of TYPE_INTEGRAL contains floating point numbers,
- ** it cannot be used in preprocessor directives.
- */
- #ifndef TYPE_INTEGRAL
- #define TYPE_INTEGRAL(type) (((type) 0.5) != 0.5)
- #endif /* !defined TYPE_INTEGRAL */
- #ifndef INT_STRLEN_MAXIMUM
- /*
- ** 302 / 1000 is log10(2.0) rounded up.
- ** Subtract one for the sign bit if the type is signed;
- ** add one for integer division truncation;
- ** add one more for a minus sign if the type is signed.
- */
- #define INT_STRLEN_MAXIMUM(type) \
- ((TYPE_BIT(type) - TYPE_SIGNED(type)) * 302 / 1000 + \
- 1 + TYPE_SIGNED(type))
- #endif /* !defined INT_STRLEN_MAXIMUM */
- /* Disable warnings */
- #endif /* !defined PRIVATE_H */
|