better way to do dll on windows
Allan CORNET [Wed, 8 Jul 2009 08:43:18 +0000 (10:43 +0200)]
19 files changed:
scilab/modules/api_scilab/Makefile.am
scilab/modules/api_scilab/Makefile.in
scilab/modules/api_scilab/api_scilab.vcproj
scilab/modules/api_scilab/api_scilab_header.def [deleted file]
scilab/modules/api_scilab/includes/api_boolean.h
scilab/modules/api_scilab/includes/api_boolean_sparse.h
scilab/modules/api_scilab/includes/api_common.h
scilab/modules/api_scilab/includes/api_double.h
scilab/modules/api_scilab/includes/api_int.h
scilab/modules/api_scilab/includes/api_list.h
scilab/modules/api_scilab/includes/api_poly.h
scilab/modules/api_scilab/includes/api_sparse.h
scilab/modules/api_scilab/includes/api_string.h
scilab/modules/api_scilab/includes/dynlib_api_scilab.h [new file with mode: 0644]
scilab/modules/api_scilab/src/c/api_boolean_sparse.c
scilab/modules/api_scilab/src/c/api_common.c
scilab/modules/api_scilab/src/c/api_double.c
scilab/modules/api_scilab/src/c/api_internal_common.h
scilab/modules/call_scilab/call_scilab.vcproj

index f3bb4de..53ec9e7 100644 (file)
@@ -62,6 +62,7 @@ includes/api_list.h \
 includes/api_poly.h \
 includes/api_sparse.h \
 includes/api_string.h \
-includes/api_variable.h
+includes/api_variable.h \
+includes/dynlib_api_scilab.h
 
 include $(top_srcdir)/Makefile.incl.am
index 0a2eb8d..af013f3 100644 (file)
@@ -400,7 +400,8 @@ includes/api_list.h \
 includes/api_poly.h \
 includes/api_sparse.h \
 includes/api_string.h \
-includes/api_variable.h
+includes/api_variable.h \
+includes/dynlib_api_scilab.h
 
 
 # Where all the Scilab stuff is installed (macros, help, ...)
index 7b110f9..4a303f6 100644 (file)
@@ -45,7 +45,7 @@
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                AdditionalIncludeDirectories="includes;src/c;../core/includes;../call_scilab/includes;../string/includes;../../libs/MALLOC/includes"
-                               PreprocessorDefinitions="FORDLL;_DEBUG;_WINDOWS;_USRDLL;SOUND_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
+                               PreprocessorDefinitions="FORDLL;_DEBUG;_WINDOWS;_USRDLL;API_SCILAB_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
                                MinimalRebuild="true"
                                BasicRuntimeChecks="0"
                                RuntimeLibrary="3"
                        <Tool
                                Name="VCPreLinkEventTool"
                                Description="Make dependencies"
-                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;lib /DEF:&quot;$(InputDir)String_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)string.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;cd $(IntDir) &gt;nul&#x0D;&#x0A;for %%f in (*.obj) do  ..\..\..\bin\dumpexts -o %%~nf.def -n api_scilab.dll %%f &gt;nul&#x0D;&#x0A;copy *.def api_scilabtmp.def &gt;nul&#x0D;&#x0A;copy ..\api_scilab_header.def+api_scilabtmp.def  ..\api_scilab.def &gt;nul&#x0D;&#x0A;del *.def &gt;nul&#x0D;&#x0A;cd .. &gt;nul&#x0D;&#x0A;"
+                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;lib /DEF:&quot;$(InputDir)String_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)string.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;"
                        />
                        <Tool
                                Name="VCLinkerTool"
                                AdditionalDependencies="LibScilab.lib string.lib"
                                OutputFile="../../bin/$(ProjectName).dll"
                                LinkIncremental="1"
-                               ModuleDefinitionFile="api_scilab.def"
+                               ModuleDefinitionFile=""
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                RandomizedBaseAddress="1"
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                AdditionalIncludeDirectories="includes;src/c;../core/includes;../call_scilab/includes;../string/includes;../../libs/MALLOC/includes"
-                               PreprocessorDefinitions="FORDLL;_DEBUG;_WINDOWS;_USRDLL;SOUND_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
+                               PreprocessorDefinitions="FORDLL;_DEBUG;_WINDOWS;_USRDLL;API_SCILAB_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
                                MinimalRebuild="true"
                                BasicRuntimeChecks="0"
                                RuntimeLibrary="3"
                        <Tool
                                Name="VCPreLinkEventTool"
                                Description="Make dependencies"
-                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;lib /DEF:&quot;$(InputDir)String_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)string.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;cd $(IntDir) &gt;nul&#x0D;&#x0A;for %%f in (*.obj) do  ..\..\..\bin\dumpexts -o %%~nf.def -n api_scilab.dll %%f &gt;nul&#x0D;&#x0A;copy *.def api_scilabtmp.def &gt;nul&#x0D;&#x0A;copy ..\api_scilab_header.def+api_scilabtmp.def  ..\api_scilab.def &gt;nul&#x0D;&#x0A;del *.def &gt;nul&#x0D;&#x0A;cd .. &gt;nul&#x0D;&#x0A;"
+                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;lib /DEF:&quot;$(InputDir)String_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)string.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;"
                        />
                        <Tool
                                Name="VCLinkerTool"
                                AdditionalDependencies="LibScilab.lib string.lib"
                                OutputFile="../../bin/$(ProjectName).dll"
                                LinkIncremental="1"
-                               ModuleDefinitionFile="api_scilab.def"
+                               ModuleDefinitionFile=""
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                RandomizedBaseAddress="1"
                                FavorSizeOrSpeed="1"
                                WholeProgramOptimization="false"
                                AdditionalIncludeDirectories="includes;src/c;../core/includes;../call_scilab/includes;../string/includes;../../libs/MALLOC/includes"
-                               PreprocessorDefinitions="FORDLL;NDEBUG;_WINDOWS;_USRDLL;SOUND_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
+                               PreprocessorDefinitions="FORDLL;NDEBUG;_WINDOWS;_USRDLL;API_SCILAB_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
                                StringPooling="true"
                                RuntimeLibrary="2"
                                EnableFunctionLevelLinking="true"
                        <Tool
                                Name="VCPreLinkEventTool"
                                Description="Make dependencies"
-                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;lib /DEF:&quot;$(InputDir)String_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)string.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;cd $(IntDir) &gt;nul&#x0D;&#x0A;for %%f in (*.obj) do  ..\..\..\bin\dumpexts -o %%~nf.def -n api_scilab.dll %%f &gt;nul&#x0D;&#x0A;copy *.def api_scilabtmp.def &gt;nul&#x0D;&#x0A;copy ..\api_scilab_header.def+api_scilabtmp.def  ..\api_scilab.def &gt;nul&#x0D;&#x0A;del *.def &gt;nul&#x0D;&#x0A;cd .. &gt;nul&#x0D;&#x0A;"
+                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;lib /DEF:&quot;$(InputDir)String_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)string.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;"
                        />
                        <Tool
                                Name="VCLinkerTool"
                                AdditionalDependencies="LibScilab.lib string.lib"
                                OutputFile="../../bin/$(ProjectName).dll"
                                LinkIncremental="1"
-                               ModuleDefinitionFile="api_scilab.def"
+                               ModuleDefinitionFile=""
                                GenerateDebugInformation="false"
                                SubSystem="2"
                                OptimizeReferences="2"
                                FavorSizeOrSpeed="1"
                                WholeProgramOptimization="false"
                                AdditionalIncludeDirectories="includes;src/c;../core/includes;../call_scilab/includes;../string/includes;../../libs/MALLOC/includes"
-                               PreprocessorDefinitions="FORDLL;NDEBUG;_WINDOWS;_USRDLL;SOUND_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
+                               PreprocessorDefinitions="FORDLL;NDEBUG;_WINDOWS;_USRDLL;API_SCILAB_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
                                StringPooling="true"
                                RuntimeLibrary="2"
                                EnableFunctionLevelLinking="true"
                        <Tool
                                Name="VCPreLinkEventTool"
                                Description="Make dependencies"
-                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;lib /DEF:&quot;$(InputDir)String_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)string.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;cd $(IntDir) &gt;nul&#x0D;&#x0A;for %%f in (*.obj) do  ..\..\..\bin\dumpexts -o %%~nf.def -n api_scilab.dll %%f &gt;nul&#x0D;&#x0A;copy *.def api_scilabtmp.def &gt;nul&#x0D;&#x0A;copy ..\api_scilab_header.def+api_scilabtmp.def  ..\api_scilab.def &gt;nul&#x0D;&#x0A;del *.def &gt;nul&#x0D;&#x0A;cd .. &gt;nul&#x0D;&#x0A;"
+                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;lib /DEF:&quot;$(InputDir)String_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)string.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;"
                        />
                        <Tool
                                Name="VCLinkerTool"
                                AdditionalDependencies="LibScilab.lib string.lib"
                                OutputFile="../../bin/$(ProjectName).dll"
                                LinkIncremental="1"
-                               ModuleDefinitionFile="api_scilab.def"
+                               ModuleDefinitionFile=""
                                GenerateDebugInformation="false"
                                SubSystem="2"
                                OptimizeReferences="2"
                                >
                        </File>
                        <File
+                               RelativePath=".\includes\dynlib_api_scilab.h"
+                               >
+                       </File>
+                       <File
                                RelativePath=".\src\c\resource.h"
                                >
                        </File>
                <Filter
                        Name="Libraries Dependencies"
                        >
-                       <File
-                               RelativePath=".\api_scilab_header.def"
-                               >
-                       </File>
                        <Filter
                                Name="Imports"
                                >
