Main Page
Related Pages
Modules
Classes
Files
File List
File Members
SOEM
oshw
win32
wpcap
Include
bittypes.h
Go to the documentation of this file.
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 */
int16_t
signed short int16_t
Definition:
stdint.h:76
int8_t
signed char int8_t
Definition:
stdint.h:75
int64_t
signed __int64 int64_t
Definition:
stdint.h:89
int32_t
signed int int32_t
Definition:
stdint.h:77
soem
Author(s): Arthur Ketels and M.J.G. van den Molengraft
autogenerated on Sat Jun 27 2020 03:48:20