1 #ifndef LSL_SIGNATURES_H
2 #define LSL_SIGNATURES_H
3 
4 namespace LSL {
5 
6 struct SpringMapInfo;
7 
8 /** @{
9 , \defgroup DllPointerTypes Pointer types used with the unitsync library.
10 , \TODO move from global namespace
11 ,/
12 */
13 
14 
15 #ifdef WIN32
16 #define USYNC_CALLCONV __stdcall
17 #else
18 #define USYNC_CALLCONV
19 #endif
20 
21 #define FUNC(ret, name, ...) \
22 	typedef ret (USYNC_CALLCONV *name)(__VA_ARGS__)
23 
24 FUNC(const char*, GetSpringVersionPtr);
25 FUNC(const char*, GetSpringVersionPatchsetPtr);
26 FUNC(bool, IsSpringReleaseVersionPtr);
27 
28 FUNC(int,InitPtr, bool, int);
29 FUNC(void,UnInitPtr);
30 FUNC(const char*, GetNextErrorPtr);
31 FUNC(const char*, GetWritableDataDirectoryPtr);
32 FUNC(const char*, GetDataDirectoryPtr, int);
33 FUNC(int, GetDataDirectoryCountPtr);
34 
35 FUNC(int, GetMapCountPtr);
36 FUNC(unsigned int, GetMapChecksumPtr, int);
37 FUNC(const char*, GetMapNamePtr, int);
38 FUNC(const char*, GetMapDescriptionPtr, int);
39 FUNC(const char*, GetMapAuthorPtr, int);
40 FUNC(int, GetMapWidthPtr, int);
41 FUNC(int, GetMapHeightPtr, int);
42 FUNC(int, GetMapTidalStrengthPtr, int);
43 FUNC(int, GetMapWindMinPtr, int);
44 FUNC(int, GetMapWindMaxPtr, int);
45 FUNC(int, GetMapGravityPtr, int);
46 FUNC(int, GetMapResourceCountPtr, int);
47 FUNC(const char*, GetMapResourceNamePtr, int, int);
48 FUNC(float, GetMapResourceMaxPtr, int, int);
49 FUNC(int, GetMapResourceExtractorRadiusPtr, int, int);
50 FUNC(int, GetMapPosCountPtr, int);
51 FUNC(float, GetMapPosXPtr, int, int);
52 FUNC(float, GetMapPosZPtr, int, int);
53 
54 FUNC(int, GetMapInfoExPtr, const char*, SpringMapInfo*, int);
55 FUNC(void*, GetMinimapPtr, const char*, int);
56 FUNC(int, GetInfoMapSizePtr, const char*, const char*, int*, int*);
57 FUNC(int, GetInfoMapPtr, const char*, const char*, void*, int);
58 
59 FUNC(unsigned int, GetPrimaryModChecksumPtr, int);
60 FUNC(int, GetPrimaryModIndexPtr, const char*);
61 FUNC(const char*, GetPrimaryModNamePtr, int);
62 FUNC(int, GetPrimaryModCountPtr);
63 FUNC(const char*, GetPrimaryModArchivePtr, int);
64 
65 FUNC(int, GetSideCountPtr);
66 FUNC(const char*, GetSideNamePtr, int);
67 
68 FUNC(void,AddAllArchivesPtr, const char*);
69 FUNC(void,RemoveAllArchivesPtr);
70 
71 FUNC(const char*, GetFullUnitNamePtr, int);
72 FUNC(const char*, GetUnitNamePtr, int);
73 FUNC(int, GetUnitCountPtr);
74 FUNC(int,ProcessUnitsNoChecksumPtr);
75 
76 FUNC(int,InitFindVFSPtr, const char*);
77 FUNC(int,FindFilesVFSPtr, int, char*, int);
78 FUNC(int,OpenFileVFSPtr, const char*);
79 FUNC(int,FileSizeVFSPtr, int);
80 FUNC(int,ReadFileVFSPtr, int, void*, int);
81 FUNC(void,CloseFileVFSPtr, int);
82 
83 FUNC(void,SetSpringConfigFilePtr, const char*);
84 FUNC(const char*, GetSpringConfigFilePtr);
85 
86 FUNC(int, GetSpringConfigIntPtr, const char*, int );
87 FUNC(const char*, GetSpringConfigStringPtr, const char*, const char* );
88 FUNC(float, GetSpringConfigFloatPtr, const char*, float );
89 
90 FUNC(void,SetSpringConfigStringPtr, const char*, const char* );
91 FUNC(void,SetSpringConfigIntPtr, const char*, int );
92 FUNC(void,SetSpringConfigFloatPtr, const char*, float );
93 
94 FUNC(int,ProcessUnitsPtr, void);
95 FUNC(void,AddArchivePtr, const char*);
96 FUNC(unsigned int, GetArchiveChecksumPtr, const char*);
97 FUNC(const char*, GetArchivePathPtr, const char*);
98 FUNC(int, GetMapArchiveCountPtr, const char*);
99 FUNC(const char*, GetMapArchiveNamePtr, int);
100 FUNC(unsigned int, GetMapChecksumPtr, int);
101 FUNC(int, GetMapChecksumFromNamePtr, const char*);
102 
103 FUNC(const char*, GetPrimaryModShortNamePtr, int);
104 FUNC(const char*, GetPrimaryModVersionPtr, int);
105 FUNC(const char*, GetPrimaryModMutatorPtr, int);
106 FUNC(const char*, GetPrimaryModGamePtr, int);
107 FUNC(const char*, GetPrimaryModShortGamePtr, int);
108 FUNC(const char*, GetPrimaryModDescriptionPtr, int);
109 FUNC(const char*, GetPrimaryModArchivePtr, int);
110 FUNC(int, GetPrimaryModArchiveCountPtr, int);
111 FUNC(const char*, GetPrimaryModArchiveListPtr, int);
112 FUNC(unsigned int, GetPrimaryModChecksumFromNamePtr, const char*);
113 FUNC(unsigned int, GetModValidMapCountPtr);
114 FUNC(const char*, GetModValidMapPtr, int);
115 
116 FUNC(int, GetLuaAICountPtr);
117 FUNC(const char*, GetLuaAINamePtr, int);
118 FUNC(const char*, GetLuaAIDescPtr, int);
119 
120 FUNC(int, GetMapOptionCountPtr, const char*);
121 FUNC(int, GetCustomOptionCountPtr, const char*);
122 FUNC(int, GetModOptionCountPtr);
123 FUNC(int, GetSkirmishAIOptionCountPtr, int);
124 FUNC(const char*, GetOptionKeyPtr, int);
125 FUNC(const char*, GetOptionNamePtr, int);
126 FUNC(const char*, GetOptionDescPtr, int);
127 FUNC(const char*, GetOptionSectionPtr, int);
128 FUNC(const char*, GetOptionStylePtr, int);
129 FUNC(int, GetOptionTypePtr, int);
130 FUNC(int, GetOptionBoolDefPtr, int);
131 FUNC(float, GetOptionNumberDefPtr, int);
132 FUNC(float, GetOptionNumberMinPtr, int);
133 FUNC(float, GetOptionNumberMaxPtr, int);
134 FUNC(float, GetOptionNumberStepPtr, int);
135 FUNC(const char*, GetOptionStringDefPtr, int);
136 FUNC(int, GetOptionStringMaxLenPtr, int);
137 FUNC(int, GetOptionListCountPtr, int);
138 FUNC(const char*, GetOptionListDefPtr, int);
139 FUNC(const char*, GetOptionListItemKeyPtr, int, int);
140 FUNC(const char*, GetOptionListItemNamePtr, int, int);
141 FUNC(const char*, GetOptionListItemDescPtr, int, int);
142 
143 FUNC(int,OpenArchivePtr, const char*);
144 FUNC(void,CloseArchivePtr, int);
145 FUNC(int,FindFilesArchivePtr, int, int, char*, int*);
146 FUNC(int,OpenArchiveFilePtr, int, const char*);
147 FUNC(int,ReadArchiveFilePtr, int, int, void*, int);
148 FUNC(void,CloseArchiveFilePtr, int, int);
149 FUNC(int,SizeArchiveFilePtr, int, int);
150 
151 FUNC(int, GetSkirmishAICountPtr);
152 FUNC(int, GetSkirmishAIInfoCountPtr, int);
153 FUNC(const char*, GetInfoKeyPtr, int);
154 FUNC(const char*, GetInfoValuePtr, int);
155 FUNC(const char*, GetInfoDescriptionPtr, int);
156 
157 /// Unitsync functions wrapping lua parser
158 /** @} */
159 FUNC(void, lpClosePtr);
160 FUNC(int, lpOpenFilePtr, const char*, const char*, const char*);
161 FUNC(int, lpOpenSourcePtr, const char*, const char*);
162 FUNC(int, lpExecutePtr);
163 FUNC(const char*, lpErrorLogPtr);
164 
165 FUNC(void, lpAddTableIntPtr, int, int override);
166 FUNC(void, lpAddTableStrPtr, const char*, int override);
167 FUNC(void, lpEndTablePtr);
168 FUNC(void, lpAddIntKeyIntValPtr, int, int);
169 FUNC(void, lpAddStrKeyIntValPtr, const char*, int);
170 FUNC(void, lpAddIntKeyBoolValPtr, int, int);
171 FUNC(void, lpAddStrKeyBoolValPtr, const char*, int);
172 FUNC(void, lpAddIntKeyFloatValPtr, int, float val);
173 FUNC(void, lpAddStrKeyFloatValPtr, const char*, float val);
174 FUNC(void, lpAddIntKeyStrValPtr, int, const char* val);
175 FUNC(void, lpAddStrKeyStrValPtr, const char*, const char* val);
176 
177 FUNC(int, lpRootTablePtr);
178 FUNC(int, lpRootTableExprPtr, const char* expr);
179 FUNC(int, lpSubTableIntPtr, int);
180 FUNC(int, lpSubTableStrPtr, const char*);
181 FUNC(int, lpSubTableExprPtr, const char* expr);
182 FUNC(void, lpPopTablePtr);
183 
184 FUNC(int, lpGetKeyExistsIntPtr, int);
185 FUNC(int, lpGetKeyExistsStrPtr, const char*);
186 
187 FUNC(int, lpGetIntKeyTypePtr, int);
188 FUNC(int, lpGetStrKeyTypePtr, const char*);
189 
190 FUNC(int, lpGetIntKeyListCountPtr);
191 FUNC(int, lpGetIntKeyListEntryPtr, int);
192 FUNC(int, lpGetStrKeyListCountPtr);
193 FUNC(const char*, lpGetStrKeyListEntryPtr, int);
194 
195 FUNC(int, lpGetIntKeyIntValPtr, int, int);
196 FUNC(int, lpGetStrKeyIntValPtr, const char*, int);
197 FUNC(int, lpGetIntKeyBoolValPtr, int, int);
198 FUNC(int, lpGetStrKeyBoolValPtr, const char*, int);
199 FUNC(float, lpGetIntKeyFloatValPtr, int, float);
200 FUNC(float, lpGetStrKeyFloatValPtr, const char*, float);
201 FUNC(const char*, lpGetIntKeyStrValPtr, int, const char*);
202 FUNC(const char*, lpGetStrKeyStrValPtr, const char*, const char*);
203 
204 
205 } //namespace LSL
206 
207 #endif // LSL_SIGNATURES_H
208