Rev Author Line No. Line
1145 kaklik 1 /*! \file avrlibtypes.h \brief AVRlib global types and typedefines. */
2 //*****************************************************************************
3 //
4 // File Name : 'avrlibtypes.h'
5 // Title : AVRlib global types and typedefines include file
6 // Author : Pascal Stang
7 // Created : 7/12/2001
8 // Revised : 9/30/2002
9 // Version : 1.0
10 // Target MCU : Atmel AVR series
11 // Editor Tabs : 4
12 //
13 // Description : Type-defines required and used by AVRlib. Most types are also
14 // generally useful.
15 //
16 // This code is distributed under the GNU Public License
17 // which can be found at http://www.gnu.org/licenses/gpl.txt
18 //
19 //*****************************************************************************
20  
21  
22 #ifndef AVRLIBTYPES_H
23 #define AVRLIBTYPES_H
24  
25 #ifndef WIN32
26 // true/false defines
27 #define FALSE 0
28 #define TRUE -1
29 #endif
30  
31 // datatype definitions macros
32 typedef unsigned char u08;
33 typedef signed char s08;
34 typedef unsigned short u16;
35 typedef signed short s16;
36 typedef unsigned long u32;
37 typedef signed long s32;
38 typedef unsigned long long u64;
39 typedef signed long long s64;
40  
41 /* use inttypes.h instead
42 // C99 standard integer type definitions
43 typedef unsigned char uint8_t;
44 typedef signed char int8_t;
45 typedef unsigned short uint16_t;
46 typedef signed short int16_t;
47 typedef unsigned long uint32_t;
48 typedef signed long int32_t;
49 typedef unsigned long uint64_t;
50 typedef signed long int64_t;
51 */
52 // maximum value that can be held
53 // by unsigned data types (8,16,32bits)
54 #define MAX_U08 255
55 #define MAX_U16 65535
56 #define MAX_U32 4294967295
57  
58 // maximum values that can be held
59 // by signed data types (8,16,32bits)
60 #define MIN_S08 -128
61 #define MAX_S08 127
62 #define MIN_S16 -32768
63 #define MAX_S16 32767
64 #define MIN_S32 -2147483648
65 #define MAX_S32 2147483647
66  
67 #ifndef WIN32
68 // more type redefinitions
69 typedef unsigned char BOOL;
70 typedef unsigned char BYTE;
71 typedef unsigned int WORD;
72 typedef unsigned long DWORD;
73  
74 typedef unsigned char UCHAR;
75 typedef unsigned int UINT;
76 typedef unsigned short USHORT;
77 typedef unsigned long ULONG;
78  
79 typedef char CHAR;
80 typedef int INT;
81 typedef long LONG;
82 #endif
83  
84 #endif