1 /*
2 * ======== tistdtypes.h ========
3 */
5 /*
6 * These types are also defined by other TI components. They are bracketed
7 * with _TI_STD_TYPES to avoid warnings for duplicate definition.
8 *
9 * You may get warnings about duplicate type definitions when using this
10 * header file with earlier versions of DSP/BIOS and CSL.
11 *
12 * You can use the '-pds303' compiler option to suppress these warnings.
13 */
14 #ifndef _TI_STD_TYPES
15 #define _TI_STD_TYPES
17 /*
18 * This '#ifndef STD_' is needed to protect from duplicate definitions
19 * of Int, Uns, etc. in DSP/BIOS v4.x (e.g. 4.90, 4.80) since these versions
20 * of DSP/BIOS did not contain the '#ifndef_TI_STD_TYPES' logic.
21 */
22 #ifndef STD_
24 /*
25 * Aliases for standard C types
26 */
27 typedef int Int;
28 typedef unsigned Uns;
29 typedef char Char;
31 /* pointer to null-terminated character sequence */
32 typedef char *String;
34 typedef void *Ptr; /* pointer to arbitrary type */
36 typedef unsigned short Bool; /* boolean */
38 #endif /* STD_ */
40 /*
41 * Uint8, Uint16, Uint32, etc are defined to be "smallest unit of
42 * available storage that is large enough to hold unsigned or integer
43 * of specified size".
44 */
46 /* Handle the 6x ISA */
47 #if defined(_TMS320C6X)
48 /* Unsigned integer definitions (32bit, 16bit, 8bit) follow... */
49 typedef unsigned int Uint32;
50 typedef unsigned short Uint16;
51 typedef unsigned char Uint8;
53 /* Signed integer definitions (32bit, 16bit, 8bit) follow... */
54 typedef int Int32;
55 typedef short Int16;
56 typedef char Int8;
58 /* Handle the 54x, 55x and 28x ISAs */
59 #elif defined(_TMS320C5XX) || defined(__TMS320C55X__) || defined(_TMS320C28X)
60 /* Unsigned integer definitions (32bit, 16bit, 8bit) follow... */
61 typedef unsigned long Uint32;
62 typedef unsigned short Uint16;
63 typedef unsigned char Uint8;
65 /* Signed integer definitions (32bit, 16bit, 8bit) follow... */
66 typedef long Int32;
67 typedef short Int16;
68 typedef char Int8;
70 #else
71 /* Other ISAs not supported */
72 #error <tistdtypes.h> is not supported for this target
73 #endif /* defined(_6x_) */
75 #endif /* _TI_STD_TYPES */