Listing 7

/*
 * limits.h - sizes of integral types (using minimum
 * magnitudes)
 *
#ifndef _LIMITS_H_INCLUDED

#include <quirks.h>

#define CHAR_BIT    8
#define SCHAR_MIN   (-127)
#define SCHAR_MAX   127
#define UCHAR_MAX   255

#ifndef _CHAR_UNSIGNED
#define CHAR_MAX    SCHAR_MAX
#define CHAR_MIN    SCHAR_MIN
#else
#define CHAR_MAX    UCHAR_MAX
#define CHAR_MIN    0
#endif

#define MB_LEN_MAX  1
#define SHRT_MIN    (-32767)
#define SHRT_MAX    32767
#define USHRT_MAX   65535u
#define INT_MIN     (-32767)
#define INT_MAX     32767
#define UINT_MAX    65535u
#define LONG_MIN    (-2147483647)
#define LONG_MAX    2147483647
#define ULONG_MAX   4294967295u

#define _LIMITS_H_INCLUDED
#endif