Clean old static structs from dynamic_link
[scilab.git] / scilab / modules / dynamic_link / includes / dynamic_link.h
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) INRIA - Allan CORNET
4  * Copyright (C) 2011 - DIGITEO - Antoine ELIAS
5  *
6  * This file must be used under the terms of the CeCILL.
7  * This source file is licensed as described in the file COPYING, which
8  * you should have received as part of this distribution.  The terms
9  * are also available at
10  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11  *
12  */
13
14 /*-----------------------------------------------------------------------------------*/
15 #ifndef __DYNAMIC_LINK_H__
16 #define __DYNAMIC_LINK_H__
17
18 #include <wchar.h> /* wchar_t */
19 #include "dynlib_dynamic_link.h"
20 #include "BOOL.h"
21
22 /**
23 * load a shared archive and call LoadDynLibrary
24 * the shared lib handler is stored in a Table
25 * return value is == -1 if the LoadDynLibrary failed
26 * @param loaded_file
27 */
28 DYNAMIC_LINK_IMPEXP int Sci_dlopen(wchar_t* _pwstDynLibPath);
29
30 /**
31 * unload a shared library by calling FreeDynLibrary
32 * return value is == 0 if the FreeDynLibrary failed
33 * @param loaded_file
34 */
35 DYNAMIC_LINK_IMPEXP int Sci_dlclose(unsigned long long _hLib);
36
37 /**
38 * This routine load the entryname ename
39 * from shared lib ishared
40 * @return TRUE or FALSE
41 */
42 DYNAMIC_LINK_IMPEXP int Sci_dlsym(wchar_t* _pwstEntryPointName, int _iLibID, BOOL _bFortran);
43
44 /**
45 * call link for scilab
46 * @param _iLibID                : Id of an existing shared lib otherwise -1
47 * @param _pwstLibraryName       : Dynamic library name
48 * @param _pwstEntryPointName    : List of functions name in dynamic library
49 * @param _iEntryPointSize       : Size of _pwstEntryPointName
50 * @param _bFortran              : Is a link on a fortran function
51 * @param _piErr                 : Error Id
52 * @return id                    : Dynamic Library ID
53 */
54 DYNAMIC_LINK_IMPEXP int scilabLink(int _iLibID, wchar_t* _pwstLibraryName, wchar_t** _pwstEntryPointName, int _iEntryPointSize, BOOL _bFortran ,int *_piErr);
55
56 #endif /* __DYNAMIC_LINK_H__ */
57 /*-----------------------------------------------------------------------------------*/