X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Ftypes.h;h=3e0e5c32270df80a5102fc11ba68fed32e6445f9;hb=69388a6a3cc4c615ac89b9b298c8e70a6ba6e311;hp=807bf378a5de2d330f1d8273880ae425e035e10e;hpb=489233b45bc68e94b2d065f696ed22bc6e6eec02;p=pciutils.git diff --git a/lib/types.h b/lib/types.h index 807bf37..3e0e5c3 100644 --- a/lib/types.h +++ b/lib/types.h @@ -1,7 +1,7 @@ /* * The PCI Library -- Types and Format Strings * - * Copyright (c) 1997--2004 Martin Mares + * Copyright (c) 1997--2008 Martin Mares * * Can be freely distributed and used under the terms of the GNU GPL. */ @@ -11,15 +11,17 @@ #ifndef PCI_HAVE_Uxx_TYPES #ifdef PCI_OS_WINDOWS -typedef unsigned char byte; -typedef char u8; -typedef unsigned short word; -typedef short u16; -typedef unsigned long u32; +#include +typedef BYTE u8; +typedef WORD u16; +typedef DWORD u32; +#elif defined(PCI_HAVE_STDINT_H) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) +#include +typedef uint8_t u8; +typedef uint16_t u16; +typedef uint32_t u32; #else -typedef u_int8_t byte; typedef u_int8_t u8; -typedef u_int16_t word; typedef u_int16_t u16; typedef u_int32_t u32; #endif @@ -30,7 +32,7 @@ typedef u_int32_t u32; typedef unsigned long u64; #define PCI_U64_FMT "l" #else -typedef unsigned long long u64 +typedef unsigned long long u64; #define PCI_U64_FMT "ll" #endif #endif @@ -39,7 +41,7 @@ typedef unsigned long long u64 #ifdef PCI_HAVE_64BIT_ADDRESS typedef u64 pciaddr_t; -#define PCIADDR_T_FMT "%016" PCI_U64_FMT "x" +#define PCIADDR_T_FMT "%08" PCI_U64_FMT "x" #define PCIADDR_PORT_FMT "%04" PCI_U64_FMT "x" #else typedef u32 pciaddr_t; @@ -55,3 +57,9 @@ typedef u32 pciaddr_t; #else #define PCIIRQ_FMT "%d" #endif + +#ifdef __GNUC__ +#define PCI_PRINTF(x,y) __attribute__((format(printf, x, y))) +#else +#define PCI_PRINTF(x,y) +#endif