7a138abd75ea988235f7135bd30ba23dafc6d2a0
[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 iVar position on the stack
29  * @param name the name of the variable
30  * @param matfile_version version of the file to write (See MATIO library)
31  * @param parent parent mlist. If NULL, a normal variable is created.
32  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
33  *
34  * @return Matlab variable (See MATIO library)
35  */
36 matvar_t *GetMatlabVariable(int iVar, const char *name, int matfile_version, int * parent, int item_position);
37
38 /*
39  * Get a Matlab Integer variable from stack
40  * 
41  * @param iVar position on the stack
42  * @param name the name of the variable
43  * @param parent parent mlist. If NULL, a normal variable is created.
44  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
45  *
46  * @return Matlab variable (See MATIO library)
47  */
48 matvar_t *GetIntegerVariable(int iVar, const char *name, int * parent, int item_position);
49
50 /*
51  * Get a Matlab Mlist-equivalent variable from stack
52  * 
53  * @param iVar position on the stack
54  * @param name the name of the variable
55  * @param matfile_version version of the file to write (See MATIO library)
56  * @param parent parent mlist. If NULL, a normal variable is created.
57  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
58  *
59  * @return Matlab variable (See MATIO library)
60  */
61 matvar_t *GetMlistVariable(int iVar, const char *name, int matfile_version, int * parent, int item_position);
62
63 /*
64  * Get a Matlab Struct variable from stack
65  * 
66  * @param iVar position on the stack
67  * @param name the name of the variable
68  * @param matfile_version version of the file to write (See MATIO library)
69  * @param fieldNames structure fields names including "st" and "dims"
70  * @param nbFields number of fields including "st" and "dims"
71  * @param parent parent mlist. If NULL, a normal variable is created.
72  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
73  *
74  * @return Matlab variable (See MATIO library)
75  */
76 matvar_t *GetStructVariable(int iVar, const char *name, int matfile_version, char **fieldNames, int nbFields, int * parent, int item_position);
77
78 /*
79  * Get a Matlab Cell variable from stack
80  * 
81  * @param iVar position on the stack
82  * @param name the name of the variable
83  * @param matfile_version version of the file to write (See MATIO library)
84  * @param parent parent mlist. If NULL, a normal variable is created.
85  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
86  *
87  * @return Matlab variable (See MATIO library)
88  */
89 matvar_t *GetCellVariable(int iVar, const char *name, int matfile_version, int * parent, int item_position);
90
91 /*
92  * Get a Matlab Char variable from stack
93  * 
94  * @param iVar position on the stack
95  * @param name the name of the variable
96  * @param parent parent mlist. If NULL, a normal variable is created.
97  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
98  *
99  * @return Matlab variable (See MATIO library)
100  */
101 matvar_t *GetCharVariable(int iVar, const char *name, int * parent, int item_position);
102
103 /*
104  * Get a Matlab Sparse variable from stack
105  * 
106  * @param iVar position on the stack
107  * @param name the name of the variable
108  * @param parent parent mlist. If NULL, a normal variable is created.
109  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
110  *
111  * @return Matlab variable (See MATIO library)
112  */
113 matvar_t *GetSparseVariable(int iVar, const char *name, int * parent, int item_position);
114
115 /*
116  * Get a Matlab Double variable from stack
117  * 
118  * @param iVar position on the stack
119  * @param name the name of the variable
120  * @param matfile_version version of the file to write (See MATIO library)
121  * @param parent parent mlist. If NULL, a normal variable is created.
122  * @parem item_position position of the variable in the mlist. Only effective if parent !=NULL
123  *
124  * @return Matlab variable (See MATIO library)
125  */
126 matvar_t *GetDoubleVariable(int iVar, const char *name, int matfile_version, int * parent, int item_position);
127
128 #endif /* !__GETMATLABVARIABLE_H__ */