FreeEMS  0.2.0-SNAPSHOT-285-g028e24c
tableLookup.h
Go to the documentation of this file.
1 /* FreeEMS - the open source engine management system
2  *
3  * Copyright 2008-2012 Fred Cooke
4  *
5  * This file is part of the FreeEMS project.
6  *
7  * FreeEMS software 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 3 of the License, or
10  * (at your option) any later version.
11  *
12  * FreeEMS software 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 any FreeEMS software. If not, see http://www.gnu.org/licenses/
19  *
20  * We ask that if you make any changes to this file you email them upstream to
21  * us at admin(at)diyefi(dot)org or, even better, fork the code on github.com!
22  *
23  * Thank you for choosing FreeEMS to run your engine!
24  */
25 
26 
27 /** @file
28  *
29  * @ingroup allHeaders
30  */
31 
32 
33 /* Header file multiple inclusion protection courtesy eclipse Header Template */
34 /* and http://gcc.gnu.org/onlinedocs/gcc-3.1.1/cpp/ C pre processor manual */
35 #ifndef FILE_TABLELOOKUP_H_SEEN
36 #define FILE_TABLELOOKUP_H_SEEN
37 
38 
39 #ifdef EXTERN
40 #warning "EXTERN already defined by another header, please sort it out!"
41 #undef EXTERN /* If fail on warning is off, remove the definition such that we can redefine correctly. */
42 #endif
43 
44 
45 #ifdef TABLELOOKUP_C
46 #define EXTERN
47 #else
48 #define EXTERN extern
49 #endif
50 
51 
52 unsigned short lookupTwoDTableUS(twoDTableUS *, unsigned short) TEXT;
53 unsigned short lookupMainTable(unsigned short, unsigned short, unsigned short) TEXT;
54 
55 
56 unsigned short validateTwoDTable(twoDTableUS*) TEXT;
57 unsigned short validateMainTable(mainTable*) TEXT;
58 
59 
60 /* These might change or might stay the same, so keeping for now */
61 //unsigned short lookup16Bit3dUS(unsigned short*, unsigned short, unsigned short, unsigned short*, unsigned short*, unsigned char, unsigned char); bad wrong.
62 //unsigned char lookup8Bit2dUC(void);
63 //unsigned char lookup8Bit3dUC(void);
64 //signed short lookup16Bit3D(void);
65 //signed char lookup8Bit3D(void);
66 //signed short lookup16Bit2D(void);
67 //signed char lookup8Bit2D(void);
68 
69 
70 #undef EXTERN
71 
72 
73 #else
74  /* let us know if we are being untidy with headers */
75  #warning "Header file TABLELOOKUP_H seen before, sort it out!"
76 /* end of the wrapper ifdef from the very top */
77 #endif