diff --git a/scilab/modules/api_scilab/api_scilab_header.def b/scilab/modules/api_scilab/api_scilab_header.def
deleted file mode 100644 (file)
index ce0a30a..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBRARY    api_scilab.dll
-
-
-EXPORTS
index 133d9c4..60cc9db 100644 (file)
@@ -12,8 +12,7 @@
 #ifndef __BOOLEAN_API__
 #define __BOOLEAN_API__
 
-#include "machine.h"
-
+#include "dynlib_api_scilab.h"
 /**
  * Get boolean variable
  * @param[in] _piAddress variable address
@@ -22,7 +21,7 @@
  * @param[out] _piBool return pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMatrixOfBoolean(int* _piAddress, int* _piRows, int* _piCols, int** _piBool);
+API_SCILAB_IMPEXP int getMatrixOfBoolean(int* _piAddress, int* _piRows, int* _piCols, int** _piBool);
 
 /**
  * alloc boolean variable
@@ -33,7 +32,7 @@ int getMatrixOfBoolean(int* _piAddress, int* _piRows, int* _piCols, int** _piBoo
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int allocMatrixOfBoolean(int _iVar, int _iRows, int _iCols, int** _piBool);
+API_SCILAB_IMPEXP int allocMatrixOfBoolean(int _iVar, int _iRows, int _iCols, int** _piBool);
 
 /**
  * alloc boolean variable
@@ -44,7 +43,7 @@ int allocMatrixOfBoolean(int _iVar, int _iRows, int _iCols, int** _piBool);
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfBoolean(int _iVar, int _iRows, int _iCols, int* _piBool);
+API_SCILAB_IMPEXP int createMatrixOfBoolean(int _iVar, int _iRows, int _iCols, int* _piBool);
 
 /**
  * Create boolean named variable
@@ -54,7 +53,7 @@ int createMatrixOfBoolean(int _iVar, int _iRows, int _iCols, int* _piBool);
  * @param[in] _piBool pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedMatrixOfBoolean(char* _pstName, int _iRows, int _iCols, int* _piBool);
+API_SCILAB_IMPEXP int createNamedMatrixOfBoolean(char* _pstName, int _iRows, int _iCols, int* _piBool);
 
 /**
  * Read boolean named variable
@@ -64,6 +63,6 @@ int createNamedMatrixOfBoolean(char* _pstName, int _iRows, int _iCols, int* _piB
  * @param[out] _piBool return data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedMatrixOfBoolean(char* _pstName, int* _piRows, int* _piCols, int* _piBool);
+API_SCILAB_IMPEXP int readNamedMatrixOfBoolean(char* _pstName, int* _piRows, int* _piCols, int* _piBool);
 
 #endif /* __BOOLEAN_API__ */
index 30647b2..bf8df95 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef __BOOLEAN_SPARSE_API__
 #define __BOOLEAN_SPARSE_API__
 
-#include "machine.h"
+#include "dynlib_api_scilab.h"
 
 /*******************************/
 /*   boolean sparse functions   */
@@ -27,7 +27,7 @@
  * @param[out] _piColPos return array of item column position ( 1 indexed )
  * @return if the operation successed (0) or not ( !0 )
  */
-int getBooleanSparseMatrix(int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos);
+API_SCILAB_IMPEXP int getBooleanSparseMatrix(int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos);
 
 /**
  * Alloc boolean sparse variable data
@@ -39,7 +39,7 @@ int getBooleanSparseMatrix(int* _piAddress, int* _piRows, int* _piCols, int* _pi
  * @param[out] _piColPos return array of item column position ( 1 indexed )
  * @return if the operation successed (0) or not ( !0 )
  */
-int allocBooleanSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, int** _piNbItemRow, int** _piColPos);
+API_SCILAB_IMPEXP int allocBooleanSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, int** _piNbItemRow, int** _piColPos);
 
 /**
  * Create boolean sparse variable
@@ -51,7 +51,7 @@ int allocBooleanSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, in
  * @param[in] _piColPos array of item column position ( 1 indexed )
  * @return if the operation successed (0) or not ( !0 )
  */
-int createBooleanSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos);
+API_SCILAB_IMPEXP int createBooleanSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos);
 
 /**
  * Create named boolean sparse variable
@@ -64,7 +64,7 @@ int createBooleanSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, i
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedBooleanSparseMatrix(char* _pstName, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos);
+API_SCILAB_IMPEXP int createNamedBooleanSparseMatrix(char* _pstName, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos);
 
 /**
  * Read named boolean sparse variable
@@ -77,6 +77,6 @@ int createNamedBooleanSparseMatrix(char* _pstName, int _iRows, int _iCols, int _
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedBooleanSparseMatrix(char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos);
+API_SCILAB_IMPEXP int readNamedBooleanSparseMatrix(char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos);
 
 #endif /* __BOOLEAN_SPARSE_API__ */
index 30e0dd8..364781c 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef __COMMON_API__
 #define __COMMON_API__
 
-#include "machine.h"
+#include "dynlib_api_scilab.h"
 
 /* generics functions */
 
@@ -22,7 +22,7 @@
  * @param[out] _piAddress return variable address
  * @return if the operation successed (0) or not ( !0 )
  */
-int getVarAddressFromPosition(int _iVar, int** _piAddress);
+API_SCILAB_IMPEXP int getVarAddressFromPosition(int _iVar, int** _piAddress);
 
 /**
  * Get memory address of a variable from the variable position
@@ -30,28 +30,28 @@ int getVarAddressFromPosition(int _iVar, int** _piAddress);
  * @param[out] _pstName variable name
  * @return if the operation successed (0) or not ( !0 )
  */
-int getVarNameFromPosition(int _iVar, char* _pstName);
+API_SCILAB_IMPEXP int getVarNameFromPosition(int _iVar, char* _pstName);
 /**
  * Get memory address of a variable from the variable name
  * @param[in] _pstName variable name
  * @param[out] _piAddress return variable address
  * @return if the operation successed (0) or not ( !0 )
  */
-int getVarAddressFromName(char* _pstName, int** _piAddress);
+API_SCILAB_IMPEXP int getVarAddressFromName(char* _pstName, int** _piAddress);
 
 /**
  * Get variable type
  * @param[in] _piAddress variable address
  * @return scilab variable type ( sci_matrix, sci_strings, ... )
  */
-int getVarType(int* _piAddress);
+API_SCILAB_IMPEXP int getVarType(int* _piAddress);
 
 /**
  * Get complex information
  * @param[in] _piAddress variable address
  * @return if complex 1 otherwise 0
  */
-int isVarComplex(int* _piAddress);
+API_SCILAB_IMPEXP int isVarComplex(int* _piAddress);
 
 /**
  * Get variable dimension
@@ -60,19 +60,14 @@ int isVarComplex(int* _piAddress);
  * @param[out] _piCols Number of cols
  * @return if the operation successed (0) or not ( !0 )
  */
-int getVarDimension(int* _piAddress, int* _piRows, int* _piCols);
+API_SCILAB_IMPEXP int getVarDimension(int* _piAddress, int* _piRows, int* _piCols);
 
 /**
  * check if a variable is a matrix form ( row x col )
  * @param[in] _piAddress variable address
  * @return if matrix form type variable 1 otherwise 0
  */
-int isVarMatrixType(int* _piAddress);
-int updateInterSCI(int _iVar, char _cType, int _iSCIAddress, int _iSCIDataAddress);
-int updateLstk(int _iNewPos, int _iSCIDataAddress, int _iVarSize);
-void createNamedVariable(int *_piVarID);
-
-extern int C2F(stackp)(int *,int *);
+API_SCILAB_IMPEXP int isVarMatrixType(int* _piAddress);
 
 
 #endif /* __COMMON_API__ */
index d9e9e7d..f70c3cf 100644 (file)
@@ -12,8 +12,8 @@
 #ifndef __DOUBLE_API__
 #define __DOUBLE_API__
 
-#include "machine.h"
 #include "doublecomplex.h"
+#include "dynlib_api_scilab.h"
 
 /*******************************/
 /*   double matrix functions   */
@@ -26,7 +26,7 @@
  * @param[out] _pdblReal return pointer on real data
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMatrixOfDouble(int* _piAddress, int* _piRows, int* _piCols, double** _pdblReal);
+API_SCILAB_IMPEXP int getMatrixOfDouble(int* _piAddress, int* _piRows, int* _piCols, double** _pdblReal);
 
 /**
  * Get double variable data
@@ -37,7 +37,7 @@ int getMatrixOfDouble(int* _piAddress, int* _piRows, int* _piCols, double** _pdb
  * @param[out] _pdblImg return pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int getComplexMatrixOfDouble(int* _piAddress, int* _piRows, int* _piCols, double** _pdblReal, double** _pdblImg);
+API_SCILAB_IMPEXP int getComplexMatrixOfDouble(int* _piAddress, int* _piRows, int* _piCols, double** _pdblReal, double** _pdblImg);
 
 /**
  * Get double variable data
@@ -47,7 +47,7 @@ int getComplexMatrixOfDouble(int* _piAddress, int* _piRows, int* _piCols, double
  * @param[out] _pdblZ return pointer on Z format data ( Real1, Img1, Real2, Img2, ... )
  * @return if the operation successed (0) or not ( !0 )
  */
