1e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'o/* 2e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'o * If linux/types.h is already been included, assume it has defined 3ed78c021c3b111d8ab9a51aef5d5156e3004083fTheodore Ts'o * everything we need. (cross fingers) Other header files may have 4ed78c021c3b111d8ab9a51aef5d5156e3004083fTheodore Ts'o * also defined the types that we need. 5e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'o */ 6ed78c021c3b111d8ab9a51aef5d5156e3004083fTheodore Ts'o#if (!defined(_LINUX_TYPES_H) && !defined(_BLKID_TYPES_H) && \ 72625803ecff90ba8ab60d3c6b83a1ea0c91d2294Theodore Ts'o !defined(_EXT2_TYPES_H)) 8ed78c021c3b111d8ab9a51aef5d5156e3004083fTheodore Ts'o#define _BLKID_TYPES_H 9e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'o 104ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o@ASM_TYPES_HEADER@ 114ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o 124ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#ifdef __U8_TYPEDEF 134ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef __U8_TYPEDEF __u8; 144ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#else 15e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'otypedef unsigned char __u8; 164ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#endif 174ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o 184ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#ifdef __S8_TYPEDEF 194ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef __S8_TYPEDEF __s8; 204ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#else 21e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'otypedef signed char __s8; 224ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#endif 23e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'o 244ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#ifdef __U16_TYPEDEF 254ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef __U16_TYPEDEF __u16; 2648e6e81362f264aee4f3945c14928efaf71a06c9Theodore Ts'o#else 274ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#if (@SIZEOF_INT@ == 2) 284ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef unsigned int __u16; 2948e6e81362f264aee4f3945c14928efaf71a06c9Theodore Ts'o#else 304ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#if (@SIZEOF_SHORT@ == 2) 314ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef unsigned short __u16; 32e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'o#else 334ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o ?==error: undefined 16 bit type 344ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#endif /* SIZEOF_SHORT == 2 */ 354ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#endif /* SIZEOF_INT == 2 */ 364ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#endif /* __U16_TYPEDEF */ 37e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'o 384ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#ifdef __S16_TYPEDEF 394ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef __S16_TYPEDEF __s16; 404ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#else 41e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'o#if (@SIZEOF_INT@ == 2) 42e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'otypedef int __s16; 4348e6e81362f264aee4f3945c14928efaf71a06c9Theodore Ts'o#else 4448e6e81362f264aee4f3945c14928efaf71a06c9Theodore Ts'o#if (@SIZEOF_SHORT@ == 2) 45e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'otypedef short __s16; 46e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'o#else 47e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'o ?==error: undefined 16 bit type 4848e6e81362f264aee4f3945c14928efaf71a06c9Theodore Ts'o#endif /* SIZEOF_SHORT == 2 */ 4948e6e81362f264aee4f3945c14928efaf71a06c9Theodore Ts'o#endif /* SIZEOF_INT == 2 */ 504ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#endif /* __S16_TYPEDEF */ 514ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o 52e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'o 534ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#ifdef __U32_TYPEDEF 544ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef __U32_TYPEDEF __u32; 554ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#else 56e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'o#if (@SIZEOF_INT@ == 4) 57e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'otypedef unsigned int __u32; 5848e6e81362f264aee4f3945c14928efaf71a06c9Theodore Ts'o#else 5948e6e81362f264aee4f3945c14928efaf71a06c9Theodore Ts'o#if (@SIZEOF_LONG@ == 4) 60e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'otypedef unsigned long __u32; 6148e6e81362f264aee4f3945c14928efaf71a06c9Theodore Ts'o#else 6248e6e81362f264aee4f3945c14928efaf71a06c9Theodore Ts'o#if (@SIZEOF_SHORT@ == 4) 63e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'otypedef unsigned short __u32; 64e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'o#else 65e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'o ?== error: undefined 32 bit type 6648e6e81362f264aee4f3945c14928efaf71a06c9Theodore Ts'o#endif /* SIZEOF_SHORT == 4 */ 6748e6e81362f264aee4f3945c14928efaf71a06c9Theodore Ts'o#endif /* SIZEOF_LONG == 4 */ 6848e6e81362f264aee4f3945c14928efaf71a06c9Theodore Ts'o#endif /* SIZEOF_INT == 4 */ 694ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#endif /* __U32_TYPEDEF */ 704ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o 714ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#ifdef __S32_TYPEDEF 724ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef __S32_TYPEDEF __s32; 734ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#else 744ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#if (@SIZEOF_INT@ == 4) 754ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef int __s32; 764ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#else 774ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#if (@SIZEOF_LONG@ == 4) 784ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef long __s32; 794ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#else 804ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#if (@SIZEOF_SHORT@ == 4) 814ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef short __s32; 824ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#else 834ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o ?== error: undefined 32 bit type 844ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#endif /* SIZEOF_SHORT == 4 */ 854ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#endif /* SIZEOF_LONG == 4 */ 864ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#endif /* SIZEOF_INT == 4 */ 874ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#endif /* __S32_TYPEDEF */ 884ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o 894ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#ifdef __U64_TYPEDEF 904ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef __U64_TYPEDEF __u64; 914ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#else 924ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#if (@SIZEOF_INT@ == 8) 934ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef unsigned int __u64; 944ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#else 9565f0aab98b20b5994a726ab90d355248bcddfffdJP Abgrall#if (@SIZEOF_LONG_LONG@ == 8) 9665f0aab98b20b5994a726ab90d355248bcddfffdJP Abgralltypedef unsigned long long __u64; 97e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall#else 98e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall#if (@SIZEOF_LONG@ == 8) 99e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgralltypedef unsigned long __u64; 10065f0aab98b20b5994a726ab90d355248bcddfffdJP Abgrall#endif /* SIZEOF_LONG == 8 */ 101e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall#endif /* SIZEOF_LONG_LONG == 8 */ 1024ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#endif /* SIZEOF_INT == 8 */ 1034ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#endif /* __U64_TYPEDEF */ 1044ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o 1054ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#ifdef __S64_TYPEDEF 1064ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef __S64_TYPEDEF __s64; 1074ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#else 1084ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#if (@SIZEOF_INT@ == 8) 1094ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef int __s64; 1104ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#else 1114ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#if (@SIZEOF_LONG_LONG@ == 8) 1124ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#if defined(__GNUC__) 1134ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef __signed__ long long __s64; 1144ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#else 1154ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'otypedef signed long long __s64; 1164ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#endif /* __GNUC__ */ 117e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall#else 118e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall#if (@SIZEOF_LONG@ == 8) 119e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgralltypedef long __s64; 12065f0aab98b20b5994a726ab90d355248bcddfffdJP Abgrall#endif /* SIZEOF_LONG == 8 */ 121e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall#endif /* SIZEOF_LONG_LONG == 8 */ 1224ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#endif /* SIZEOF_INT == 8 */ 1234ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#endif /* __S64_TYPEDEF */ 1244ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o 1254ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#undef __S8_TYPEDEF 1264ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#undef __U8_TYPEDEF 1274ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#undef __S16_TYPEDEF 1284ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#undef __U16_TYPEDEF 1294ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#undef __S32_TYPEDEF 1304ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#undef __U32_TYPEDEF 1314ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#undef __S64_TYPEDEF 1324ea7ea007bb227727ee1d4dca997c4f5b21d3a30Theodore Ts'o#undef __U64_TYPEDEF 133e12f2ae74c2eb8997bf13adf8fdd7e7313971eaeTheodore Ts'o 134ed78c021c3b111d8ab9a51aef5d5156e3004083fTheodore Ts'o#endif /* _*_TYPES_H */ 135