1 | #ifndef _ZZIP__STDINT_H /* zzip-stdint.h */
|
---|
2 | #define _ZZIP__STDINT_H 1
|
---|
3 | /* this file ensures that we have some kind of typedef declarations for
|
---|
4 | unsigned C9X typedefs. The ISO C 9X: 7.18 Integer types file is stdint.h
|
---|
5 | */
|
---|
6 |
|
---|
7 | #include <zzip/conf.h>
|
---|
8 |
|
---|
9 | /* enforce use of ifdef'd C9X entries in system headers */
|
---|
10 | #define __USE_ANSI 1
|
---|
11 | #define __USE_ISOC9X 1
|
---|
12 |
|
---|
13 | #ifdef ZZIP_HAVE_STDINT_H
|
---|
14 | /* ISO C 9X: 7.18 Integer types <stdint.h> */
|
---|
15 | #include <stdint.h>
|
---|
16 | #elif defined ZZIP_HAVE_SYS_INT_TYPES_H /*solaris*/
|
---|
17 | #include <sys/int_types.h>
|
---|
18 | #elif defined ZZIP_HAVE_INTTYPES_H /*freebsd*/
|
---|
19 | #include <inttypes.h>
|
---|
20 | #else
|
---|
21 | typedef unsigned char uint8_t; typedef signed char int8_t;
|
---|
22 |
|
---|
23 | # if ZZIP_SIZEOF_INT && ZZIP_SIZEOF_INT == 2
|
---|
24 | typedef unsigned int uint16_t; typedef signed int int16_t;
|
---|
25 | # elif ZZIP_SIZEOF_SHORT && ZZIP_SIZEOF_SHORT == 2
|
---|
26 | typedef unsigned short uint16_t; typedef signed short int16_t;
|
---|
27 | # else
|
---|
28 | # error unable to typedef int16_t from either int or short
|
---|
29 | typedef unsigned short uint16_t; typedef signed short int16_t;
|
---|
30 | # endif
|
---|
31 |
|
---|
32 | # if defined ZZIP_SIZEOF_INT && ZZIP_SIZEOF_INT == 4
|
---|
33 | typedef unsigned int uint32_t; typedef signed int int32_t;
|
---|
34 | # elif defined ZZIP_SIZEOF_LONG && ZZIP_SIZEOF_LONG == 4
|
---|
35 | typedef unsigned long uint32_t; typedef signed long int32_t;
|
---|
36 | # else
|
---|
37 | # error unable to typedef int32_t from either int or long
|
---|
38 | typedef unsigned long uint32_t; typedef signed long int32_t;
|
---|
39 | # endif
|
---|
40 | #endif
|
---|
41 |
|
---|
42 | #endif /*_ZZIP_STDINT_H*/
|
---|
43 |
|
---|