-int getComplexZMatrixOfDouble(int* _piAddress, int* _piRows, int* _piCols, doublecomplex** _pdblZ);
+API_SCILAB_IMPEXP int getComplexZMatrixOfDouble(int* _piAddress, int* _piRows, int* _piCols, doublecomplex** _pdblZ);
 
 /**
  * Get double variable data
@@ -57,7 +57,7 @@ int getComplexZMatrixOfDouble(int* _piAddress, int* _piRows, int* _piCols, doubl
  * @param[out] _pdblReal return pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int allocMatrixOfDouble(int _iVar, int _iRows, int _iCols, double** _pdblReal);
+API_SCILAB_IMPEXP int allocMatrixOfDouble(int _iVar, int _iRows, int _iCols, double** _pdblReal);
 
 /**
  * Get double variable data
@@ -68,7 +68,7 @@ int allocMatrixOfDouble(int _iVar, int _iRows, int _iCols, double** _pdblReal);
  * @param[out] _pdblImg return pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int allocComplexMatrixOfDouble(int _iVar, int _iRows, int _iCols, double** _pdblReal, double** _pdblImg);
+API_SCILAB_IMPEXP int allocComplexMatrixOfDouble(int _iVar, int _iRows, int _iCols, double** _pdblReal, double** _pdblImg);
 
 /**
  * Create double variable data
@@ -78,7 +78,7 @@ int allocComplexMatrixOfDouble(int _iVar, int _iRows, int _iCols, double** _pdbl
  * @param[in] _pdblReal pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfDouble(int _iVar, int _iRows, int _iCols, double* _pdblReal);
+API_SCILAB_IMPEXP int createMatrixOfDouble(int _iVar, int _iRows, int _iCols, double* _pdblReal);
 
 /**
  * Get double variable data
@@ -89,7 +89,7 @@ int createMatrixOfDouble(int _iVar, int _iRows, int _iCols, double* _pdblReal);
  * @param[in] _pdblImg pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createComplexMatrixOfDouble(int _iVar, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
+API_SCILAB_IMPEXP int createComplexMatrixOfDouble(int _iVar, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
 
 /**
  * Get double variable data
@@ -101,7 +101,7 @@ int createComplexMatrixOfDouble(int _iVar, int _iRows, int _iCols, double* _pdbl
  * @param[in] _pdblZ pointer on Z format data ( Real1, Img1, Real2, Img2, ... )
  * @return if the operation successed (0) or not ( !0 )
  */
-int createComplexZMatrixOfDouble(int _iVar, int _iRows, int _iCols, doublecomplex* _pdblData);
+API_SCILAB_IMPEXP int createComplexZMatrixOfDouble(int _iVar, int _iRows, int _iCols, doublecomplex* _pdblData);
 
 /**
  * Get double variable data
@@ -111,7 +111,7 @@ int createComplexZMatrixOfDouble(int _iVar, int _iRows, int _iCols, doublecomple
  * @param[in] _pdblReal pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedMatrixOfDouble(char* _pstName, int _iRows, int _iCols, double* _pdblReal);
+API_SCILAB_IMPEXP int createNamedMatrixOfDouble(char* _pstName, int _iRows, int _iCols, double* _pdblReal);
 
 /**
  * Get double variable data
@@ -122,7 +122,7 @@ int createNamedMatrixOfDouble(char* _pstName, int _iRows, int _iCols, double* _p
  * @param[in] _pdblImg pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedComplexMatrixOfDouble(char* _pstName, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
+API_SCILAB_IMPEXP int createNamedComplexMatrixOfDouble(char* _pstName, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
 
 /**
  * Get double variable data
@@ -132,7 +132,7 @@ int createNamedComplexMatrixOfDouble(char* _pstName, int _iRows, int _iCols, dou
  * @param[in] _pdblZ pointer on Z format data ( Real1, Img1, Real2, Img2, ... )
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedComplexZMatrixOfDouble(char* _pstName, int _iRows, int _iCols, doublecomplex* _pdblData);
+API_SCILAB_IMPEXP int createNamedComplexZMatrixOfDouble(char* _pstName, int _iRows, int _iCols, doublecomplex* _pdblData);
 
 /**
  * Get double named variable data
@@ -142,7 +142,7 @@ int createNamedComplexZMatrixOfDouble(char* _pstName, int _iRows, int _iCols, do
  * @param[out] _pdblReal return real data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedMatrixOfDouble(char* _pstName, int* _piRows, int* _piCols, double* _pdblReal);
+API_SCILAB_IMPEXP int readNamedMatrixOfDouble(char* _pstName, int* _piRows, int* _piCols, double* _pdblReal);
 
 /**
  * Get double named variable data
@@ -153,7 +153,7 @@ int readNamedMatrixOfDouble(char* _pstName, int* _piRows, int* _piCols, double*
  * @param[out] _pdblImg return imgagianry data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedComplexMatrixOfDouble(char* _pstName, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg);
+API_SCILAB_IMPEXP int readNamedComplexMatrixOfDouble(char* _pstName, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg);
 
 
 #endif /* __DOUBLE_API__ */
index 598e1bb..1de362b 100644 (file)
@@ -12,6 +12,8 @@
 #ifndef __INT_API__
 #define __INT_API__
 
+#include "dynlib_api_scilab.h"
+
 #define SCI_INT8               1
 #define SCI_INT16              2
 #define SCI_INT32              4
@@ -26,7 +28,7 @@
  * @param[in] _piAddress variable address
  * @param[out] _piPrecison return integer precision ( 8, 1-, 32, 64 )
  */
-int getMatrixOfIntegerPrecision(int* _piAddress, int* _piPrecision);
+API_SCILAB_IMPEXP int getMatrixOfIntegerPrecision(int* _piAddress, int* _piPrecision);
 
 /**
  * Get integer 8 bit variable data
@@ -36,7 +38,7 @@ int getMatrixOfIntegerPrecision(int* _piAddress, int* _piPrecision);
  * @param[out] _piData8 return pointer on 8 bits integer
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMatrixOfInteger8(int* _piAddress, int* _piRows, int* _piCols, char** _pcData8);
+API_SCILAB_IMPEXP int getMatrixOfInteger8(int* _piAddress, int* _piRows, int* _piCols, char** _pcData8);
 
 /**
  * Get integer 16 bit variable data
@@ -46,7 +48,7 @@ int getMatrixOfInteger8(int* _piAddress, int* _piRows, int* _piCols, char** _pcD
  * @param[out] _piData16 return pointer on 16 bits integer
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMatrixOfInteger16(int* _piAddress, int* _piRows, int* _piCols, short** _psData16);
+API_SCILAB_IMPEXP int getMatrixOfInteger16(int* _piAddress, int* _piRows, int* _piCols, short** _psData16);
 
 /**
  * Get integer 32 bit variable data
@@ -56,7 +58,7 @@ int getMatrixOfInteger16(int* _piAddress, int* _piRows, int* _piCols, short** _p
  * @param[out] _piData32 return pointer on 32 bits integer
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMatrixOfInteger32(int* _piAddress, int* _piRows, int* _piCols, int** _piData32);
+API_SCILAB_IMPEXP int getMatrixOfInteger32(int* _piAddress, int* _piRows, int* _piCols, int** _piData32);
 
 /**
  * Get integer 64 bit variable data
@@ -67,7 +69,7 @@ int getMatrixOfInteger32(int* _piAddress, int* _piRows, int* _piCols, int** _piD
  * @return if the operation successed (0) or not ( !0 )
  */
 #ifdef __SCILAB_INT64__
-int getMatrixOfInteger64(int* _piAddress, int* _piRows, int* _piCols, long long** _pllData64);
+API_SCILAB_IMPEXP int getMatrixOfInteger64(int* _piAddress, int* _piRows, int* _piCols, long long** _pllData64);
 #endif
 
 /**
@@ -78,7 +80,7 @@ int getMatrixOfInteger64(int* _piAddress, int* _piRows, int* _piCols, long long*
  * @param[in] _piData8 array of integer 8 bits
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfInteger8(int _iVar, int _iRows, int _iCols, char* _pcData8);
+API_SCILAB_IMPEXP int createMatrixOfInteger8(int _iVar, int _iRows, int _iCols, char* _pcData8);
 
 /**
  * Get integer variable data
@@ -88,7 +90,7 @@ int createMatrixOfInteger8(int _iVar, int _iRows, int _iCols, char* _pcData8);
  * @param[in] _piData16 array of integer 16 bits
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfInteger16(int _iVar, int _iRows, int _iCols, short* _psData16);
+API_SCILAB_IMPEXP int createMatrixOfInteger16(int _iVar, int _iRows, int _iCols, short* _psData16);
 
 /**
  * Get integer variable data
@@ -98,7 +100,7 @@ int createMatrixOfInteger16(int _iVar, int _iRows, int _iCols, short* _psData16)
  * @param[in] _piData32 array of integer 32 bits
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfInteger32(int _iVar, int _iRows, int _iCols, int* _piData32);
+API_SCILAB_IMPEXP int createMatrixOfInteger32(int _iVar, int _iRows, int _iCols, int* _piData32);
 
 /**
  * Get integer variable data
@@ -110,7 +112,7 @@ int createMatrixOfInteger32(int _iVar, int _iRows, int _iCols, int* _piData32);
  */
 
 #ifdef __SCILAB_INT64__
-int createMatrixOfInteger64(int _iVar, int _iRows, int _iCols, long long* _pllData64);
+API_SCILAB_IMPEXP int createMatrixOfInteger64(int _iVar, int _iRows, int _iCols, long long* _pllData64);
 #endif
 
 /**
@@ -121,7 +123,7 @@ int createMatrixOfInteger64(int _iVar, int _iRows, int _iCols, long long* _pllDa
  * @param[out] _piData8 return array of integer 8 bits
  * @return if the operation successed (0) or not ( !0 )
  */
-int allocMatrixOfInteger8(int _iVar, int _iRows, int _iCols, char** _pcData8);
+API_SCILAB_IMPEXP int allocMatrixOfInteger8(int _iVar, int _iRows, int _iCols, char** _pcData8);
 
 /**
  * Get integer variable data
@@ -131,7 +133,7 @@ int allocMatrixOfInteger8(int _iVar, int _iRows, int _iCols, char** _pcData8);
  * @param[out] _piData16 return array of integer 16 bits
  * @return if the operation successed (0) or not ( !0 )
  */
