7b8f961444b24c4cb8e51f32545f9ff1f394228b
[scilab.git] / scilab / modules / dynamic_link / includes / addinter.h
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) INRIA - Allan CORNET
4  * 
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at    
9  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12
13 #ifndef __ADDINTER_H__
14 #define  __ADDINTER_H__
15
16 /** 
17 * the first dynamic interface is at position 500+1 
18 */
19 #define DynInterfStart 500
20
21 #define NumberMaxFunctionsByGateway 1000
22
23 #define MAXDYNINTERF 50 /* default value compatibility scilab 4.x */
24 /* !!! WARNING !!! */
25 /* On Windows , AddInterfaceToScilab based on LoadLibrary C function */
26 /* you cannot load more than 80 dynamic libraries at the same time. */
27 /* Scilab will return a error (code Windows 1114) in this case.*/
28 /* A dynamic link library (DLL) initialization routine failed. */
29
30
31 /**
32 * Remove interface in scilab
33 * @param[in] id of interface
34 */
35 void RemoveInterf(int id);
36
37 /**
38 * Add a interface in Scilab
39 * @param[in] filenamelib dynamic libraries filename
40 * @param[in] spname Name of interface routine entry point 
41 * @param[in] fcts Name of new Scilab function implemented in the new interface 
42 * @param[in] sizefcts size of fcts array
43 * @return a int id of interface (-1 failed)
44 */
45 int AddInterfaceToScilab(char *filenamelib,char *spname,char **fcts,int sizefcts);
46
47 #endif /*  __ADDINTER_H__ */