Annotation of embedaddon/libnet/win32/wpdpack/Include/bittypes.h, revision 1.1.1.1
1.1 misho 1: /*
2: * Copyright (C) 1999 WIDE Project.
3: * All rights reserved.
4: *
5: * Redistribution and use in source and binary forms, with or without
6: * modification, are permitted provided that the following conditions
7: * are met:
8: * 1. Redistributions of source code must retain the above copyright
9: * notice, this list of conditions and the following disclaimer.
10: * 2. Redistributions in binary form must reproduce the above copyright
11: * notice, this list of conditions and the following disclaimer in the
12: * documentation and/or other materials provided with the distribution.
13: * 3. Neither the name of the project nor the names of its contributors
14: * may be used to endorse or promote products derived from this software
15: * without specific prior written permission.
16: *
17: * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
18: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20: * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
21: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27: * SUCH DAMAGE.
28: */
29: #ifndef _BITTYPES_H
30: #define _BITTYPES_H
31:
32: #ifndef HAVE_U_INT8_T
33:
34: #if SIZEOF_CHAR == 1
35: typedef unsigned char u_int8_t;
36: typedef signed char int8_t;
37: #elif SIZEOF_INT == 1
38: typedef unsigned int u_int8_t;
39: typedef signed int int8_t;
40: #else /* XXX */
41: #error "there's no appropriate type for u_int8_t"
42: #endif
43: #define HAVE_U_INT8_T 1
44: #define HAVE_INT8_T 1
45:
46: #endif /* HAVE_U_INT8_T */
47:
48: #ifndef HAVE_U_INT16_T
49:
50: #if SIZEOF_SHORT == 2
51: typedef unsigned short u_int16_t;
52: typedef signed short int16_t;
53: #elif SIZEOF_INT == 2
54: typedef unsigned int u_int16_t;
55: typedef signed int int16_t;
56: #elif SIZEOF_CHAR == 2
57: typedef unsigned char u_int16_t;
58: typedef signed char int16_t;
59: #else /* XXX */
60: #error "there's no appropriate type for u_int16_t"
61: #endif
62: #define HAVE_U_INT16_T 1
63: #define HAVE_INT16_T 1
64:
65: #endif /* HAVE_U_INT16_T */
66:
67: #ifndef HAVE_U_INT32_T
68:
69: #if SIZEOF_INT == 4
70: typedef unsigned int u_int32_t;
71: typedef signed int int32_t;
72: #elif SIZEOF_LONG == 4
73: typedef unsigned long u_int32_t;
74: typedef signed long int32_t;
75: #elif SIZEOF_SHORT == 4
76: typedef unsigned short u_int32_t;
77: typedef signed short int32_t;
78: #else /* XXX */
79: #error "there's no appropriate type for u_int32_t"
80: #endif
81: #define HAVE_U_INT32_T 1
82: #define HAVE_INT32_T 1
83:
84: #endif /* HAVE_U_INT32_T */
85:
86: #ifndef HAVE_U_INT64_T
87: #if SIZEOF_LONG_LONG == 8
88: typedef unsigned long long u_int64_t;
89: typedef long long int64_t;
90: #elif defined(_MSC_EXTENSIONS)
91: typedef unsigned _int64 u_int64_t;
92: typedef _int64 int64_t;
93: #elif SIZEOF_INT == 8
94: typedef unsigned int u_int64_t;
95: #elif SIZEOF_LONG == 8
96: typedef unsigned long u_int64_t;
97: #elif SIZEOF_SHORT == 8
98: typedef unsigned short u_int64_t;
99: #else /* XXX */
100: #error "there's no appropriate type for u_int64_t"
101: #endif
102:
103: #endif /* HAVE_U_INT64_T */
104:
105: #ifndef PRId64
106: #ifdef _MSC_EXTENSIONS
107: #define PRId64 "I64d"
108: #else /* _MSC_EXTENSIONS */
109: #define PRId64 "lld"
110: #endif /* _MSC_EXTENSIONS */
111: #endif /* PRId64 */
112:
113: #ifndef PRIo64
114: #ifdef _MSC_EXTENSIONS
115: #define PRIo64 "I64o"
116: #else /* _MSC_EXTENSIONS */
117: #define PRIo64 "llo"
118: #endif /* _MSC_EXTENSIONS */
119: #endif /* PRIo64 */
120:
121: #ifndef PRIx64
122: #ifdef _MSC_EXTENSIONS
123: #define PRIx64 "I64x"
124: #else /* _MSC_EXTENSIONS */
125: #define PRIx64 "llx"
126: #endif /* _MSC_EXTENSIONS */
127: #endif /* PRIx64 */
128:
129: #ifndef PRIu64
130: #ifdef _MSC_EXTENSIONS
131: #define PRIu64 "I64u"
132: #else /* _MSC_EXTENSIONS */
133: #define PRIu64 "llu"
134: #endif /* _MSC_EXTENSIONS */
135: #endif /* PRIu64 */
136:
137: #endif /* _BITTYPES_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>