-int allocMatrixOfInteger16(int _iVar, int _iRows, int _iCols, short** _psData16);
+API_SCILAB_IMPEXP int allocMatrixOfInteger16(int _iVar, int _iRows, int _iCols, short** _psData16);
 
 /**
  * Get integer variable data
@@ -141,7 +143,7 @@ int allocMatrixOfInteger16(int _iVar, int _iRows, int _iCols, short** _psData16)
  * @param[out] _piData32 return array of integer 32 bits
  * @return if the operation successed (0) or not ( !0 )
  */
-int allocMatrixOfInteger32(int _iVar, int _iRows, int _iCols, int** _piData32);
+API_SCILAB_IMPEXP int allocMatrixOfInteger32(int _iVar, int _iRows, int _iCols, int** _piData32);
 
 /**
  * Get integer variable data
@@ -152,7 +154,7 @@ int allocMatrixOfInteger32(int _iVar, int _iRows, int _iCols, int** _piData32);
  * @return if the operation successed (0) or not ( !0 )
  */
 #ifdef __SCILAB_INT64__
-int allocMatrixOfInteger64(int _iVar, int _iRows, int _iCols, long long** _pllData64);
+API_SCILAB_IMPEXP int allocMatrixOfInteger64(int _iVar, int _iRows, int _iCols, long long** _pllData64);
 #endif
 
 /**
@@ -164,7 +166,7 @@ int allocMatrixOfInteger64(int _iVar, int _iRows, int _iCols, long long** _pllDa
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedMatrixOfInteger8(char* _pstName, int _iRows, int _iCols, char* _pcData8);
+API_SCILAB_IMPEXP int createNamedMatrixOfInteger8(char* _pstName, int _iRows, int _iCols, char* _pcData8);
 
 /**
  * Get integer variable data
@@ -175,7 +177,7 @@ int createNamedMatrixOfInteger8(char* _pstName, int _iRows, int _iCols, char* _p
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedMatrixOfInteger16(char* _pstName, int _iRows, int _iCols, short* _psData16);
+API_SCILAB_IMPEXP int createNamedMatrixOfInteger16(char* _pstName, int _iRows, int _iCols, short* _psData16);
 
 /**
  * Get integer variable data
@@ -186,7 +188,7 @@ int createNamedMatrixOfInteger16(char* _pstName, int _iRows, int _iCols, short*
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedMatrixOfInteger32(char* _pstName, int _iRows, int _iCols, int* _piData32);
+API_SCILAB_IMPEXP int createNamedMatrixOfInteger32(char* _pstName, int _iRows, int _iCols, int* _piData32);
 
 /**
  * Get integer variable data
@@ -198,7 +200,7 @@ int createNamedMatrixOfInteger32(char* _pstName, int _iRows, int _iCols, int* _p
  * @return if the operation successed (0) or not ( !0 )
  */
 #ifdef __SCILAB_INT64__
-int createNamedMatrixOfInteger64(char* _pstName, int _iRows, int _iCols, long long* _pllData64);
+API_SCILAB_IMPEXP int createNamedMatrixOfInteger64(char* _pstName, int _iRows, int _iCols, long long* _pllData64);
 #endif
 
 /**
@@ -206,7 +208,7 @@ int createNamedMatrixOfInteger64(char* _pstName, int _iRows, int _iCols, long lo
  * @param[in] _pstName variable name
  * @param[out] _piPrecison return integer precision ( 8, 1-, 32, 64 )
  */
-int getNamedMatrixOfIntegerPrecision(char* _pstName, int* _piPrecision);
+API_SCILAB_IMPEXP int getNamedMatrixOfIntegerPrecision(char* _pstName, int* _piPrecision);
 
 /**
  * Get integer named variable data
@@ -216,7 +218,7 @@ int getNamedMatrixOfIntegerPrecision(char* _pstName, int* _piPrecision);
  * @param[out] _piData8 return array of integer 8 bits
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedMatrixOfInteger8(char* _pstName, int* _piRows, int* _piCols, char* _pcData8);
+API_SCILAB_IMPEXP int readNamedMatrixOfInteger8(char* _pstName, int* _piRows, int* _piCols, char* _pcData8);
 /**
  * Get integer named variable data
  * @param[in] _pstName variable name
@@ -225,7 +227,7 @@ int readNamedMatrixOfInteger8(char* _pstName, int* _piRows, int* _piCols, char*
  * @param[out] _piData16 return array of integer 16 bits
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedMatrixOfInteger16(char* _pstName, int* _piRows, int* _piCols, short* _psData16);
+API_SCILAB_IMPEXP int readNamedMatrixOfInteger16(char* _pstName, int* _piRows, int* _piCols, short* _psData16);
 /**
  * Get integer named variable data
  * @param[in] _pstName variable name
@@ -234,7 +236,7 @@ int readNamedMatrixOfInteger16(char* _pstName, int* _piRows, int* _piCols, short
  * @param[out] _piData32 return array of integer 32 bits
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedMatrixOfInteger32(char* _pstName, int* _piRows, int* _piCols, int* _piData32);
+API_SCILAB_IMPEXP int readNamedMatrixOfInteger32(char* _pstName, int* _piRows, int* _piCols, int* _piData32);
 /**
  * Get integer named variable data
  * @param[in] _pstName variable name
@@ -244,6 +246,6 @@ int readNamedMatrixOfInteger32(char* _pstName, int* _piRows, int* _piCols, int*
  * @return if the operation successed (0) or not ( !0 )
  */
 #ifdef __SCILAB_INT64__
-int readNamedMatrixOfInteger64(char* _pstName, int* _piRows, int* _piCols, long long* _pllData64);
+API_SCILAB_IMPEXP int readNamedMatrixOfInteger64(char* _pstName, int* _piRows, int* _piCols, long long* _pllData64);
 #endif
 #endif /* __INT_API__ */
index c274ce0..bb6966b 100644 (file)
@@ -12,6 +12,8 @@
 #ifndef __LIST_API__
 #define __LIST_API__
 
+#include "dynlib_api_scilab.h"
+
 /**********************/
 /*   list functions   */
 /**********************/
@@ -22,7 +24,7 @@
  * @param[out] _piNbItem return number of item
  * @return if the operation successed (0) or not ( !0 )
  */
-int getListItemNumber(int* _piAddress, int* _piNbItem);
+API_SCILAB_IMPEXP int getListItemNumber(int* _piAddress, int* _piNbItem);
 
 /**
  * Get address of an item in a list
@@ -31,7 +33,7 @@ int getListItemNumber(int* _piAddress, int* _piNbItem);
  * @param[out] _piItemAddress return item address
  * @return if the operation successed (0) or not ( !0 )
  */
