2 * $Id: misc.h,v 1.22 2005/11/27 18:31:36 sfeam Exp $
8 * Copyright 1999, 2004 Thomas Williams, Colin Kelley
10 * Permission to use, copy, and distribute this software and its
11 * documentation for any purpose with or without fee is hereby granted,
12 * provided that the above copyright notice appear in all copies and
13 * that both that copyright notice and this permission notice appear
14 * in supporting documentation.
16 * Permission to modify the software is granted, but not the right to
17 * distribute the complete modified source code. Modifications are to
18 * be distributed as patches to the released version. Permission to
19 * distribute binaries produced by compiling modified sources is granted,
21 * 1. distribute the corresponding source modifications from the
22 * released version in the form of a patch file along with the binaries,
23 * 2. add special version identification to distinguish your version
24 * in addition to the base release version number,
25 * 3. provide your name and address as the primary contact for the
26 * support of your modified version, and
27 * 4. retain our contact information in regard to use of the base
29 * Permission to distribute the released version of the source code along
30 * with corresponding source modifications in the form of a patch file is
31 * granted with same provisions 2 through 4 for binary distributions.
33 * This software is provided "as is" without express or implied warranty
34 * to the extent permitted by applicable law.
37 #ifndef GNUPLOT_MISC_H
38 # define GNUPLOT_MISC_H
48 /* Variables of misc.c needed by other modules: */
50 extern char *infile_name;
52 /* Prototypes from file "misc.c" */
54 struct iso_curve * iso_alloc __PROTO((int num));
55 void iso_extend __PROTO((struct iso_curve *ip, int num));
56 void iso_free __PROTO((struct iso_curve *ip));
57 void load_file __PROTO((FILE *fp, char *name, TBOOLEAN subst_args));
58 FILE *lf_top __PROTO((void));
59 void load_file_error __PROTO((void));
60 FILE *loadpath_fopen __PROTO((const char *, const char *));
61 char *fontpath_fullname __PROTO((const char *));
62 void push_terminal __PROTO((int is_interactive));
63 void pop_terminal __PROTO((void));
65 /* moved here, from setshow */
66 enum PLOT_STYLE get_style __PROTO((void));
67 void get_filledcurves_style_options __PROTO((filledcurves_opts *));
68 void filledcurves_options_tofile __PROTO((filledcurves_opts *, FILE *));
69 void lp_parse __PROTO((struct lp_style_type *, TBOOLEAN, TBOOLEAN));
70 void lp_use_properties __PROTO((struct lp_style_type *lp, int tag, int pointflag));
71 void arrow_parse __PROTO((struct arrow_style_type *, TBOOLEAN));
73 void parse_fillstyle __PROTO((struct fill_style_type *fs, int def_style,
74 int def_density, int def_pattern, int def_border ));
75 void parse_colorspec __PROTO((struct t_colorspec *tc, int option));
78 /* State information for load_file(), to recover from errors
79 * and properly handle recursive load_file calls
81 typedef struct lf_state_struct {
82 FILE *fp; /* file pointer for load file */
83 char *name; /* name of file */
84 TBOOLEAN interactive; /* value of interactive flag on entry */
85 TBOOLEAN do_load_arg_substitution; /* likewise ... */
86 int inline_num; /* inline_num on entry */
87 struct lf_state_struct *prev; /* defines a stack */
88 char *call_args[10]; /* args when file is 'call'ed instead of 'load'ed */
92 #endif /* GNUPLOT_MISC_H */