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