-int getListItemAddress(int* _piAddress, int _iItemNum, int** _piItemAddress);
+API_SCILAB_IMPEXP int getListItemAddress(int* _piAddress, int _iItemNum, int** _piItemAddress);
 
 /**
  * get a list from a list
@@ -41,7 +43,7 @@ int getListItemAddress(int* _piAddress, int _iItemNum, int** _piItemAddress);
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int getListInList(int _iVar, int* _piParent, int _iItemPos, int** _piAddress);
+API_SCILAB_IMPEXP int getListInList(int _iVar, int* _piParent, int _iItemPos, int** _piAddress);
 
 /**
  * get a tlist from a list
@@ -51,7 +53,7 @@ int getListInList(int _iVar, int* _piParent, int _iItemPos, int** _piAddress);
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int getTListInList(int _iVar, int* _piParent, int _iItemPos, int** _piAddress);
+API_SCILAB_IMPEXP int getTListInList(int _iVar, int* _piParent, int _iItemPos, int** _piAddress);
 
 /**
  * get a mlist from a list
@@ -61,7 +63,7 @@ int getTListInList(int _iVar, int* _piParent, int _iItemPos, int** _piAddress);
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMListInList(int _iVar, int* _piParent, int _iItemPos, int** _piAddress);
+API_SCILAB_IMPEXP int getMListInList(int _iVar, int* _piParent, int _iItemPos, int** _piAddress);
 
 /**
  * get a list from a named list
@@ -71,7 +73,7 @@ int getMListInList(int _iVar, int* _piParent, int _iItemPos, int** _piAddress);
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int getListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int** _piAddress);
+API_SCILAB_IMPEXP int getListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int** _piAddress);
 
 /**
  * get a tlist from a named list
@@ -81,7 +83,7 @@ int getListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int** _piA
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int getTListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int** _piAddress);
+API_SCILAB_IMPEXP int getTListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int** _piAddress);
 
 /**
  * get a mlist from a named list
@@ -91,7 +93,7 @@ int getTListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int** _pi
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int** _piAddress);
+API_SCILAB_IMPEXP int getMListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int** _piAddress);
 
 /**
  * create a list
@@ -100,7 +102,7 @@ int getMListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int** _pi
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createList(int _iVar, int _iNbItem, int** _piAddress);
+API_SCILAB_IMPEXP int createList(int _iVar, int _iNbItem, int** _piAddress);
 
 /**
  * create a mlist
@@ -109,7 +111,7 @@ int createList(int _iVar, int _iNbItem, int** _piAddress);
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMList(int _iVar, int _iNbItem, int** _piAddress);
+API_SCILAB_IMPEXP int createMList(int _iVar, int _iNbItem, int** _piAddress);
 
 /**
  * create a tlist
@@ -118,7 +120,7 @@ int createMList(int _iVar, int _iNbItem, int** _piAddress);
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createTList(int _iVar, int _iNbItem, int** _piAddress);
+API_SCILAB_IMPEXP int createTList(int _iVar, int _iNbItem, int** _piAddress);
 
 /**
  * create a list
@@ -127,7 +129,7 @@ int createTList(int _iVar, int _iNbItem, int** _piAddress);
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedList(char* _pstName, int _iNbItem, int** _piAddress);
+API_SCILAB_IMPEXP int createNamedList(char* _pstName, int _iNbItem, int** _piAddress);
 
 /**
  * create a tlist
@@ -136,7 +138,7 @@ int createNamedList(char* _pstName, int _iNbItem, int** _piAddress);
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedTList(char* _pstName, int _iNbItem, int** _piAddress);
+API_SCILAB_IMPEXP int createNamedTList(char* _pstName, int _iNbItem, int** _piAddress);
 
 /**
  * create a mlist
@@ -145,7 +147,7 @@ int createNamedTList(char* _pstName, int _iNbItem, int** _piAddress);
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedMList(char* _pstName, int _iNbItem, int** _piAddress);
+API_SCILAB_IMPEXP int createNamedMList(char* _pstName, int _iNbItem, int** _piAddress);
 
 /**
  * read a named list
@@ -154,7 +156,7 @@ int createNamedMList(char* _pstName, int _iNbItem, int** _piAddress);
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedList(char* _pstName, int* _piNbItem, int** _piAddress);
+API_SCILAB_IMPEXP int readNamedList(char* _pstName, int* _piNbItem, int** _piAddress);
 
 /**
  * read a named tlist
@@ -163,7 +165,7 @@ int readNamedList(char* _pstName, int* _piNbItem, int** _piAddress);
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedTList(char* _pstName, int* _piNbItem, int** _piAddress);
+API_SCILAB_IMPEXP int readNamedTList(char* _pstName, int* _piNbItem, int** _piAddress);
 
 /**
  * read a named mlist
@@ -172,7 +174,7 @@ int readNamedTList(char* _pstName, int* _piNbItem, int** _piAddress);
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedMList(char* _pstName, int* _piNbItem, int** _piAddress);
+API_SCILAB_IMPEXP int readNamedMList(char* _pstName, int* _piNbItem, int** _piAddress);
 
 /**
  * create a list in a list
@@ -183,7 +185,7 @@ int readNamedMList(char* _pstName, int* _piNbItem, int** _piAddress);
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createListInList(int _iVar, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
+API_SCILAB_IMPEXP int createListInList(int _iVar, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
 
 /**
  * create a tlist in a list
@@ -194,7 +196,7 @@ int createListInList(int _iVar, int* _piParent, int _iItemPos, int _iNbItem, int
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createTListInList(int _iVar, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
+API_SCILAB_IMPEXP int createTListInList(int _iVar, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
 
 /**
  * create a mlist in a list
@@ -205,7 +207,7 @@ int createTListInList(int _iVar, int* _piParent, int _iItemPos, int _iNbItem, in
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMListInList(int _iVar, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
+API_SCILAB_IMPEXP int createMListInList(int _iVar, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
 
 /**
  * create a list in a named list
@@ -216,7 +218,7 @@ int createMListInList(int _iVar, int* _piParent, int _iItemPos, int _iNbItem, in
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
+API_SCILAB_IMPEXP int createListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
 
 /**
  * create a tlist in a named list
@@ -227,7 +229,7 @@ int createListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iN
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createTListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
+API_SCILAB_IMPEXP int createTListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
 
 /**
  * create a mlist in a named list
@@ -238,7 +240,7 @@ int createTListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _i
  * @param[out] _piAddress return list address
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
+API_SCILAB_IMPEXP int createMListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iNbItem, int** _piAddress);
 
 /*********************
  * Double functions *
@@ -254,7 +256,7 @@ int createMListInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _i
  * @param[out] _pdblReal return pointer on real data
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, double** _pdblReal);
+API_SCILAB_IMPEXP int getMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, double** _pdblReal);
 
 /**
  * Get double variable data
@@ -266,7 +268,7 @@ int getMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int* _piRo
  * @param[out] _pdblReal return pointer on real data
  * @return if the operation successed (0) or not ( !0 )
  */
-int getComplexMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, double** _pdblReal, double** _pdblImg);
+API_SCILAB_IMPEXP int getComplexMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, double** _pdblReal, double** _pdblImg);
 
 /**
  * Alloc double variable in a list
@@ -278,7 +280,7 @@ int getComplexMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int
  * @param[out] _pdblReal return pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int allocMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, double** _pdblReal);
+API_SCILAB_IMPEXP int allocMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, double** _pdblReal);
 
 /**
  * Alloc double variable in a list
@@ -291,7 +293,7 @@ int allocMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int _iRo
  * @param[out] _pdblImg return pointer on imaginary data
  * @return if the operation successed (0) or not ( !0 )
  */
-int allocComplexMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, double** _pdblReal, double** _pdblImg);
+API_SCILAB_IMPEXP int allocComplexMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, double** _pdblReal, double** _pdblImg);
 
 /**
  * create double variable in a list
@@ -303,7 +305,7 @@ int allocComplexMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, i
  * @param[in] _pdblReal pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, double* _pdblReal);
+API_SCILAB_IMPEXP int createMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, double* _pdblReal);
 
 /**
  * create double variable in a list
@@ -316,7 +318,7 @@ int createMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int _iR
  * @param[in] _pdblImg pointer on imaginary data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createComplexMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
+API_SCILAB_IMPEXP int createComplexMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
 
 /**
  * create double variable in a list
@@ -328,7 +330,7 @@ int createComplexMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos,
  * @param[in] _pdblData pointer on real data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createComplexZMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, doublecomplex* _pdblData);
+API_SCILAB_IMPEXP int createComplexZMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, doublecomplex* _pdblData);
 
 /**
  * create double named variable in a list
@@ -340,7 +342,7 @@ int createComplexZMatrixOfDoubleInList(int _iVar, int* _piParent, int _iItemPos,
  * @param[in] _pdblReal pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, double* _pdblReal);
+API_SCILAB_IMPEXP int createMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, double* _pdblReal);
 
 /**
  * create double named variable in a list
@@ -353,7 +355,7 @@ int createMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPo
  * @param[in] _pdblImg pointer on imaginary data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createComplexMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
+API_SCILAB_IMPEXP int createComplexMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, double* _pdblReal, double* _pdblImg);
 
 /**
  * create double named variable in a list
@@ -365,7 +367,7 @@ int createComplexMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _
  * @param[in] _pdblData pointer on real data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createComplexZMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, doublecomplex* _pdblData);
+API_SCILAB_IMPEXP int createComplexZMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, doublecomplex* _pdblData);
 
 /**
  * read double named variable in a list
@@ -377,7 +379,7 @@ int createComplexZMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int
  * @param[in] _pdblReal return data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, double* _pdblReal);
+API_SCILAB_IMPEXP int readMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, double* _pdblReal);
 
 /**
  * read double named variable in a list
@@ -390,7 +392,7 @@ int readMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos,
  * @param[in] _pdblImg return  imaginary data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readComplexMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg);
+API_SCILAB_IMPEXP int readComplexMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, double* _pdblReal, double* _pdblImg);
 
 /*********************
  * Strings functions *
@@ -407,7 +409,7 @@ int readComplexMatrixOfDoubleInNamedList(char* _pstName, int* _piParent, int _iI
  * @param[out] _pstStrings return array of char
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMatrixOfStringInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings);
+API_SCILAB_IMPEXP int getMatrixOfStringInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings);
 
 /**
  * Create string variable in a list
@@ -419,7 +421,7 @@ int getMatrixOfStringInList(int _iVar, int* _piParent, int _iItemPos, int* _piRo
  * @param[in] _pstStrings array of strings ( null terminated )
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfStringInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, char** _pstStrings);
+API_SCILAB_IMPEXP int createMatrixOfStringInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, char** _pstStrings);
 
 /**
  * Write string variable in a named list
@@ -432,7 +434,7 @@ int createMatrixOfStringInList(int _iVar, int* _piParent, int _iItemPos, int _iR
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfStringInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, char** _pstStrings);
+API_SCILAB_IMPEXP int createMatrixOfStringInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, char** _pstStrings);
 
 /**
  * Read string variable in a named list
@@ -444,7 +446,7 @@ int createMatrixOfStringInNamedList(char* _pstName, int* _piParent, int _iItemPo
  * @param[in] _pstStrings array of strings ( null terminated )
  * @return if the operation successed (0) or not ( !0 )
  */
