update projects (examples) for Visual Studio 2008
[scilab.git] / scilab / modules / core / includes / CallScilab.h
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2007 - INRIA - Allan CORNET
4  * 
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at    
9  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12
13 #ifndef __CALLSCILAB__
14 #define __CALLSCILAB__
15
16 /*--------------------------------------------------------------------------*/
17 #include "BOOL.h"
18 /*--------------------------------------------------------------------------*/
19 /**
20  * Disable TCL/TK and graphic interfaces 
21  * Scilab no GUI no TCL/TK "kernel mode" 
22 */
23 void DisableInteractiveMode(void);
24
25 /**
26  * Initialize Scilab
27  * @param SCIpath define SCI environment variable : Default --> NULL
28  * @param ScilabStartup path & filename of scilab.start : Default --> NULL 
29  * @param Stacksize : Default --> NULL 
30  * @return TRUE if it is OK else FALSE
31 */
32 int StartScilab(char *SCIpath,char *ScilabStartup,int *Stacksize);
33
34 /**
35  * Terminate Scilab
36  * @param ScilabQuit path & filename of scilab.quit : Default --> NULL 
37  * @return TRUE if it is OK else FALSE 
38 */
39 int TerminateScilab(char *ScilabQuit);
40
41 /**
42  * Send a job to scilab 
43  * @param job the Scilab Job
44  * @return error code operation 0 : OK
45 */
46 int SendScilabJob(char *job); 
47
48 /**
49  * Send jobs to scilab 
50  * @code 
51  *      jobs[0] : a = 1;
52  *      jobs[1] : b = 3;
53  *      jobs[2] : c = a + b;
54  *      SendScilabJobs(jobs,3);
55  * @endcode
56  * @return last error code operation 0 : OK
57 **/
58 int SendScilabJobs(char **jobs,int numberjobs);
59
60 /**
61  * Returns last job send to scilab by SendScilabJobs or SendScilabJob
62  * @param[out] JOB the last job
63  * @param[out] nbcharsJOB the size of JOB
64  * @code
65  * Example :
66  * jobs[0] : a = 1;
67  * jobs[1] : b = V_NOT_EXIST;
68  * jobs[2] : c = a + b;
69  * if (SendScilabJobs(jobs,3))
70  * {
71  *      char lastjob[4096]; // bsiz in scilab 
72  *      if (GetLastJob(lastjob,4096))
73  *      {
74  *              printf("%s\n",lastjob);
75  *      }
76  * }
77  * @endcode
78  * @return 
79 **/
80 BOOL GetLastJob(char *JOB,int nbcharsJOB);
81
82 /**
83 * This procedure is the entry point to Scilab's event loop 
84 */
85 void ScilabDoOneEvent(void);
86
87 /**
88  * Get the information is a graphic windows is opened or not
89  * @Return Returns TRUE if a graphic windows is opened 
90 */
91 int ScilabHaveAGraph(void);
92
93 /*--------------------------------------------------------------------------*/
94 #endif /* __CALLSCILAB__ */
95 /*--------------------------------------------------------------------------*/