292f9317 |
1 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
2 | * Mupen64plus - osal_preproc.h * |
3 | * Mupen64Plus homepage: http://code.google.com/p/mupen64plus/ * |
4 | * Copyright (C) 2009 Richard Goedeken * |
5 | * Copyright (C) 2002 Hacktarux * |
6 | * * |
7 | * This program is free software; you can redistribute it and/or modify * |
8 | * it under the terms of the GNU General Public License as published by * |
9 | * the Free Software Foundation; either version 2 of the License, or * |
10 | * (at your option) any later version. * |
11 | * * |
12 | * This program is distributed in the hope that it will be useful, * |
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * |
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
15 | * GNU General Public License for more details. * |
16 | * * |
17 | * You should have received a copy of the GNU General Public License * |
18 | * along with this program; if not, write to the * |
19 | * Free Software Foundation, Inc., * |
20 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * |
21 | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ |
22 | |
23 | /* this header file is for system-dependent #defines, #includes, and typedefs */ |
24 | |
25 | #if !defined(OSAL_PREPROC_H) |
26 | #define OSAL_PREPROC_H |
27 | |
28 | #if defined(WIN32) |
29 | #include <windows.h> |
30 | #if defined(__MINGW32__) |
31 | #define ALIGN(BYTES,DATA) DATA __attribute__((aligned(BYTES))); |
32 | #else |
33 | #define ALIGN(BYTES,DATA) __declspec(align(BYTES)) DATA; |
34 | #define strncasecmp _strnicmp |
35 | #define strcasecmp _stricmp |
36 | #endif |
37 | #else |
38 | |
39 | #define ALIGN(BYTES,DATA) DATA __attribute__((aligned(BYTES))); |
40 | |
41 | typedef unsigned int BOOL; |
42 | typedef void* HBITMAP; |
43 | |
44 | typedef struct |
45 | { |
46 | int top; |
47 | int bottom; |
48 | int right; |
49 | int left; |
50 | } RECT; |
51 | |
52 | #define __cdecl |
53 | |
54 | #ifndef FALSE |
55 | #define FALSE 0 |
56 | #endif |
57 | |
58 | #ifndef TRUE |
59 | #define TRUE 1 |
60 | #endif |
61 | |
62 | typedef struct tagBITMAPINFOHEADER |
63 | { |
64 | unsigned int biSize; |
65 | int biWidth; |
66 | int biHeight; |
67 | unsigned short biPlanes; |
68 | unsigned short biBitCount; |
69 | unsigned int biCompression; |
70 | unsigned int biSizeImage; |
71 | int biXPelsPerMeter; |
72 | int biYPelsPerMeter; |
73 | unsigned int biClrUsed; |
74 | unsigned int biClrImportant; |
75 | } __attribute__ ((packed)) BITMAPINFOHEADER; |
76 | |
77 | typedef struct tagBITMAPINFO |
78 | { |
79 | BITMAPINFOHEADER bmiHeader; |
80 | unsigned int unused; |
81 | } BITMAPINFO; |
82 | |
83 | typedef struct tagBITMAPFILEHEADER |
84 | { |
85 | unsigned short bfType; |
86 | unsigned int bfSize; |
87 | unsigned short bfReserved1; |
88 | unsigned short bfReserved2; |
89 | unsigned int bfOffBits; |
90 | } __attribute__ ((packed)) BITMAPFILEHEADER; |
91 | |
92 | #define BI_RGB 0 |
93 | |
94 | #endif // WIN32 |
95 | |
96 | #endif // OSAL_PREPROC_H |