-int readMatrixOfStringInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings);
+API_SCILAB_IMPEXP int readMatrixOfStringInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings);
 
 /*********************
  * boolean functions *
@@ -460,7 +462,7 @@ int readMatrixOfStringInNamedList(char* _pstName, int* _piParent, int _iItemPos,
  * @param[out] _piBool return pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMatrixOfBooleanInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int** _piBool);
+API_SCILAB_IMPEXP int getMatrixOfBooleanInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int** _piBool);
 
 /**
  * Alloc boolean variable in a list
@@ -472,7 +474,7 @@ int getMatrixOfBooleanInList(int _iVar, int* _piParent, int _iItemPos, int* _piR
  * @param[out] _piBool return pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int allocMatrixOfBooleanInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int** _piBool);
+API_SCILAB_IMPEXP int allocMatrixOfBooleanInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int** _piBool);
 
 /**
  * create boolean variable in a list
@@ -484,7 +486,7 @@ int allocMatrixOfBooleanInList(int _iVar, int* _piParent, int _iItemPos, int _iR
  * @param[in] _piBool  pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfBooleanInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piBool);
+API_SCILAB_IMPEXP int createMatrixOfBooleanInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piBool);
 
 /**
  * create boolean variable in a named list
@@ -496,7 +498,7 @@ int createMatrixOfBooleanInList(int _iVar, int* _piParent, int _iItemPos, int _i
  * @param[in] _piBool pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfBooleanInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piBool);
+API_SCILAB_IMPEXP int createMatrixOfBooleanInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piBool);
 
 /**
  * Read string variable in a named list
@@ -508,7 +510,7 @@ int createMatrixOfBooleanInNamedList(char* _pstName, int* _piParent, int _iItemP
  * @param[in] _piBool pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readMatrixOfBooleanInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piBool);
+API_SCILAB_IMPEXP int readMatrixOfBooleanInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piBool);
 
 /*************************
  * polynomials functions *
@@ -525,7 +527,7 @@ int readMatrixOfBooleanInNamedList(char* _pstName, int* _piParent, int _iItemPos
  * @param[out] _pdblReal return polynomials coefficients
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMatrixOfPolyInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal);
+API_SCILAB_IMPEXP int getMatrixOfPolyInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal);
 
 /**
  * Get complex polynomial variable in list
@@ -539,7 +541,7 @@ int getMatrixOfPolyInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows
  * @param[out] _pdblImg return polynomials coefficients
  * @return if the operation successed (0) or not ( !0 )
  */
-int getComplexMatrixOfPolyInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
+API_SCILAB_IMPEXP int getComplexMatrixOfPolyInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
 
 /**
  * Create polynomial variable in list
@@ -552,7 +554,7 @@ int getComplexMatrixOfPolyInList(int _iVar, int* _piParent, int _iItemPos, int*
  * @param[in] _pdblReal pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfPolyInList(int _iVar, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal);
+API_SCILAB_IMPEXP int createMatrixOfPolyInList(int _iVar, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal);
 
 /**
  * Create complex polynomial variable in list
@@ -566,7 +568,7 @@ int createMatrixOfPolyInList(int _iVar, int* _piParent, int _iItemPos, char* _ps
  * @param[in] _pdblImg pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createComplexMatrixOfPolyInList(int _iVar, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
+API_SCILAB_IMPEXP int createComplexMatrixOfPolyInList(int _iVar, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
 
 /**
  * Get polynomial variable in named list
@@ -579,7 +581,7 @@ int createComplexMatrixOfPolyInList(int _iVar, int* _piParent, int _iItemPos, ch
  * @param[out] _pdblReal return data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal);
+API_SCILAB_IMPEXP int readMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal);
 
 /**
  * Get polynomial variable in named list
@@ -593,7 +595,7 @@ int readMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, i
  * @param[out] _pdblImg return img data
 * @return if the operation successed (0) or not ( !0 )
  */
-int readComplexMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
+API_SCILAB_IMPEXP int readComplexMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
 
 /**
  * Create polynomial variable in named list
@@ -606,7 +608,7 @@ int readComplexMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iIte
  * @param[in] _pdblReal pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal);
+API_SCILAB_IMPEXP int createMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal);
 
 /**
  * Create complex polynomial variable in named list
@@ -620,7 +622,7 @@ int createMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos,
  * @param[in] _pdblImg pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createComplexMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
+API_SCILAB_IMPEXP int createComplexMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iItemPos, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
 
 /*********************
  * integer functions *
@@ -636,7 +638,7 @@ int createComplexMatrixOfPolyInNamedList(char* _pstName, int* _piParent, int _iI
  * @param[in] _pcData pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfInteger8InList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, char* _pcData);
+API_SCILAB_IMPEXP int createMatrixOfInteger8InList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, char* _pcData);
 
 /**
  * create integer 16 variable in a list
@@ -648,7 +650,7 @@ int createMatrixOfInteger8InList(int _iVar, int* _piParent, int _iItemPos, int _
  * @param[in] _psData pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfInteger16InList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, short* _psData);
+API_SCILAB_IMPEXP int createMatrixOfInteger16InList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, short* _psData);
 
 /**
  * create integer 32 variable in a list
@@ -660,7 +662,7 @@ int createMatrixOfInteger16InList(int _iVar, int* _piParent, int _iItemPos, int
  * @param[in] _piData pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfInteger32InList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piData);
+API_SCILAB_IMPEXP int createMatrixOfInteger32InList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piData);
 
 /**
  * create integer 64 variable in a list
@@ -673,7 +675,7 @@ int createMatrixOfInteger32InList(int _iVar, int* _piParent, int _iItemPos, int
  * @return if the operation successed (0) or not ( !0 )
  */
 #ifdef __SCILAB_INT64__
-int createMatrixOfInteger32InList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piData);
+API_SCILAB_IMPEXP int createMatrixOfInteger32InList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piData);
 #endif
 
 /**
@@ -686,7 +688,7 @@ int createMatrixOfInteger32InList(int _iVar, int* _piParent, int _iItemPos, int
  * @param[in] _pcData pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMatrixOfInteger8InList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, char* _pcData);
+API_SCILAB_IMPEXP int getMatrixOfInteger8InList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, char* _pcData);
 
 /**
  * read integer 16 variable in a list
@@ -698,7 +700,7 @@ int getMatrixOfInteger8InList(int _iVar, int* _piParent, int _iItemPos, int* _pi
  * @param[in] _psData pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMatrixOfInteger16InList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, short* _psData);
+API_SCILAB_IMPEXP int getMatrixOfInteger16InList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, short* _psData);
 
 /**
  * read integer 32 variable in a list
@@ -710,7 +712,7 @@ int getMatrixOfInteger16InList(int _iVar, int* _piParent, int _iItemPos, int* _p
  * @param[in] _piData pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMatrixOfInteger32InList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piData);
+API_SCILAB_IMPEXP int getMatrixOfInteger32InList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piData);
 
 /**
  * read integer 64 variable in a list
@@ -723,7 +725,7 @@ int getMatrixOfInteger32InList(int _iVar, int* _piParent, int _iItemPos, int* _p
  * @return if the operation successed (0) or not ( !0 )
  */
 #ifdef __SCILAB_INT64__
-int getMatrixOfInteger64InList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, long long* _pllData);
+API_SCILAB_IMPEXP int getMatrixOfInteger64InList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, long long* _pllData);
 #endif
 
 /**
@@ -736,7 +738,7 @@ int getMatrixOfInteger64InList(int _iVar, int* _piParent, int _iItemPos, int* _p
  * @param[in] _pcData pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfInteger8InNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, char* _pcData);
+API_SCILAB_IMPEXP int createMatrixOfInteger8InNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, char* _pcData);
 
 /**
  * Create integer 16 bis variable in named list
@@ -748,7 +750,7 @@ int createMatrixOfInteger8InNamedList(char* _pstName, int* _piParent, int _iItem
  * @param[in] _psData pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfInteger16InNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, short* _psData);
+API_SCILAB_IMPEXP int createMatrixOfInteger16InNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, short* _psData);
 
 /**
  * Create integer 32 bis variable in named list
@@ -760,7 +762,7 @@ int createMatrixOfInteger16InNamedList(char* _pstName, int* _piParent, int _iIte
  * @param[in] _piData pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfInteger32InNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piData);
+API_SCILAB_IMPEXP int createMatrixOfInteger32InNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, int* _piData);
 
 /**
  * Create integer 64 bis variable in named list
@@ -773,7 +775,7 @@ int createMatrixOfInteger32InNamedList(char* _pstName, int* _piParent, int _iIte
  * @return if the operation successed (0) or not ( !0 )
  */
 #ifdef __SCILAB_INT64__
-int createMatrixOfInteger64InNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, long long* _pllData);
+API_SCILAB_IMPEXP int createMatrixOfInteger64InNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, long long* _pllData);
 #endif
 
 /**
@@ -786,7 +788,7 @@ int createMatrixOfInteger64InNamedList(char* _pstName, int* _piParent, int _iIte
  * @param[in] _pcData return data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readMatrixOfIntger8InNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, char* _pcData);
+API_SCILAB_IMPEXP int readMatrixOfIntger8InNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, char* _pcData);
 
 /**
  * read integer 16 named variable in a list
@@ -798,7 +800,7 @@ int readMatrixOfIntger8InNamedList(char* _pstName, int* _piParent, int _iItemPos
  * @param[in] _psData return data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readMatrixOfIntger16InNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, short* _psData);
+API_SCILAB_IMPEXP int readMatrixOfIntger16InNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, short* _psData);
 
 /**
  * read integer 32 named variable in a list
@@ -810,7 +812,7 @@ int readMatrixOfIntger16InNamedList(char* _pstName, int* _piParent, int _iItemPo
  * @param[in] _piData return data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readMatrixOfIntger32InNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piData);
+API_SCILAB_IMPEXP int readMatrixOfIntger32InNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piData);
 
 /**
  * read integer 64 named variable in a list
@@ -823,7 +825,7 @@ int readMatrixOfIntger32InNamedList(char* _pstName, int* _piParent, int _iItemPo
  * @return if the operation successed (0) or not ( !0 )
  */
 #ifdef __SCILAB_INT64__
