]> git.ipfire.org Git - people/ms/u-boot.git/blob - cpu/ixp/npe/include/ix_types.h
sh: Move cpu/$CPU to arch/sh/cpu/$CPU
[people/ms/u-boot.git] / cpu / ixp / npe / include / ix_types.h
1 /**
2 * ============================================================================
3 * = COPYRIGHT
4 *
5 * @par
6 * IXP400 SW Release version 2.0
7 *
8 * -- Copyright Notice --
9 *
10 * @par
11 * Copyright 2001-2005, Intel Corporation.
12 * All rights reserved.
13 *
14 * @par
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
17 * are met:
18 * 1. Redistributions of source code must retain the above copyright
19 * notice, this list of conditions and the following disclaimer.
20 * 2. Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 * 3. Neither the name of the Intel Corporation nor the names of its contributors
24 * may be used to endorse or promote products derived from this software
25 * without specific prior written permission.
26 *
27 * @par
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
29 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
32 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38 * SUCH DAMAGE.
39 *
40 * @par
41 * -- End of Copyright Notice --
42 * = PRODUCT
43 * Intel(r) IXP425 Software Release
44 *
45 * = FILENAME
46 * ix_types.h
47 *
48 * = DESCRIPTION
49 * This file will define generic types that will guarantee the protability
50 * between different architectures and compilers. It should be used the entire
51 * IXA SDK Framework API.
52 *
53 * = AUTHOR
54 * Intel Corporation
55 *
56 * = CHANGE HISTORY
57 * 4/22/2002 4:44:17 PM - creation time
58 * ============================================================================
59 */
60
61 #if !defined(__IX_TYPES_H__)
62 #define __IX_TYPES_H__
63
64
65 #if defined(__cplusplus)
66 extern "C"
67 {
68 #endif /* end defined(__cplusplus) */
69
70
71 /**
72 * Define generic integral data types that will guarantee the size.
73 */
74
75 /**
76 * TYPENAME: ix_int8
77 *
78 * DESCRIPTION: This type defines an 8 bit signed integer value.
79 *
80 */
81 typedef signed char ix_int8;
82
83
84 /**
85 * TYPENAME: ix_uint8
86 *
87 * DESCRIPTION: This type defines an 8 bit unsigned integer value.
88 *
89 */
90 typedef unsigned char ix_uint8;
91
92
93 /**
94 * TYPENAME: ix_int16
95 *
96 * DESCRIPTION: This type defines an 16 bit signed integer value.
97 *
98 */
99 typedef signed short int ix_int16;
100
101
102 /**
103 * TYPENAME: ix_uint16
104 *
105 * DESCRIPTION: This type defines an 16 bit unsigned integer value.
106 *
107 */
108 typedef unsigned short int ix_uint16;
109
110
111 /**
112 * TYPENAME: ix_int32
113 *
114 * DESCRIPTION: This type defines an 32 bit signed integer value.
115 *
116 */
117 typedef signed int ix_int32;
118
119
120 /**
121 * TYPENAME: ix_uint32
122 *
123 * DESCRIPTION: This type defines an 32 bit unsigned integer value.
124 *
125 */
126 #ifndef __wince
127 typedef unsigned int ix_uint32;
128 #else
129 typedef unsigned long ix_uint32;
130 #endif
131
132 /**
133 * TYPENAME: ix_int64
134 *
135 * DESCRIPTION: This type defines an 64 bit signed integer value.
136 *
137 */
138 #ifndef __wince
139 __extension__ typedef signed long long int ix_int64;
140 #endif
141
142 /**
143 * TYPENAME: ix_uint64
144 *
145 * DESCRIPTION: This type defines an 64 bit unsigned integer value.
146 *
147 */
148 #ifndef __wince
149 __extension__ typedef unsigned long long int ix_uint64;
150 #endif
151
152
153 /**
154 * TYPENAME: ix_bit_mask8
155 *
156 * DESCRIPTION: This is a generic type for a 8 bit mask.
157 */
158 typedef ix_uint8 ix_bit_mask8;
159
160
161 /**
162 * TYPENAME: ix_bit_mask16
163 *
164 * DESCRIPTION: This is a generic type for a 16 bit mask.
165 */
166 typedef ix_uint16 ix_bit_mask16;
167
168
169 /**
170 * TYPENAME: ix_bit_mask32
171 *
172 * DESCRIPTION: This is a generic type for a 32 bit mask.
173 */
174 typedef ix_uint32 ix_bit_mask32;
175
176
177 /**
178 * TYPENAME: ix_bit_mask64
179 *
180 * DESCRIPTION: This is a generic type for a 64 bit mask.
181 */
182 #ifndef __wince
183 typedef ix_uint64 ix_bit_mask64;
184 #endif
185
186
187 /**
188 * TYPENAME: ix_handle
189 *
190 * DESCRIPTION: This type defines a generic handle.
191 *
192 */
193 typedef ix_uint32 ix_handle;
194
195
196
197 /**
198 * DESCRIPTION: This symbol defines a NULL handle
199 *
200 */
201 #define IX_NULL_HANDLE ((ix_handle)0)
202
203
204 #if defined(__cplusplus)
205 }
206 #endif /* end defined(__cplusplus) */
207
208 #endif /* end !defined(__IX_TYPES_H__) */