1 /* GNUPLOT - plot.h */
2 
3 /*[
4  * Copyright 1986 - 1993, 1998, 2004   Thomas Williams, Colin Kelley
5  *
6  * Permission to use, copy, and distribute this software and its
7  * documentation for any purpose with or without fee is hereby granted,
8  * provided that the above copyright notice appear in all copies and
9  * that both that copyright notice and this permission notice appear
10  * in supporting documentation.
11  *
12  * Permission to modify the software is granted, but not the right to
13  * distribute the complete modified source code.  Modifications are to
14  * be distributed as patches to the released version.  Permission to
15  * distribute binaries produced by compiling modified sources is granted,
16  * provided you
17  *   1. distribute the corresponding source modifications from the
18  *    released version in the form of a patch file along with the binaries,
19  *   2. add special version identification to distinguish your version
20  *    in addition to the base release version number,
21  *   3. provide your name and address as the primary contact for the
22  *    support of your modified version, and
23  *   4. retain our contact information in regard to use of the base
24  *    software.
25  * Permission to distribute the released version of the source code along
26  * with corresponding source modifications in the form of a patch file is
27  * granted with same provisions 2 through 4 for binary distributions.
28  *
29  * This software is provided "as is" without express or implied warranty
30  * to the extent permitted by applicable law.
31 ]*/
32 
33 #ifndef GNUPLOT_PLOT_H
34 # define GNUPLOT_PLOT_H
35 
36 /* #if... / #include / #define collection: */
37 
38 #include "syscfg.h"
39 #include "gp_types.h"
40 
41 /* Type definitions */
42 
43 /* Variables of plot.c needed by other modules: */
44 
45 extern TBOOLEAN interactive;
46 extern TBOOLEAN noinputfiles;
47 extern TBOOLEAN persist_cl;
48 extern TBOOLEAN slow_font_startup;
49 
50 extern const char *user_shell;
51 
52 extern TBOOLEAN ctrlc_flag;
53 extern TBOOLEAN terminate_flag;
54 
55 #ifdef OS2
56 extern TBOOLEAN CallFromRexx;
57 #endif
58 
59 /* Prototypes of functions exported by plot.c */
60 
61 #if defined(__GNUC__)
62 void bail_to_command_line(void) __attribute__((noreturn));
63 #else
64 void bail_to_command_line(void);
65 #endif
66 
67 void init_constants(void);
68 void init_session(void);
69 
70 #if defined(_WIN32)
71 int gnu_main(int argc, char **argv);
72 #endif
73 
74 void interrupt_setup(void);
75 void gp_expand_tilde(char **);
76 void get_user_env(void);
77 
78 #ifdef LINUXVGA
79 void drop_privilege(void);
80 void take_privilege(void);
81 #endif /* LINUXVGA */
82 
83 #ifdef OS2
84 int ExecuteMacro(char *, int);
85 #endif
86 
87 void restrict_popen(void);
88 
89 #ifdef GNUPLOT_HISTORY
90 void cancel_history(void);
91 #else
92 #define cancel_history()  {}
93 #endif
94 
95 #if defined(MSDOS) || defined(OS2)
96 /* retrieve path relative to gnuplot executable */
97 char * RelativePathToGnuplot(const char * path);
98 #endif
99 
100 #endif /* GNUPLOT_PLOT_H */
101