-int readMatrixOfIntger64InNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, long long* _pllData);
+API_SCILAB_IMPEXP int readMatrixOfIntger64InNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, long long* _pllData);
 #endif
 
 /********************
@@ -843,7 +845,7 @@ int readMatrixOfIntger64InNamedList(char* _pstName, int* _piParent, int _iItemPo
  * @param[in] _pdblReal pointer on real data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
+API_SCILAB_IMPEXP int createSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
 
 /**
  * Create complex sparse variable in a list
@@ -859,7 +861,7 @@ int createSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, int _iRow
  * @param[in] _pdblImg pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createComplexSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
+API_SCILAB_IMPEXP int createComplexSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
 
 /**
  * Create sparse variable in a named list
@@ -874,7 +876,7 @@ int createComplexSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, in
  * @param[in] _pdblReal pointer on real data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
+API_SCILAB_IMPEXP int createSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
 
 /**
  * Create complex sparse variable in a named list
@@ -890,7 +892,7 @@ int createSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iItemPos,
  * @param[in] _pdblImg pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createComplexSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
+API_SCILAB_IMPEXP int createComplexSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
 
 /**
  * get complex sparse variable in a list
@@ -905,7 +907,7 @@ int createComplexSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iI
  * @param[out] _pdblReal pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int getSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal);
+API_SCILAB_IMPEXP int getSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal);
 
 /**
  * get complex sparse variable in a list
@@ -921,7 +923,7 @@ int getSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows
  * @param[out] _pdblImg pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int getComplexSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg);
+API_SCILAB_IMPEXP int getComplexSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg);
 
 /**
  * read sparse variable in a named list
@@ -936,7 +938,7 @@ int getComplexSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, int*
  * @param[in] _pdblReal pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
+API_SCILAB_IMPEXP int readSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
 
 /**
  * read complex sparse variable in a named list
@@ -952,7 +954,7 @@ int readSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iItemPos, i
  * @param[in] _pdblImg pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readComplexSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
+API_SCILAB_IMPEXP int readComplexSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
 
 
 /****************************
@@ -971,7 +973,7 @@ int readComplexSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iIte
  * @param[in] _piColPos array of item column position ( 1 indexed )
  * @return if the operation successed (0) or not ( !0 )
  */
-int createBooleanSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos);
+API_SCILAB_IMPEXP int createBooleanSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos);
 
 /**
  * Create boolean sparse variable in a named list
@@ -985,7 +987,7 @@ int createBooleanSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, in
  * @param[in] _piColPos array of item column position ( 1 indexed )
  * @return if the operation successed (0) or not ( !0 )
  */
-int createBooleanSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos);
+API_SCILAB_IMPEXP int createBooleanSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iItemPos, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos);
 
 /**
  * get boolean sparse variable in a list
@@ -999,7 +1001,7 @@ int createBooleanSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iI
  * @param[out] _piColPos array of item column position ( 1 indexed )
  * @return if the operation successed (0) or not ( !0 )
  */
-int getBooleanSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos);
+API_SCILAB_IMPEXP int getBooleanSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos);
 
 /**
  * read sparse variable in a named list
@@ -1013,7 +1015,7 @@ int getBooleanSparseMatrixInList(int _iVar, int* _piParent, int _iItemPos, int*
  * @param[in] _piColPos array of item column position ( 1 indexed )
  * @return if the operation successed (0) or not ( !0 )
  */
-int readBooleanSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos);
+API_SCILAB_IMPEXP int readBooleanSparseMatrixInNamedList(char* _pstName, int* _piParent, int _iItemPos, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos);
 
 #endif /* __LIST_API__ */
 
index e53b596..fc3346b 100644 (file)
@@ -12,7 +12,8 @@
 #ifndef __POLY_API__
 #define __POLY_API__
 
-#include "doublecomplex.h"
+#include "dynlib_api_scilab.h"
+
 /*****************************/
 /*   poly matrix functions   */
 /*****************************/
@@ -24,7 +25,7 @@
  * @param[out] _piVarNameLen returns length of _pstVarName
  * @return if the operation successed (0) or not ( !0 )
  */
-int getPolyVariableName(int* _piAddress, char* _pstVarName, int* _piVarNameLen);
+API_SCILAB_IMPEXP int getPolyVariableName(int* _piAddress, char* _pstVarName, int* _piVarNameLen);
 
 /**
  * Get polynomial variable data
@@ -35,7 +36,7 @@ int getPolyVariableName(int* _piAddress, char* _pstVarName, int* _piVarNameLen);
  * @param[out] _pdblReal return polynomials coefficients
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMatrixOfPoly(int* _piAddress, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal);
+API_SCILAB_IMPEXP int getMatrixOfPoly(int* _piAddress, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal);
 
 /**
  * Get complex polynomial variable data
@@ -47,7 +48,7 @@ int getMatrixOfPoly(int* _piAddress, int* _piRows, int* _piCols, int* _piNbCoef,
  * @param[out] _pdblImg return polynomials coefficients
  * @return if the operation successed (0) or not ( !0 )
  */
