rsc | 749481f | 2006-01-06 18:15:40 +0000 | [diff] [blame] | 1 | #include <inttypes.h> |
rsc | 0dbd872 | 2005-12-29 21:45:40 +0000 | [diff] [blame] | 2 | |
rsc | b2ff538 | 2004-12-26 21:50:39 +0000 | [diff] [blame] | 3 | /* |
| 4 | * compiler directive on Plan 9 |
| 5 | */ |
| 6 | #ifndef USED |
| 7 | #define USED(x) if(x);else |
| 8 | #endif |
| 9 | |
| 10 | /* |
| 11 | * easiest way to make sure these are defined |
| 12 | */ |
| 13 | #define uchar _fmtuchar |
| 14 | #define ushort _fmtushort |
| 15 | #define uint _fmtuint |
| 16 | #define ulong _fmtulong |
| 17 | #define vlong _fmtvlong |
| 18 | #define uvlong _fmtuvlong |
rsc | 0dbd872 | 2005-12-29 21:45:40 +0000 | [diff] [blame] | 19 | #define uintptr _fmtuintptr |
| 20 | |
rsc | b2ff538 | 2004-12-26 21:50:39 +0000 | [diff] [blame] | 21 | typedef unsigned char uchar; |
| 22 | typedef unsigned short ushort; |
| 23 | typedef unsigned int uint; |
| 24 | typedef unsigned long ulong; |
| 25 | typedef unsigned long long uvlong; |
| 26 | typedef long long vlong; |
rsc | 0dbd872 | 2005-12-29 21:45:40 +0000 | [diff] [blame] | 27 | typedef uintptr_t uintptr; |
rsc | b2ff538 | 2004-12-26 21:50:39 +0000 | [diff] [blame] | 28 | |
| 29 | /* |
| 30 | * nil cannot be ((void*)0) on ANSI C, |
| 31 | * because it is used for function pointers |
| 32 | */ |
| 33 | #undef nil |
| 34 | #define nil 0 |
| 35 | |
| 36 | #undef nelem |
| 37 | #define nelem(x) (sizeof (x)/sizeof (x)[0]) |
| 38 | |