// @(#) $Header: varsizes.h,v abrown Exp $
/*
 * Description:
 *   Define a set of number types in such a way that we can
 *   write code portable between the PIC and the Pentium.
 *
 * Copyright (C) 2006,2007,2008 Allen Brown
 *
 * License:
 *   This program is free software; you can redistribute it and/or
 *   modify it under the terms of the GNU General Public License
 *   as published by the Free Software Foundation; either version 2
 *   of the License, or (at your option) any later version.
 *   
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *   
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the
 *     Free Software Foundation, Inc.,
 *     51 Franklin Street, Fifth Floor,
 *     Boston, MA  02110-1301, USA.
 */

#if !defined(VARSIZES_H)
  #define VARSIZES_H 1

  #if defined(__18CXX)
    typedef signed char int8;
    typedef unsigned char bit8;
    typedef unsigned char unsigned8;
    typedef unsigned int unsigned16;
    typedef signed int int16;
    typedef signed short long int24;
    typedef unsigned long unsigned32;
    typedef signed long int32;
  #endif
  #if defined(__GNUC__)
    typedef signed char int8;
    typedef unsigned char bit8;
    typedef unsigned char unsigned8;
    typedef unsigned short int unsigned16;
    typedef signed short int int16;
    typedef signed int int32;
    typedef unsigned int unsigned32;
    typedef signed long int int64;
  #endif
#endif
/* type     minimum      maximum
 * -----    -------      -------
 * int8	     -128	   127
 * bit8	       0           255
 * int16    -32768	  32767
 * unsigned16  0	  65535
 * int24   -8388608	 8388607
 * int32  -2147483648	2147483647
 */