-int getComplexMatrixOfPoly(int* _piAddress, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
+API_SCILAB_IMPEXP int getComplexMatrixOfPoly(int* _piAddress, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
 
 /**
  * Get polynomial named variable data
@@ -59,7 +60,7 @@ int getComplexMatrixOfPoly(int* _piAddress, int* _piRows, int* _piCols, int* _pi
  * @param[in] _pdblReal pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfPoly(int _iVar, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal);
+API_SCILAB_IMPEXP int createMatrixOfPoly(int _iVar, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal);
 
 /**
  * Get complex polynomial named variable data
@@ -72,7 +73,7 @@ int createMatrixOfPoly(int _iVar, char* _pstVarName, int _iRows, int _iCols, int
  * @param[in] _pdblImg pointer on imaginary data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createComplexMatrixOfPoly(int _iVar, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
+API_SCILAB_IMPEXP int createComplexMatrixOfPoly(int _iVar, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
 
 /**
  * Create polynomial named variable
@@ -83,7 +84,7 @@ int createComplexMatrixOfPoly(int _iVar, char* _pstVarName, int _iRows, int _iCo
  * @param[in] _pdblReal pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedMatrixOfPoly(char* _pstName, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal);
+API_SCILAB_IMPEXP int createNamedMatrixOfPoly(char* _pstName, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal);
 
 /**
  * Create complex polynomial named variable
@@ -95,7 +96,7 @@ int createNamedMatrixOfPoly(char* _pstName, char* _pstVarName, int _iRows, int _
  * @param[in] _pdblImg pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedComplexMatrixOfPoly(char* _pstName, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
+API_SCILAB_IMPEXP int createNamedComplexMatrixOfPoly(char* _pstName, char* _pstVarName, int _iRows, int _iCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
 
 /**
  * Get double named variable data
@@ -106,7 +107,7 @@ int createNamedComplexMatrixOfPoly(char* _pstName, char* _pstVarName, int _iRows
  * @param[out] _pdblReal return real data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedMatrixOfPoly(char* _pstName, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal);
+API_SCILAB_IMPEXP int readNamedMatrixOfPoly(char* _pstName, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal);
 
 /**
  * Get double named variable data
@@ -118,6 +119,6 @@ int readNamedMatrixOfPoly(char* _pstName, int* _piRows, int* _piCols, int* _piNb
  * @param[out] _pdblImg return imgagianry data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedComplexMatrixOfPoly(char* _pstName, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
+API_SCILAB_IMPEXP int readNamedComplexMatrixOfPoly(char* _pstName, int* _piRows, int* _piCols, int* _piNbCoef, double** _pdblReal, double** _pdblImg);
 
 #endif /* __POLY_API__ */
index 60a4a27..3a88cb4 100644 (file)
@@ -12,6 +12,8 @@
 #ifndef __SAPRSE_API__
 #define __SAPRSE_API__
 
+#include "dynlib_api_scilab.h"
+
 /*****************************/
 /*   sparse matrix functions */
 /*****************************/
@@ -27,7 +29,7 @@
  * @param[out] _pdblReal return pointer on real data
  * @return if the operation successed (0) or not ( !0 )
  */
-int getSparseMatrix(int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal);
+API_SCILAB_IMPEXP int getSparseMatrix(int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal);
 
 /**
  * Get sparse variable data
@@ -41,7 +43,7 @@ int getSparseMatrix(int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem,
  * @param[out] _pdblImg return pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int getComplexSparseMatrix(int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg);
+API_SCILAB_IMPEXP int getComplexSparseMatrix(int* _piAddress, int* _piRows, int* _piCols, int* _piNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg);
 
 /**
  * alloc sparse variable data
@@ -54,7 +56,7 @@ int getComplexSparseMatrix(int* _piAddress, int* _piRows, int* _piCols, int* _pi
  * @param[out] _pdblReal return pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int allocSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal);
+API_SCILAB_IMPEXP int allocSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal);
 
 /**
  * alloc sparse variable data
@@ -68,7 +70,7 @@ int allocSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, int** _pi
  * @param[out] _pdblImg return pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int allocComplexSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg);
+API_SCILAB_IMPEXP int allocComplexSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, int** _piNbItemRow, int** _piColPos, double** _pdblReal, double** _pdblImg);
 
 /**
  * Create sparse variable
@@ -81,7 +83,7 @@ int allocComplexSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, in
  * @param[in] _pdblReal pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
+API_SCILAB_IMPEXP int createSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
 
 /**
  * Create sparse variable
@@ -95,7 +97,7 @@ int createSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, int* _pi
  * @param[out] _pdblImg pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createComplexSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
+API_SCILAB_IMPEXP int createComplexSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
 
 /**
  * Create named sparse variable
@@ -108,7 +110,7 @@ int createComplexSparseMatrix(int _iVar, int _iRows, int _iCols, int _iNbItem, i
  * @param[in] _pdblReal pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedSparseMatrix(char* _pstName, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
+API_SCILAB_IMPEXP int createNamedSparseMatrix(char* _pstName, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
 
 /**
  * Create named sparse variable
@@ -122,7 +124,7 @@ int createNamedSparseMatrix(char* _pstName, int _iRows, int _iCols, int _iNbItem
  * @param[out] _pdblImg pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedComplexSparseMatrix(char* _pstName, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
+API_SCILAB_IMPEXP int createNamedComplexSparseMatrix(char* _pstName, int _iRows, int _iCols, int _iNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
 
 /**
  * Read named sparse variable
@@ -135,7 +137,7 @@ int createNamedComplexSparseMatrix(char* _pstName, int _iRows, int _iCols, int _
  * @param[out] _pdblReal pointer on data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedSparseMatrix(char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
+API_SCILAB_IMPEXP int readNamedSparseMatrix(char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal);
 
 /**
  * Read named sparse variable
@@ -149,6 +151,6 @@ int readNamedSparseMatrix(char* _pstName, int* _piRows, int* _piCols, int* _piNb
  * @param[out] _pdblImg pointer on img data
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedComplexSparseMatrix(char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
+API_SCILAB_IMPEXP int readNamedComplexSparseMatrix(char* _pstName, int* _piRows, int* _piCols, int* _piNbItem, int* _piNbItemRow, int* _piColPos, double* _pdblReal, double* _pdblImg);
 
 #endif /* __SAPRSE_API__ */
index f4c57ef..695c14e 100644 (file)
@@ -13,6 +13,7 @@
 #define __STRING_API__
 
 #include <wchar.h>
+#include "dynlib_api_scilab.h"
 /*****************************/
 /*   string matrix functions   */
 /*****************************/
@@ -26,7 +27,7 @@
  * @param[out] _pstStrings return array of char
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMatrixOfString(int* _piAddress, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings);
+API_SCILAB_IMPEXP int getMatrixOfString(int* _piAddress, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings);
 
 /**
  * Get double variable data
@@ -37,7 +38,7 @@ int getMatrixOfString(int* _piAddress, int* _piRows, int* _piCols, int* _piLengt
  * @param[out] _pstStrings return array of wide char
  * @return if the operation successed (0) or not ( !0 )
  */
-int getMatrixOfWideString(int* _piAddress, int* _piRows, int* _piCols, int* _piLength, wchar_t** _pwstStrings);
+API_SCILAB_IMPEXP int getMatrixOfWideString(int* _piAddress, int* _piRows, int* _piCols, int* _piLength, wchar_t** _pwstStrings);
 
 /**
  * Get double variable data
@@ -48,7 +49,7 @@ int getMatrixOfWideString(int* _piAddress, int* _piRows, int* _piCols, int* _piL
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int createMatrixOfString(int _iVar, int _iRows, int _iCols, char** _pstStrings);
+API_SCILAB_IMPEXP int createMatrixOfString(int _iVar, int _iRows, int _iCols, char** _pstStrings);
 
 /**
  * Get double variable data
@@ -59,7 +60,7 @@ int createMatrixOfString(int _iVar, int _iRows, int _iCols, char** _pstStrings);
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int createNamedMatrixOfString(char* _pstName, int _iRows, int _iCols, char** _pstStrings);
+API_SCILAB_IMPEXP int createNamedMatrixOfString(char* _pstName, int _iRows, int _iCols, char** _pstStrings);
 
 /**
  * Get double variable data
@@ -70,7 +71,7 @@ int createNamedMatrixOfString(char* _pstName, int _iRows, int _iCols, char** _ps
  * @param[out] _piAddress return pointer on new variable
  * @return if the operation successed (0) or not ( !0 )
  */
-int readNamedMatrixOfString(char* _pstName, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings);
+API_SCILAB_IMPEXP int readNamedMatrixOfString(char* _pstName, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings);
 
 
 #endif /* __STRING_API__ */
diff --git a/scilab/modules/api_scilab/includes/dynlib_api_scilab.h b/scilab/modules/api_scilab/includes/dynlib_api_scilab.h
new file mode 100644 (file)
index 0000000..a06ca57
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) DIGITEO - 2009 - 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-en.txt
+*
+*/
+
+/*--------------------------------------------------------------------------*/ 
+#ifndef __DYNLIB_API_SCILAB_H__
+#define __DYNLIB_API_SCILAB_H__
+
+#ifdef _MSC_VER
+       #ifdef API_SCILAB_EXPORTS
+               #define API_SCILAB_IMPEXP __declspec(dllexport)
+       #else
+               #define API_SCILAB_IMPEXP __declspec(dllimport)
+       #endif
+#else
+       #define API_SCILAB_IMPEXP
+#endif
+
+#endif /* __DYNLIB_RENDERER_H__ */
+/*--------------------------------------------------------------------------*/ 
index 878a4e2..3972539 100644 (file)
@@ -18,7 +18,7 @@
 #include "api_boolean_sparse.h"
 #include "api_internal_boolean_sparse.h"
 
-//#include <string.h>
+
 #include "CallScilab.h"
 #include "stack-c.h"
 
index f18dcde..731b5b0 100644 (file)
@@ -15,6 +15,7 @@
 
 #include <string.h>
 
+#include "machine.h"
 #include "CallScilab.h"
 #include "api_common.h"
 #include "api_internal_common.h"
@@ -26,6 +27,8 @@ extern int C2F(cvnamel)(int *id,char *str,int *jobptr,int *str_len);
 /* *jobptr==0: Get Scilab codes from C-string */
 /* *jobptr==1: Get C-string from Scilab codes */
 
+extern int C2F(stackp)(int *,int *);
+
 #define idstk(x,y) (C2F(vstk).idstk+(x-1)+(y-1)*nsiz)
 #define CvNameL(id,str,jobptr,str_len) C2F(cvnamel)(id,str,jobptr,str_len);
 
index e309bc1..6278bf5 100644 (file)
@@ -18,7 +18,7 @@
 #include "api_double.h"
 #include "api_internal_double.h"
 
-//#include <string.h>
+
 #include "CallScilab.h"
 #include "stack-c.h"
 
index e80b8a3..d35759a 100644 (file)
 #ifndef __INTERNAL_COMMON_API__
 #define __INTERNAL_COMMON_API__
 
+/**
+*
+* @param[in]
+* @param
+* @return
+*/
 int getNewVarAddressFromPosition(int _iVar, int** _piAddress);
 
+/**
+*
+* @param
+*/
+void createNamedVariable(int *_piVarID);
+
+/**
+*
+* @param[in]
+* @param[in]
+* @param[in]
+* @return
+*/
+int updateLstk(int _iNewPos, int _iSCIDataAddress, int _iVarSize);
+
+/**
+*
+* @param[in]
+* @param[in]
+* @param[in]
+* @param[in]
+* @return
+*/
+int updateInterSCI(int _iVar, char _cType, int _iSCIAddress, int _iSCIDataAddress);
+
 #endif /* __INTERNAL_COMMON_API__ */
 
index 389083b..881338e 100644 (file)
@@ -45,7 +45,7 @@
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                AdditionalIncludeDirectories="includes;src/c;../core/includes;../fileio/includes;../windows_tools/includes;../windows_tools/src/c/scilab_windows;../localization/includes;../action_binding/includes;../output_stream/includes;../graphics/includes;../../libs/MALLOC/includes;../../libs/intl;../../libs/doublylinkedlist/includes"
-                               PreprocessorDefinitions="FORDLL;_DEBUG;_WINDOWS;_USRDLL;SOUND_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
+                               PreprocessorDefinitions="FORDLL;_DEBUG;_WINDOWS;_USRDLL;CALL_SCILAB_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
                                MinimalRebuild="true"
                                BasicRuntimeChecks="0"
                                RuntimeLibrary="3"
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                AdditionalIncludeDirectories="includes;src/c;../core/includes;../fileio/includes;../windows_tools/includes;../windows_tools/src/c/scilab_windows;../localization/includes;../action_binding/includes;../output_stream/includes;../graphics/includes;../../libs/MALLOC/includes;../../libs/intl;../../libs/doublylinkedlist/includes"
-                               PreprocessorDefinitions="FORDLL;_DEBUG;_WINDOWS;_USRDLL;SOUND_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
+                               PreprocessorDefinitions="FORDLL;_DEBUG;_WINDOWS;_USRDLL;CALL_SCILAB_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
                                MinimalRebuild="true"
                                BasicRuntimeChecks="0"
                                RuntimeLibrary="3"
                                FavorSizeOrSpeed="1"
                                WholeProgramOptimization="false"
                                AdditionalIncludeDirectories="includes;src/c;../core/includes;../fileio/includes;../windows_tools/includes;../windows_tools/src/c/scilab_windows;../localization/includes;../action_binding/includes;../output_stream/includes;../graphics/includes;../../libs/MALLOC/includes;../../libs/intl;../../libs/doublylinkedlist/includes"
-                               PreprocessorDefinitions="FORDLL;NDEBUG;_WINDOWS;_USRDLL;SOUND_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
+                               PreprocessorDefinitions="FORDLL;NDEBUG;_WINDOWS;_USRDLL;CALL_SCILAB_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
                                StringPooling="true"
                                RuntimeLibrary="2"
                                EnableFunctionLevelLinking="true"
                                FavorSizeOrSpeed="1"
                                WholeProgramOptimization="false"
                                AdditionalIncludeDirectories="includes;src/c;../core/includes;../fileio/includes;../windows_tools/includes;../windows_tools/src/c/scilab_windows;../localization/includes;../action_binding/includes;../output_stream/includes;../graphics/includes;../../libs/MALLOC/includes;../../libs/intl;../../libs/doublylinkedlist/includes"
-                               PreprocessorDefinitions="FORDLL;NDEBUG;_WINDOWS;_USRDLL;SOUND_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
+                               PreprocessorDefinitions="FORDLL;NDEBUG;_WINDOWS;_USRDLL;CALL_SCILAB_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
                                StringPooling="true"
                                RuntimeLibrary="2"
                                EnableFunctionLevelLinking="true"