/* * 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__ */