iverilog/_pli_types.h.in

89 lines
2.4 KiB
C
Raw Normal View History

#ifndef PLI_TYPES
#define PLI_TYPES
/*
* Copyright (c) 2003 Stephen Williams (steve@icarus.com)
*
* This source code is free software; you can redistribute it
* and/or modify it in source code form 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
2003-09-30 03:33:13 +02:00
# undef HAVE_INTTYPES_H
2003-10-02 21:33:44 +02:00
#ifdef HAVE_INTTYPES_H
2003-10-02 21:33:44 +02:00
/*
2003-11-08 21:06:21 +01:00
* If the host environment has the stdint.h header file,
2003-10-02 21:33:44 +02:00
* then use that to size our PLI types.
*/
#ifndef __STDC_FORMAT_MACROS
# define __STDC_FORMAT_MACROS
#endif
2003-10-02 21:33:44 +02:00
# include <inttypes.h>
2003-10-02 21:33:44 +02:00
typedef uint64_t PLI_UINT64;
typedef int64_t PLI_INT64;
typedef uint32_t PLI_UINT32;
typedef int32_t PLI_INT32;
typedef signed short PLI_INT16;
typedef unsigned short PLI_UINT16;
2007-06-05 23:32:30 +02:00
typedef char PLI_BYTE8;
2003-10-02 21:33:44 +02:00
typedef unsigned char PLI_UBYTE8;
# define PLI_UINT64_FMT PRIu64
2003-10-02 21:33:44 +02:00
#else
/*
* If we do not have the c99 stdint.h header file, then use
2003-11-08 21:06:21 +01:00
* configure detection to guess the pli types ourselves.
2003-10-02 21:33:44 +02:00
*/
2003-09-30 03:33:13 +02:00
# define SIZEOF_UNSIGNED_LONG_LONG 8
# define SIZEOF_UNSIGNED_LONG 8
# define SIZEOF_UNSIGNED 4
#if SIZEOF_UNSIGNED >= 8
typedef unsigned PLI_UINT64;
typedef int PLI_INT64;
# define PLI_UINT64_FMT "u"
2003-09-30 03:33:13 +02:00
#else
# if SIZEOF_UNSIGNED_LONG >= 8
typedef unsigned long PLI_UINT64;
typedef long PLI_INT64;
# define PLI_UINT64_FMT "lu"
2003-09-30 03:33:13 +02:00
# else
# if SIZEOF_UNSIGNED_LONG_LONG > SIZEOF_UNSIGNED_LONG
typedef unsigned long long PLI_UINT64;
typedef long long PLI_INT64;
# define PLI_UINT64_FMT "llu"
2003-09-30 03:33:13 +02:00
# else
typedef unsigned long PLI_UINT64;
typedef long PLI_INT64;
# define PLI_UINT64_FMT "lu"
2003-09-30 03:33:13 +02:00
# endif
# endif
#endif
typedef signed int PLI_INT32;
typedef unsigned int PLI_UINT32;
typedef signed short PLI_INT16;
2003-05-26 06:39:16 +02:00
typedef unsigned short PLI_UINT16;
2007-06-05 23:32:30 +02:00
typedef char PLI_BYTE8;
typedef unsigned char PLI_UBYTE8;
2003-10-02 21:33:44 +02:00
#endif
#endif