1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2009 - DIGITEO - Antoine ELIAS
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  */
14 
15 
16 #ifndef __VARIABLE_API__
17 #define __VARIABLE_API__
18 
19 
20 /*
21 * 1 : First version
22 * 2 : Shortcut functions added
23 * 3 : Add some functions/macros in replacement of stack functions/macros :
24         - Rhs -> nbInputArgument
25         - Lhs -> nbOutputArgument
26         - LhsVar -> AssignOutputVariable
27         - PutLhsVar -> ReturnArguments
28         - CheckRhs -> CheckInputArgument
29         - CheckLhs -> CheckOutputArgument
30 */
31 
32 #define API_SCILAB_VERSION	4
33 
34 #define __INTERNAL_API_SCILAB__
35 
36 #include "api_stack_common.h"
37 #include "api_stack_double.h"
38 #include "api_stack_string.h"
39 #include "api_stack_int.h"
40 #include "api_stack_poly.h"
41 #include "api_stack_sparse.h"
42 #include "api_stack_boolean.h"
43 #include "api_stack_boolean_sparse.h"
44 #include "api_stack_pointer.h"
45 #include "api_stack_list.h"
46 #include "api_stack_error.h"
47 #include "api_stack_handle.h"
48 #include "api_stack_hypermat.h"
49 #include "api_stack_optional.h"
50 
51 /*API Scilab 6*/
52 
53 #ifdef __API_SCILAB_UNSAFE__
54 #define API_PROTO(x) scilab_internal_##x##_unsafe
55 #define API_EXPORT_PROTO(x) scilab_##x
56 #else
57 #define API_PROTO(x) scilab_internal_##x##_safe
58 #define API_EXPORT_PROTO(x) scilab_##x
59 #endif
60 
61 typedef void* scilabEnv;
62 typedef int* scilabVar;
63 typedef int* scilabOpt;
64 
65 
66 #include "api_error.h"
67 #include "api_boolean.h"
68 #include "api_common.h"
69 #include "api_double.h"
70 #include "api_int.h"
71 #include "api_cell.h"
72 #include "api_struct.h"
73 #include "api_list.h"
74 #include "api_poly.h"
75 #include "api_string.h"
76 #include "api_handle.h"
77 #include "api_optional.h"
78 #include "api_pointer.h"
79 
80 #undef __INTERNAL_API_SCILAB__
81 
82 #include "core_math.h"
83 #include "sci_types.h"
84 #include "BOOL.h"
85 #include "sci_malloc.h"
86 
87 /*Constants*/
88 #define ROW_LETTER		'r'
89 #define COL_LETTER		'c'
90 #define STAR_LETTER		'*'
91 #define MTLB_LETTER		'm'
92 
93 #define BY_ROWS			1
94 #define BY_COLS			2
95 #define BY_ALL			0
96 #define	BY_MTLB			-1
97 
98 #endif /* __VARIABLE_API__ */
99