1 /******************************************************************************
\r
2 * File Name : types.h
\r
4 * Device(s) : Renesas
\r
5 * Tool-Chain : Renesas SH2A V9+
\r
7 * H/W Platform : SH2A
\r
8 * Description : User Defined Type Definition File
\r
9 *******************************************************************************
\r
10 * History : DD.MM.YYYY Ver. Description
\r
11 * : 01.08.2009 1.00 MAB First Release
\r
12 ******************************************************************************/
\r
14 /******************************************************************************
\r
16 * This software is supplied by Renesas Technology Corp. and is only
\r
17 * intended for use with Renesas products. No other uses are authorized.
\r
18 * This software is owned by Renesas Technology Corp. and is protected under
\r
19 * all applicable laws, including copyright laws.
\r
20 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES
\r
21 * REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY,
\r
22 * INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
\r
23 * PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY
\r
25 * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
\r
26 * TECHNOLOGY CORP. NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
\r
27 * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
\r
28 * FOR ANY REASON RELATED TO THE THIS SOFTWARE, EVEN IF RENESAS OR ITS
\r
29 * AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
\r
30 * Renesas reserves the right, without notice, to make changes to this
\r
31 * software and to discontinue the availability of this software.
\r
32 * By using this software, you agree to the additional terms and
\r
33 * conditions found by accessing the following link:
\r
34 * http://www.renesas.com/disclaimer
\r
35 ******************************************************************************/
\r
36 /* Copyright (C) 2008. Renesas Technology Corp., All Rights Reserved. */
\r
37 /* Copyright (C) 2009. Renesas Technology Europe Ltd., All Rights Reserved. */
\r
38 /*****************************************************************************/
\r
40 #ifndef TYPES_H_INCLUDED
\r
41 #define TYPES_H_INCLUDED
\r
43 /******************************************************************************
\r
45 ******************************************************************************/
\r
47 #include "Compiler.h"
\r
49 /******************************************************************************
\r
51 ******************************************************************************/
\r
54 #define SWAPWORD(x) (WORD)((((x) & 0xFF) << 8) | (((x) >> 8) & 0xFF))
\r
58 #define LOBYTE(x) (BYTE)(x)
\r
62 #define HIBYTE(x) (BYTE)((x) >> 8)
\r
66 #define MAKEWORD(a, b) ((WORD) (((BYTE) (a)) |\
\r
67 ((WORD) ((BYTE) (b))) << 8))
\r
70 /******************************************************************************
\r
72 ******************************************************************************/
\r
74 /* Generic definitions */
\r
75 #ifndef NULL /* set null ((void *)0) */
\r
80 #define PNULL ((PVOID)0)
\r
83 #ifndef BIT_0 /* set bits */
\r
95 #define BIT_10 0x400
\r
96 #define BIT_11 0x800
\r
97 #define BIT_12 0x1000
\r
98 #define BIT_13 0x2000
\r
99 #define BIT_14 0x4000
\r
100 #define BIT_15 0x8000
\r
102 #define BIT_16 0x10000L
\r
103 #define BIT_17 0x20000L
\r
104 #define BIT_18 0x40000L
\r
105 #define BIT_19 0x80000L
\r
106 #define BIT_20 0x100000L
\r
107 #define BIT_21 0x200000L
\r
108 #define BIT_22 0x400000L
\r
109 #define BIT_23 0x800000L
\r
111 #define BIT_24 0x1000000L
\r
112 #define BIT_25 0x2000000L
\r
113 #define BIT_26 0x4000000L
\r
114 #define BIT_27 0x8000000L
\r
115 #define BIT_28 0x10000000L
\r
116 #define BIT_29 0x20000000L
\r
117 #define BIT_30 0x40000000L
\r
118 #define BIT_31 0x80000000L
\r
121 #ifndef TRUE /* true and false */
\r
122 #define TRUE (BOOL)1
\r
126 #define FALSE (BOOL)0
\r
129 #if defined(WIN32_SH4) && defined(__cplusplus)
\r
134 typedef unsigned long size_t;
\r
140 typedef unsigned char BOOL;
\r
144 #define PBOOL PBOOL
\r
145 typedef unsigned char *PBOOL;
\r
149 #define TCHAR TCHAR
\r
150 typedef char TCHAR;
\r
154 #define PTCHAR PTCHAR
\r
155 typedef char *PTCHAR;
\r
159 #define PCTCHAR PCTCHAR
\r
160 typedef char *const PCTCHAR;
\r
164 #define CPCTCHAR CPCTCHAR
\r
165 typedef const char *const CPCTCHAR;
\r
174 #define CCHAR CCHAR
\r
175 typedef const char CCHAR;
\r
179 #define PCHAR PCHAR
\r
180 typedef char *PCHAR;
\r
184 #define CPCHAR CPCHAR
\r
185 typedef const char *CPCHAR;
\r
189 #define PCCHAR PCCHAR
\r
190 typedef char *const PCCHAR;
\r
194 #define CPCCHAR CPCCHAR
\r
195 typedef const char *const CPCCHAR;
\r
199 #define PTSTR PTSTR
\r
200 typedef const char *PTSTR;
\r
204 #define PCTSTR PCTSTR
\r
205 typedef char *const PCTSTR;
\r
209 #define PCTSTR PCTSTR
\r
210 typedef const char *PCTSTR;
\r
214 #define PTSTR PTSTR
\r
215 typedef char *PTSTR;
\r
220 typedef unsigned char BYTE;
\r
224 #define PBYTE PBYTE
\r
225 typedef unsigned char *PBYTE;
\r
229 #define PCBYTE PCBYTE
\r
230 typedef unsigned char *const PCBYTE;
\r
234 #define CPBYTE CPBYTE
\r
235 typedef const unsigned char *CPBYTE;
\r
239 #define SHORT SHORT
\r
240 typedef short SHORT;
\r
244 #define PSHORT PSHORT
\r
245 typedef short *PSHORT;
\r
249 #define PCSHORT PCSHORT
\r
250 typedef short *const PCSHORT;
\r
254 #define CPSHORT CPSHORT
\r
255 typedef const short *CPSHORT;
\r
259 #define USHORT USHORT
\r
260 typedef unsigned short USHORT;
\r
264 #define PUSHORT PUSHORT
\r
265 typedef unsigned short *PUSHORT;
\r
269 #define PCUSHORT PCUSHORT
\r
270 typedef unsigned short *const PCUSHORT;
\r
274 #define CPUSHORT CPUSHORT
\r
275 typedef const unsigned short *CPUSHORT;
\r
280 typedef unsigned short WORD;
\r
284 #define PWORD PWORD
\r
285 typedef unsigned short *PWORD;
\r
289 #define PCWORD PCWORD
\r
290 typedef unsigned short *const PCWORD;
\r
300 typedef const int CINT;
\r
309 #define PCINT PCINT
\r
310 typedef int *const PCINT;
\r
314 #define CPINT CPINT
\r
315 typedef const int *CPINT;
\r
320 typedef unsigned int UINT;
\r
324 #define PUINT PUINT
\r
325 typedef unsigned int *PUINT;
\r
329 #define PCUINT PCUINT
\r
330 typedef unsigned int *const PCUINT;
\r
334 #define CPUINT CPUINT
\r
335 typedef const unsigned int *CPUINT;
\r
339 #define DWORD DWORD
\r
340 typedef unsigned long DWORD;
\r
344 #define PDWORD PDWORD
\r
345 typedef unsigned long *PDWORD;
\r
349 #define PCDWORD PCDWORD
\r
350 typedef unsigned long *const PCDWORD;
\r
354 #define CPDWORD CPDWORD
\r
355 typedef const unsigned long *CPDWORD;
\r
364 #define PLONG PLONG
\r
365 typedef long *PLONG;
\r
369 #define PCLONG PCLONG
\r
370 typedef long *const PCLONG;
\r
374 #define CPLONG CPLONG
\r
375 typedef const long *CPLONG;
\r
379 #define ULONG ULONG
\r
380 typedef unsigned long ULONG;
\r
384 #define PULONG PULONG
\r
385 typedef unsigned long *PULONG;
\r
389 #define PCULONG PCULONG
\r
390 typedef unsigned long *const PCULONG;
\r
394 #define CPULONG CPULONG
\r
395 typedef const unsigned long *CPULONG;
\r
399 #define FLOAT FLOAT
\r
400 typedef float FLOAT;
\r
404 #define DOUBLE DOUBLE
\r
405 typedef long double DOUBLE;
\r
409 #define PDOUBLE PDOUBLE
\r
410 typedef long double *PDOUBLE;
\r
414 #define CPDOUBLE CPDOUBLE
\r
415 typedef const long double *CPDOUBLE;
\r
419 #define PCDOUBLE PCDOUBLE
\r
420 typedef long double *const PCDOUBLE;
\r
424 #define PVOID PVOID
\r
425 typedef void *PVOID;
\r
435 typedef unsigned short IOID;
\r
439 #define PIOID PIOID
\r
440 typedef unsigned short *PIOID;
\r
444 #define BBYTE BBYTE
\r
446 unsigned char BYTE; /*lint -e46 */
\r
447 /* this is correct */
\r
449 #ifdef _BITFIELDS_MSB_FIRST_
\r
450 unsigned char B7:1;
\r
451 unsigned char B6:1;
\r
452 unsigned char B5:1;
\r
453 unsigned char B4:1;
\r
454 unsigned char B3:1;
\r
455 unsigned char B2:1;
\r
456 unsigned char B1:1;
\r
457 unsigned char B0:1;
\r
459 unsigned char B0:1;
\r
460 unsigned char B1:1;
\r
461 unsigned char B2:1;
\r
462 unsigned char B3:1;
\r
463 unsigned char B4:1;
\r
464 unsigned char B5:1;
\r
465 unsigned char B6:1;
\r
466 unsigned char B7:1;
\r
472 #endif /* TYPES_H_INCLUDED */
\r
474 /******************************************************************************
\r
476 ******************************************************************************/
\r