angelscript_sys/
c_engine.rs

1#![allow(dead_code)]
2
3use crate::c_types::*;
4
5extern "C" {
6
7    pub fn asCreateScriptEngine(
8        version: asDWORD
9    ) -> *mut asIScriptEngine;
10
11    pub fn asEngine_AddRef(
12        e: *mut asIScriptEngine
13    ) -> ::std::os::raw::c_int;
14
15    pub fn asEngine_Release(
16        e: *mut asIScriptEngine
17    ) -> ::std::os::raw::c_int;
18
19    pub fn asEngine_ShutDownAndRelease(
20        e: *mut asIScriptEngine
21    ) -> ::std::os::raw::c_int;
22
23    pub fn asEngine_SetEngineProperty(
24        e: *mut asIScriptEngine,
25        property: asEEngineProp,
26        value: asPWORD,
27    ) -> ::std::os::raw::c_int;
28
29    pub fn asEngine_GetEngineProperty(
30        e: *mut asIScriptEngine, 
31        property: asEEngineProp
32    ) -> asPWORD;
33
34    pub fn asEngine_SetMessageCallback(
35        e: *mut asIScriptEngine,
36        callback: asFUNCTION_t,
37        obj: *mut ::std::os::raw::c_void,
38        callConv: asDWORD,
39    ) -> ::std::os::raw::c_int;
40
41    pub fn asEngine_ClearMessageCallback(
42        e: *mut asIScriptEngine
43    ) -> ::std::os::raw::c_int;
44
45    pub fn asEngine_WriteMessage(
46        e: *mut asIScriptEngine,
47        section: *const ::std::os::raw::c_char,
48        row: ::std::os::raw::c_int,
49        col: ::std::os::raw::c_int,
50        type_: asEMsgType,
51        message: *const ::std::os::raw::c_char,
52    ) -> ::std::os::raw::c_int;
53
54    pub fn asEngine_SetJITCompiler(
55        e: *mut asIScriptEngine,
56        compiler: *mut asIJITCompiler,
57    ) -> ::std::os::raw::c_int;
58
59    pub fn asEngine_GetJITCompiler(
60        e: *mut asIScriptEngine
61    ) -> *mut asIJITCompiler;
62
63    pub fn asEngine_RegisterGlobalFunction(
64        e: *mut asIScriptEngine,
65        declaration: *const ::std::os::raw::c_char,
66        funcPointer: asFUNCTION_t,
67        callConv: asDWORD,
68        auxiliary: *mut ::std::os::raw::c_void,
69    ) -> ::std::os::raw::c_int;
70
71    pub fn asEngine_GetGlobalFunctionCount(
72        e: *mut asIScriptEngine
73    ) -> asUINT;
74
75    pub fn asEngine_GetGlobalFunctionByIndex(
76        e: *mut asIScriptEngine,
77        index: asUINT,
78    ) -> *mut asIScriptFunction;
79
80    pub fn asEngine_GetGlobalFunctionByDecl(
81        e: *mut asIScriptEngine,
82        declaration: *const ::std::os::raw::c_char,
83    ) -> *mut asIScriptFunction;
84
85    pub fn asEngine_RegisterGlobalProperty(
86        e: *mut asIScriptEngine,
87        declaration: *const ::std::os::raw::c_char,
88        pointer: *mut ::std::os::raw::c_void,
89    ) -> ::std::os::raw::c_int;
90
91    pub fn asEngine_GetGlobalPropertyCount(
92        e: *mut asIScriptEngine
93    ) -> asUINT;
94
95    pub fn asEngine_GetGlobalPropertyByIndex(
96        e: *mut asIScriptEngine,
97        index: asUINT,
98        name: *mut *const ::std::os::raw::c_char,
99        nameSpace: *mut *const ::std::os::raw::c_char,
100        typeId: *mut ::std::os::raw::c_int,
101        isConst: *mut asBOOL,
102        configGroup: *mut *const ::std::os::raw::c_char,
103        pointer: *mut *mut ::std::os::raw::c_void,
104        accessMask: *mut asDWORD,
105    ) -> ::std::os::raw::c_int;
106
107    pub fn asEngine_GetGlobalPropertyIndexByName(
108        e: *mut asIScriptEngine,
109        name: *const ::std::os::raw::c_char,
110    ) -> ::std::os::raw::c_int;
111
112    pub fn asEngine_GetGlobalPropertyIndexByDecl(
113        e: *mut asIScriptEngine,
114        decl: *const ::std::os::raw::c_char,
115    ) -> ::std::os::raw::c_int;
116
117    pub fn asEngine_RegisterObjectType(
118        e: *mut asIScriptEngine,
119        name: *const ::std::os::raw::c_char,
120        byteSize: ::std::os::raw::c_int,
121        flags: asDWORD,
122    ) -> ::std::os::raw::c_int;
123
124    pub fn asEngine_RegisterObjectProperty(
125        e: *mut asIScriptEngine,
126        obj: *const ::std::os::raw::c_char,
127        declaration: *const ::std::os::raw::c_char,
128        byteOffset: ::std::os::raw::c_int,
129    ) -> ::std::os::raw::c_int;
130
131    pub fn asEngine_RegisterObjectMethod(
132        e: *mut asIScriptEngine,
133        obj: *const ::std::os::raw::c_char,
134        declaration: *const ::std::os::raw::c_char,
135        funcPointer: asFUNCTION_t,
136        callConv: asDWORD,
137        auxiliary: *mut ::std::os::raw::c_void,
138    ) -> ::std::os::raw::c_int;
139
140    pub fn asEngine_RegisterObjectBehaviour(
141        e: *mut asIScriptEngine,
142        datatype: *const ::std::os::raw::c_char,
143        behaviour: asEBehaviours,
144        declaration: *const ::std::os::raw::c_char,
145        funcPointer: asFUNCTION_t,
146        callConv: asDWORD,
147        auxiliary: *mut ::std::os::raw::c_void,
148    ) -> ::std::os::raw::c_int;
149
150    pub fn asEngine_RegisterInterface(
151        e: *mut asIScriptEngine,
152        name: *const ::std::os::raw::c_char,
153    ) -> ::std::os::raw::c_int;
154
155    pub fn asEngine_RegisterInterfaceMethod(
156        e: *mut asIScriptEngine,
157        intf: *const ::std::os::raw::c_char,
158        declaration: *const ::std::os::raw::c_char,
159    ) -> ::std::os::raw::c_int;
160
161    pub fn asEngine_GetObjectTypeCount(
162        e: *mut asIScriptEngine
163    ) -> asUINT;
164
165    pub fn asEngine_GetObjectTypeByIndex(
166        e: *mut asIScriptEngine,
167        index: asUINT,
168    ) -> *mut asITypeInfo;
169
170    pub fn asEngine_RegisterStringFactory(
171        e: *mut asIScriptEngine,
172        datatype: *const ::std::os::raw::c_char,
173        factoryFunc: asFUNCTION_t,
174        callConv: asDWORD,
175        auxiliary: *mut ::std::os::raw::c_void,
176    ) -> ::std::os::raw::c_int;
177
178    pub fn asEngine_GetStringFactoryReturnTypeId(
179        e: *mut asIScriptEngine,
180        flags: *mut asDWORD,
181    ) -> ::std::os::raw::c_int;
182
183    pub fn asEngine_RegisterDefaultArrayType(
184        e: *mut asIScriptEngine,
185        type_: *const ::std::os::raw::c_char,
186    ) -> ::std::os::raw::c_int;
187
188    pub fn asEngine_GetDefaultArrayTypeId(
189        e: *mut asIScriptEngine
190    ) -> ::std::os::raw::c_int;
191
192    pub fn asEngine_RegisterEnum(
193        e: *mut asIScriptEngine,
194        type_: *const ::std::os::raw::c_char,
195    ) -> ::std::os::raw::c_int;
196
197    pub fn asEngine_RegisterEnumValue(
198        e: *mut asIScriptEngine,
199        type_: *const ::std::os::raw::c_char,
200        name: *const ::std::os::raw::c_char,
201        value: ::std::os::raw::c_int,
202    ) -> ::std::os::raw::c_int;
203
204    pub fn asEngine_GetEnumCount(
205        e: *mut asIScriptEngine
206    ) -> asUINT;
207
208    pub fn asEngine_GetEnumByIndex(
209        e: *mut asIScriptEngine, 
210        index: asUINT
211    ) -> *mut asITypeInfo;
212
213    pub fn asEngine_RegisterFuncdef(
214        e: *mut asIScriptEngine,
215        decl: *const ::std::os::raw::c_char,
216    ) -> ::std::os::raw::c_int;
217
218    pub fn asEngine_GetFuncdefCount(
219        e: *mut asIScriptEngine
220    ) -> asUINT;
221
222    pub fn asEngine_GetFuncdefByIndex(
223        e: *mut asIScriptEngine, 
224        index: asUINT
225    ) -> *mut asITypeInfo;
226
227    pub fn asEngine_RegisterTypedef(
228        e: *mut asIScriptEngine,
229        type_: *const ::std::os::raw::c_char,
230        decl: *const ::std::os::raw::c_char,
231    ) -> ::std::os::raw::c_int;
232
233    pub fn asEngine_GetTypedefCount(
234        e: *mut asIScriptEngine
235    ) -> asUINT;
236
237    pub fn asEngine_GetTypedefByIndex(
238        e: *mut asIScriptEngine, 
239        index: asUINT
240    ) -> *mut asITypeInfo;
241
242    pub fn asEngine_BeginConfigGroup(
243        e: *mut asIScriptEngine,
244        groupName: *const ::std::os::raw::c_char,
245    ) -> ::std::os::raw::c_int;
246
247    pub fn asEngine_EndConfigGroup(
248        e: *mut asIScriptEngine
249    ) -> ::std::os::raw::c_int;
250
251    pub fn asEngine_RemoveConfigGroup(
252        e: *mut asIScriptEngine,
253        groupName: *const ::std::os::raw::c_char,
254    ) -> ::std::os::raw::c_int;
255
256    pub fn asEngine_SetDefaultAccessMask(
257        e: *mut asIScriptEngine, 
258        defaultMask: asDWORD
259    ) -> asDWORD;
260
261    pub fn asEngine_SetDefaultNamespace(
262        e: *mut asIScriptEngine,
263        nameSpace: *const ::std::os::raw::c_char,
264    ) -> ::std::os::raw::c_int;
265
266    pub fn asEngine_GetDefaultNamespace(
267        e: *mut asIScriptEngine
268    ) -> *const ::std::os::raw::c_char;
269
270    pub fn asEngine_GetModule(
271        e: *mut asIScriptEngine,
272        module: *const ::std::os::raw::c_char,
273        flag: asEGMFlags,
274    ) -> *mut asIScriptModule;
275
276    pub fn asEngine_DiscardModule(
277        e: *mut asIScriptEngine,
278        module: *const ::std::os::raw::c_char,
279    ) -> ::std::os::raw::c_int;
280
281    pub fn asEngine_GetModuleCount(
282        e: *mut asIScriptEngine
283    ) -> asUINT;
284
285    pub fn asEngine_GetModuleByIndex(
286        e: *mut asIScriptEngine,
287        index: asUINT,
288    ) -> *mut asIScriptModule;
289
290    pub fn asEngine_GetFunctionById(
291        e: *mut asIScriptEngine,
292        funcId: ::std::os::raw::c_int,
293    ) -> *mut asIScriptFunction;
294
295    pub fn asEngine_GetTypeIdByDecl(
296        e: *mut asIScriptEngine,
297        decl: *const ::std::os::raw::c_char,
298    ) -> ::std::os::raw::c_int;
299
300    pub fn asEngine_GetTypeDeclaration(
301        e: *mut asIScriptEngine,
302        typeId: ::std::os::raw::c_int,
303        includeNamespace: asBOOL,
304    ) -> *const ::std::os::raw::c_char;
305
306    pub fn asEngine_GetSizeOfPrimitiveType(
307        e: *mut asIScriptEngine,
308        typeId: ::std::os::raw::c_int,
309    ) -> ::std::os::raw::c_int;
310
311    pub fn asEngine_GetTypeInfoById(
312        e: *mut asIScriptEngine,
313        typeId: ::std::os::raw::c_int,
314    ) -> *mut asITypeInfo;
315
316    pub fn asEngine_GetTypeInfoByName(
317        e: *mut asIScriptEngine,
318        name: *const ::std::os::raw::c_char,
319    ) -> *mut asITypeInfo;
320
321    pub fn asEngine_GetTypeInfoByDecl(
322        e: *mut asIScriptEngine,
323        decl: *const ::std::os::raw::c_char,
324    ) -> *mut asITypeInfo;
325
326    pub fn asEngine_CreateContext(
327        e: *mut asIScriptEngine
328    ) -> *mut asIScriptContext;
329
330    pub fn asEngine_CreateScriptObject(
331        e: *mut asIScriptEngine,
332        type_: *mut asITypeInfo,
333    ) -> *mut ::std::os::raw::c_void;
334
335    pub fn asEngine_CreateScriptObjectCopy(
336        e: *mut asIScriptEngine,
337        obj: *mut ::std::os::raw::c_void,
338        type_: *mut asITypeInfo,
339    ) -> *mut ::std::os::raw::c_void;
340
341    pub fn asEngine_CreateUninitializedScriptObject(
342        e: *mut asIScriptEngine,
343        type_: *mut asITypeInfo,
344    ) -> *mut ::std::os::raw::c_void;
345
346    pub fn asEngine_CreateDelegate(
347        e: *mut asIScriptEngine,
348        func: *mut asIScriptFunction,
349        obj: *mut ::std::os::raw::c_void,
350    ) -> *mut asIScriptFunction;
351
352    pub fn asEngine_AssignScriptObject(
353        e: *mut asIScriptEngine,
354        dstObj: *mut ::std::os::raw::c_void,
355        srcObj: *mut ::std::os::raw::c_void,
356        type_: *mut asITypeInfo,
357    ) -> ::std::os::raw::c_int;
358
359    pub fn asEngine_ReleaseScriptObject(
360        e: *mut asIScriptEngine,
361        obj: *mut ::std::os::raw::c_void,
362        type_: *mut asITypeInfo,
363    );
364
365    pub fn asEngine_AddRefScriptObject(
366        e: *mut asIScriptEngine,
367        obj: *mut ::std::os::raw::c_void,
368        type_: *mut asITypeInfo,
369    );
370
371    pub fn asEngine_GetWeakRefFlagOfScriptObject(
372        e: *mut asIScriptEngine,
373        obj: *mut ::std::os::raw::c_void,
374        type_: *mut asITypeInfo,
375    ) -> *mut asILockableSharedBool;
376
377    pub fn asEngine_RequestContext(
378        e: *mut asIScriptEngine
379    ) -> *mut asIScriptContext;
380
381    pub fn asEngine_ReturnContext(
382        e: *mut asIScriptEngine, 
383        ctx: *mut asIScriptContext
384    );
385
386    pub fn asEngine_SetContextCallbacks(
387        e: *mut asIScriptEngine,
388        requestCtx: asREQUESTCONTEXTFUNC_t,
389        returnCtx: asRETURNCONTEXTFUNC_t,
390        param: *mut ::std::os::raw::c_void,
391    ) -> ::std::os::raw::c_int;
392
393    pub fn asEngine_ParseToken(
394        e: *mut asIScriptEngine,
395        string: *const ::std::os::raw::c_char,
396        stringLength: usize,
397        tokenLength: *mut asUINT,
398    ) -> asETokenClass;
399
400    pub fn asEngine_GarbageCollect(
401        e: *mut asIScriptEngine,
402        flags: asDWORD,
403    ) -> ::std::os::raw::c_int;
404
405    pub fn asEngine_GetGCStatistics(
406        e: *mut asIScriptEngine,
407        currentSize: *mut asUINT,
408        totalDestroyed: *mut asUINT,
409        totalDetected: *mut asUINT,
410        newObjects: *mut asUINT,
411        totalNewDestroyed: *mut asUINT,
412    );
413
414    pub fn asEngine_NotifyGarbageCollectorOfNewObject(
415        e: *mut asIScriptEngine,
416        obj: *mut ::std::os::raw::c_void,
417        type_: *mut asITypeInfo,
418    ) -> ::std::os::raw::c_int;
419
420    pub fn asEngine_GetObjectInGC(
421        e: *mut asIScriptEngine,
422        idx: asUINT,
423        seqNbr: *mut asUINT,
424        obj: *mut *mut ::std::os::raw::c_void,
425        type_: *mut *mut asITypeInfo,
426    ) -> ::std::os::raw::c_int;
427
428    pub fn asEngine_GCEnumCallback(
429        e: *mut asIScriptEngine, 
430        obj: *mut ::std::os::raw::c_void
431    );
432
433    pub fn asEngine_SetUserData(
434        e: *mut asIScriptEngine,
435        data: *mut ::std::os::raw::c_void,
436        type_: asPWORD,
437    ) -> *mut ::std::os::raw::c_void;
438
439    pub fn asEngine_GetUserData(
440        e: *mut asIScriptEngine,
441        type_: asPWORD,
442    ) -> *mut ::std::os::raw::c_void;
443
444    pub fn asEngine_SetEngineUserDataCleanupCallback(
445        e: *mut asIScriptEngine,
446        callback: asCLEANENGINEFUNC_t,
447        type_: asPWORD,
448    );
449
450    pub fn asEngine_SetModuleUserDataCleanupCallback(
451        e: *mut asIScriptEngine,
452        callback: asCLEANMODULEFUNC_t,
453    );
454
455    pub fn asEngine_SetContextUserDataCleanupCallback(
456        e: *mut asIScriptEngine,
457        callback: asCLEANCONTEXTFUNC_t,
458    );
459
460    pub fn asEngine_SetFunctionUserDataCleanupCallback(
461        e: *mut asIScriptEngine,
462        callback: asCLEANFUNCTIONFUNC_t,
463    );
464
465    pub fn asEngine_SetTypeInfoUserDataCleanupCallback(
466        e: *mut asIScriptEngine,
467        callback: asCLEANTYPEINFOFUNC_t,
468        type_: asPWORD,
469    );
470
471    pub fn asEngine_SetScriptObjectUserDataCleanupCallback(
472        e: *mut asIScriptEngine,
473        callback: asCLEANSCRIPTOBJECTFUNC_t,
474        type_: asPWORD,
475    );
476
477}