This commit was manufactured by cvs2svn to create tag 'd2x-0_1_2'.
[btb/d2x.git] / include / pstypes.h
1 /*
2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
11 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
12 */
13
14 #ifndef _TYPES_H
15 #define _TYPES_H
16
17 // define a dboolean
18 typedef int dboolean;
19
20 //define a byte 
21 typedef signed char byte;
22
23 //define unsigned types;
24 typedef unsigned char ubyte;
25 #ifndef __linux__
26 typedef unsigned short ushort;
27 typedef unsigned int uint;
28 typedef unsigned long ulong;
29 #endif
30
31 #ifndef min
32 #define min(a,b) (((a)>(b))?(b):(a))
33 #endif
34 #ifndef max
35 #define max(a,b) (((a)<(b))?(b):(a))
36 #endif
37
38 #if defined __MINGW32__
39 #include <stdint.h>
40 typedef uint64_t u_int64_t;
41 typedef uint32_t u_int32_t;
42
43 #elif defined __linux__
44 # include <sys/types.h>
45 # define _MAX_PATH 1024
46 # define _MAX_DIR 256
47
48 #elif defined __DJGPP__
49 # include <sys/types.h>
50 # define _MAX_PATH 255
51 # define _MAX_DIR 63
52 typedef signed int int32_t;
53 typedef unsigned int u_int32_t;
54 typedef signed short int16_t;
55 typedef unsigned short u_int16_t;
56
57 #endif
58
59 //define a boolean
60 typedef ubyte bool;
61
62 #ifndef NULL
63 #define NULL 0
64 #endif
65
66 #ifdef __GNUC__
67 #define __pack__ __attribute__((packed))
68 #else
69 #define __pack__
70 #endif
71
72 #endif
73