X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=inline;f=lib%2Ftypes.h;h=260c981c9397df323f50f8eb50ac0672c80d5ee7;hb=9f3d614e4578bdec2b60d97caec400b28d4af9d3;hp=243997fa7a7da91a11386e1b207c84b0001653e2;hpb=c3d1d4654f01d13ecc50e459d4cec688323d709e;p=pciutils.git diff --git a/lib/types.h b/lib/types.h index 243997f..260c981 100644 --- a/lib/types.h +++ b/lib/types.h @@ -3,10 +3,13 @@ * * Copyright (c) 1997--2022 Martin Mares * - * Can be freely distributed and used under the terms of the GNU GPL. + * Can be freely distributed and used under the terms of the GNU GPL v2+ + * + * SPDX-License-Identifier: GPL-2.0-or-later */ #include +#include #ifndef PCI_HAVE_Uxx_TYPES @@ -20,7 +23,7 @@ typedef unsigned __int64 u64; #define PCI_U64_FMT_X "I64x" #define PCI_U64_FMT_U "I64u" -#elif defined(PCI_HAVE_STDINT_H) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) +#else /* Use standard types in C99 and newer */ #include #include @@ -30,25 +33,6 @@ typedef uint32_t u32; typedef uint64_t u64; #define PCI_U64_FMT_X PRIx64 #define PCI_U64_FMT_U PRIu64 - -#else -/* Hope for POSIX types from */ -typedef u_int8_t u8; -typedef u_int16_t u16; -typedef u_int32_t u32; - -/* u64 will be unsigned (long) long */ -#include -#if ULONG_MAX > 0xffffffff -typedef unsigned long u64; -#define PCI_U64_FMT_X "lx" -#define PCI_U64_FMT_U "lu" -#else -typedef unsigned long long u64; -#define PCI_U64_FMT_X "llx" -#define PCI_U64_FMT_U "llu" -#endif - #endif #endif /* PCI_HAVE_Uxx_TYPES */ @@ -75,7 +59,9 @@ typedef u32 pciaddr_t; #if defined(__GNUC__) && __GNUC__ > 2 #define PCI_PRINTF(x,y) __attribute__((format(printf, x, y))) #define PCI_NONRET __attribute((noreturn)) +#define PCI_PACKED __attribute((packed)) #else #define PCI_PRINTF(x,y) #define PCI_NONRET +#define PCI_PACKED #endif