* Port to matio 1.5.0 * Code cleaning * Prepare code for Scilab 6 (YaSp branch merge)
[scilab.git] / scilab / modules / matio / src / c / GetMatlabVariable.h
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2008 - INRIA - Vincent COUVERT
4  * Copyright (C) 2010 - DIGITEO - Yann COLLETTE
5  *
6  * This file must be used under the terms of the CeCILL.
7  * This source file is licensed as described in the file COPYING, which
8  * you should have received as part of this distribution.  The terms
9  * are also available at
10  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11  *
12  */
13
14 #ifndef __GETMATLABVARIABLE_H__
15 #define __GETMATLABVARIABLE_H__
16
17 #include "matfile_manager.h"
18 #include "MALLOC.h"
19 #include "localization.h"
20 #include "Scierror.h"
21 #include "sciprint.h"
22
23 /*
24  * Get a Matlab variable from a Scilab variable on stack
25  * This function reads nothing on stack but calls the function which
26  * does the work according to Scilab Variable type
27  *
28  * @param pvApiCtx Scilab context
29  * @param iVar position on the stack
30  * @param name the name of the variable
31  * @param matfile_version version of the file to write (See MATIO library)
32  * @param parent parent mlist. If NULL, a normal variable is created.
33  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
34  *
35  * @return Matlab variable (See MATIO library)
36  */
37 matvar_t *GetMatlabVariable(void *pvApiCtx, int iVar, const char *name, int matfile_version, int * parent, int item_position);
38
39 /*
40  * Get a Matlab Integer variable from stack
41  *
42  * @param pvApiCtx Scilab context
43  * @param iVar position on the stack
44  * @param name the name of the variable
45  * @param parent parent mlist. If NULL, a normal variable is created.
46  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
47  *
48  * @return Matlab variable (See MATIO library)
49  */
50 matvar_t *GetIntegerVariable(void *pvApiCtx, int iVar, const char *name, int * parent, int item_position);
51
52 /*
53  * Get a Matlab Mlist-equivalent variable from stack
54  *
55  * @param pvApiCtx Scilab context
56  * @param iVar position on the stack
57  * @param name the name of the variable
58  * @param matfile_version version of the file to write (See MATIO library)
59  * @param parent parent mlist. If NULL, a normal variable is created.
60  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
61  *
62  * @return Matlab variable (See MATIO library)
63  */
64 matvar_t *GetMlistVariable(void *pvApiCtx, int iVar, const char *name, int matfile_version, int * parent, int item_position);
65
66 /*
67  * Get a Matlab Struct variable from stack
68  *
69  * @param pvApiCtx Scilab context
70  * @param iVar position on the stack
71  * @param name the name of the variable
72  * @param matfile_version version of the file to write (See MATIO library)
73  * @param fieldNames structure fields names including "st" and "dims"
74  * @param nbFields number of fields including "st" and "dims"
75  * @param parent parent mlist. If NULL, a normal variable is created.
76  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
77  *
78  * @return Matlab variable (See MATIO library)
79  */
80 matvar_t *GetStructVariable(void *pvApiCtx, int iVar, const char *name, int matfile_version, char **fieldNames, int nbFields, int * parent, int item_position);
81
82 /*
83  * Get a Matlab Cell variable from stack
84  *
85  * @param pvApiCtx Scilab context
86  * @param iVar position on the stack
87  * @param name the name of the variable
88  * @param matfile_version version of the file to write (See MATIO library)
89  * @param parent parent mlist. If NULL, a normal variable is created.
90  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
91  *
92  * @return Matlab variable (See MATIO library)
93  */
94 matvar_t *GetCellVariable(void *pvApiCtx, int iVar, const char *name, int matfile_version, int * parent, int item_position);
95
96 /*
97  * Get a Matlab Char variable from stack
98  *
99  * @param pvApiCtx Scilab context
100  * @param iVar position on the stack
101  * @param name the name of the variable
102  * @param parent parent mlist. If NULL, a normal variable is created.
103  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
104  *
105  * @return Matlab variable (See MATIO library)
106  */
107 matvar_t *GetCharVariable(void *pvApiCtx, int iVar, const char *name, int * parent, int item_position);
108
109 /*
110  * Get a Matlab Sparse variable from stack
111  *
112  * @param pvApiCtx Scilab context
113  * @param iVar position on the stack
114  * @param name the name of the variable
115  * @param parent parent mlist. If NULL, a normal variable is created.
116  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
117  *
118  * @return Matlab variable (See MATIO library)
119  */
120 matvar_t *GetSparseVariable(void *pvApiCtx, int iVar, const char *name, int * parent, int item_position);
121
122 /*
123  * Get a Matlab Double variable from stack
124  *
125  * @param pvApiCtx Scilab context
126  * @param iVar position on the stack
127  * @param name the name of the variable
128  * @param matfile_version version of the file to write (See MATIO library)
129  * @param parent parent mlist. If NULL, a normal variable is created.
130  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
131  *
132  * @return Matlab variable (See MATIO library)
133  */
134 matvar_t *GetDoubleVariable(void *pvApiCtx, int iVar, const char *name, int matfile_version, int * parent, int item_position);
135
136 #endif /* !__GETMATLABVARIABLE_H__ */