tizen 2.4 release
[kernel/u-boot-tm1.git] / arch / arm / 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__) */