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: 36 bits */
44 typedef uint64_t phys_addr_t;
46 #define FMT_plx "%09" PRIx64
48 /* cell based types */
51 typedef uint32_t ucell;
52 typedef long long dcell;
53 typedef unsigned long long ducell;
55 #define FMT_cell "%" PRId32
56 #define FMT_ucell "%" PRIu32
57 #define FMT_ucellx "%08" PRIx32
58 #define FMT_ucellX "%08" PRIX32
60 typedef int32_t prom_arg_t;
61 typedef uint32_t prom_uarg_t;
63 #define PRIdPROMARG PRId32
64 #define PRIuPROMARG PRIu32
65 #define PRIxPROMARG PRIx32
66 #define FMT_prom_arg "%" PRIdPROMARG
67 #define FMT_prom_uarg "%" PRIuPROMARG
68 #define FMT_prom_uargx "%08" PRIxPROMARG
71 #define FMT_sizet "%lx"
72 #define FMT_aout_ehdr "%lx"
74 #define bitspercell (sizeof(cell)<<3)
75 #define bitsperdcell (sizeof(dcell)<<3)
81 /* size named types */
83 typedef unsigned char u8;
84 typedef unsigned short u16;
85 typedef unsigned int u32;
86 typedef unsigned long long u64;
88 typedef signed char s8;
91 typedef long long s64;