ext2_types.h.in revision e0ed7404719a9ddd2ba427a80db5365c8bad18c0
1a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)/*
2a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) * If linux/types.h is already been included, assume it has defined
3a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) * everything we need.  (cross fingers)  Other header files may have
4a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) * also defined the types that we need.
5a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) */
6a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#if (!defined(_LINUX_TYPES_H) && !defined(_BLKID_TYPES_H) && \
7a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)	!defined(_EXT2_TYPES_H))
8a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#define _EXT2_TYPES_H
9a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)
105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)@ASM_TYPES_HEADER@
115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#ifdef __U8_TYPEDEF
13a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)typedef __U8_TYPEDEF __u8;
14a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#else
15a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)typedef unsigned char __u8;
16a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#endif
17a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
18a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#ifdef __S8_TYPEDEF
19a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)typedef __S8_TYPEDEF __s8;
205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#else
215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef signed char __s8;
225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif
235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
24a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#ifdef __U16_TYPEDEF
25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)typedef __U16_TYPEDEF __u16;
26a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#else
27a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#if (@SIZEOF_INT@ == 2)
285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef	unsigned int	__u16;
29a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#else
30a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#if (@SIZEOF_SHORT@ == 2)
31a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)typedef	unsigned short	__u16;
32a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#else
33a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  ?==error: undefined 16 bit type
34a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#endif /* SIZEOF_SHORT == 2 */
35a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#endif /* SIZEOF_INT == 2 */
36a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#endif /* __U16_TYPEDEF */
37a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)
38a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#ifdef __S16_TYPEDEF
395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef __S16_TYPEDEF __s16;
40a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#else
41a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#if (@SIZEOF_INT@ == 2)
42typedef	int		__s16;
43#else
44#if (@SIZEOF_SHORT@ == 2)
45typedef	short		__s16;
46#else
47  ?==error: undefined 16 bit type
48#endif /* SIZEOF_SHORT == 2 */
49#endif /* SIZEOF_INT == 2 */
50#endif /* __S16_TYPEDEF */
51
52
53#ifdef __U32_TYPEDEF
54typedef __U32_TYPEDEF __u32;
55#else
56#if (@SIZEOF_INT@ == 4)
57typedef	unsigned int	__u32;
58#else
59#if (@SIZEOF_LONG@ == 4)
60typedef	unsigned long	__u32;
61#else
62#if (@SIZEOF_SHORT@ == 4)
63typedef	unsigned short	__u32;
64#else
65 ?== error: undefined 32 bit type
66#endif /* SIZEOF_SHORT == 4 */
67#endif /* SIZEOF_LONG == 4 */
68#endif /* SIZEOF_INT == 4 */
69#endif /* __U32_TYPEDEF */
70
71#ifdef __S32_TYPEDEF
72typedef __S32_TYPEDEF __s32;
73#else
74#if (@SIZEOF_INT@ == 4)
75typedef	int		__s32;
76#else
77#if (@SIZEOF_LONG@ == 4)
78typedef	long		__s32;
79#else
80#if (@SIZEOF_SHORT@ == 4)
81typedef	short		__s32;
82#else
83 ?== error: undefined 32 bit type
84#endif /* SIZEOF_SHORT == 4 */
85#endif /* SIZEOF_LONG == 4 */
86#endif /* SIZEOF_INT == 4 */
87#endif /* __S32_TYPEDEF */
88
89#ifdef __U64_TYPEDEF
90typedef __U64_TYPEDEF __u64;
91#else
92#if (@SIZEOF_INT@ == 8)
93typedef unsigned int	__u64;
94#else
95#if (@SIZEOF_LONG_LONG@ == 8)
96typedef unsigned long long	__u64;
97#else
98#if (@SIZEOF_LONG@ == 8)
99typedef unsigned long	__u64;
100#endif /* SIZEOF_LONG_LONG == 8 */
101#endif /* SIZEOF_LONG == 8 */
102#endif /* SIZEOF_INT == 8 */
103#endif /* __U64_TYPEDEF */
104
105#ifdef __S64_TYPEDEF
106typedef __S64_TYPEDEF __s64;
107#else
108#if (@SIZEOF_INT@ == 8)
109typedef int		__s64;
110#else
111#if (@SIZEOF_LONG_LONG@ == 8)
112#if defined(__GNUC__)
113typedef __signed__ long long	__s64;
114#else
115typedef signed long long	__s64;
116#endif /* __GNUC__ */
117#else
118#if (@SIZEOF_LONG@ == 8)
119typedef long		__s64;
120#endif /* SIZEOF_LONG_LONG == 8 */
121#endif /* SIZEOF_LONG == 8 */
122#endif /* SIZEOF_INT == 8 */
123#endif /* __S64_TYPEDEF */
124
125#undef __S8_TYPEDEF
126#undef __U8_TYPEDEF
127#undef __S16_TYPEDEF
128#undef __U16_TYPEDEF
129#undef __S32_TYPEDEF
130#undef __U32_TYPEDEF
131#undef __S64_TYPEDEF
132#undef __U64_TYPEDEF
133
134#endif /* _*_TYPES_H */
135
136@PUBLIC_CONFIG_HEADER@
137