1 /* tag: data types for forth engine
3 * Copyright (C) 2003-2005 Patrick Mauritz, Stefan Reinauer
5 * See the file "COPYING" for further information about
6 * the copyright and warranty status of this work.
17 typedef unsigned char uint8_t;
18 typedef unsigned short uint16_t;
19 typedef unsigned int uint32_t;
20 typedef unsigned long long uint64_t;
21 typedef unsigned long uintptr_t;
23 typedef signed char int8_t;
24 typedef short int16_t;
26 typedef long long int64_t;
27 typedef long intptr_t;
42 /* physical address */
43 typedef uint64_t phys_addr_t;
45 #define FMT_plx "%016" PRIx64
47 /* cell based types */
49 typedef uint64_t ucell;
51 #define FMT_cell "%" PRId64
52 #define FMT_ucell "%" PRIu64
53 #define FMT_ucellx "%016" PRIx64
54 #define FMT_ucellX "%016" PRIX64
56 typedef int64_t prom_arg_t;
57 typedef uint64_t prom_uarg_t;
59 #define PRIdPROMARG PRId64
60 #define PRIuPROMARG PRIu64
61 #define PRIxPROMARG PRIx64
62 #define FMT_prom_arg "%" PRIdPROMARG
63 #define FMT_prom_uarg "%" PRIuPROMARG
64 #define FMT_prom_uargx "%016" PRIxPROMARG
66 #define FMT_elf "%#llx"
67 #define FMT_sizet "%lx"
68 #define FMT_aout_ehdr "%x"
70 #ifdef NEED_FAKE_INT128_T
76 typedef blob_128_t dcell;
77 typedef blob_128_t ducell;
79 typedef __int128_t dcell;
80 typedef __uint128_t ducell;
83 #define bitspercell (sizeof(cell)<<3)
84 #define bitsperdcell (sizeof(dcell)<<3)
90 /* size named types */
92 typedef unsigned char u8;
93 typedef unsigned short u16;
94 typedef unsigned int u32;
95 typedef unsigned long long u64;
97 typedef signed char s8;
100 typedef long long s64;