1 #ifndef __PROGR_H
2 #define __PROGR_H
3 /* progr.h						  */
4 /* Copyright (C) 1993 Fred Kruse                          */
5 /* This is free software; you can redistribute it and/or  */
6 /* modify it under the terms of the                       */
7 /* GNU General Public License, see the file COPYING.      */
8 
9 #include <time.h>
10 #include "WeProg.h"
11 
12 struct e_s_prog {
13  char *language, *compiler, *comp_str, *libraries,
14    *exe_name, *intstr, key;
15  char **filepostfix; /* Expandable array */
16  int	comp_sw, x;
17 };
18 
19 struct e_prog {
20  int num;
21  char *arguments, *project, *exedir, *sys_include;
22  struct e_s_prog **comp;
23 };
24 
25 extern int e__project;
26 extern struct e_s_prog e_s_prog;
27 extern struct e_prog e_prog;
28 
29 typedef struct {  FILE *fp;  BUFFER *b;  POINT p;  }  E_AFILE;
30 
31 #ifdef DJGPP
32 typedef long M_TIME;
33 #else
34 typedef time_t M_TIME;
35 #endif
36 
37 /*   we_prog.c   */
38 
39 int e_prog_switch(FENSTER *f, int c);
40 int e_compile(FENSTER *f);
41 int e_p_make(FENSTER *f);
42 int e_run(FENSTER *f);
43 int e_c_project(FENSTER *f);
44 int e_free_arg(char **arg, int argc);
45 int e_rel_brkwtch(FENSTER *f);
46 struct dirfile **e_make_prj_opt(FENSTER *f);
47 int e_comp(FENSTER *f);
48 int e_exec_inf(FENSTER *f, char **argv, int n);
49 int e_print_arg(FILE *fp, char *s, char **argv, int n);
50 int e_show_error(int n, FENSTER *f);
51 int e_make_error_list(FENSTER *f);
52 int e_previous_error(FENSTER *f);
53 int e_next_error(FENSTER *f);
54 int e_line_read(int n, char *s, int max);
55 int e_arguments(FENSTER *f);
56 int e_check_c_file(char *name);
57 int e_prj_ob_file(FENSTER *f);
58 int e_check_header(char *file, M_TIME otime, ECNT *cn, int sw);
59 char *e_cat_string(char *p, char *str);
60 int e_make_arg(char ***arg, char *str);
61 int e_ini_prog(ECNT *cn);
62 int e_copy_prog(struct e_s_prog *out, struct e_s_prog *in);
63 int e_run_options(FENSTER *f);
64 int e_run_c_options(FENSTER *f);
65 int e_project_options(FENSTER *f);
66 int e_system(char *estr, ECNT *cn);
67 int e_d_p_message(char *str, FENSTER *f, int sw);
68 int e_install(FENSTER *f);
69 int e_exec_make(FENSTER *f);
70 int e_run_sh(FENSTER *f);
71 int e_project(FENSTER *f);
72 int e_p_mess_win(char *header, int argc, char **argv, PIC **pic, FENSTER *f);
73 int e_p_add_df(FLWND *fw, int sw);
74 int e_p_del_df(FLWND *fw, int sw);
75 int e_p_edit_df(FLWND *fw, int sw);
76 int e_d_car_ret(FENSTER *f);
77 int e_d_car_mouse(FENSTER *f);
78 int e_add_arg(char ***arg, char *str, int n, int argc);
79 int e_new_message(FENSTER *f);
80 int e_p_cmp_mess(char *srch, BUFFER *b, int *ii, int *kk, int ret);
81 int e_project_name(FENSTER *f);
82 int e_wrt_prj_fl(FENSTER *f);
83 int e_p_update_prj_fl(FENSTER *f);
84 int freedfN(struct dirfile **df, int n);
85 int e_p_red_buffer(BUFFER *b);
86 int e_read_var(FENSTER *f);
87 
88 /*   we_progn.c  */
89 
90 int e_scfbol(int n, int mcsw, unsigned char *str, struct wpeSyntaxRule *cs);
91 int e_sc_all(FENSTER *f, int sw);
92 int e_program_opt(FENSTER *f);
93 int e_sc_nw_txt(int y, BUFFER *b, int sw);
94 int *e_sc_txt(int *c_sw, BUFFER *b);
95 void e_pr_c_line(int y, FENSTER *f);
96 int e_add_synt_tl(char *filename, FENSTER *f);
97 E_AFILE *e_aopen(char *name, char *path, int mode);
98 int e_aclose(E_AFILE *ep);
99 char *e_agets(char *str, int n, E_AFILE *ep);
100 char *e_sh_spl1(char *sp, char *str, E_AFILE *fp, int *n);
101 char *e_sh_spl2(char *sp, char *str, E_AFILE *fp, int *n);
102 char *e_sh_spl3(char *sp, char *str, E_AFILE *fp, int *n);
103 char *e_sh_spl4(char *sp, char *str, E_AFILE *fp, int *n);
104 char *e_sh_spl5(char *sp, char *str, E_AFILE *fp, int *n);
105 struct dirfile *e_c_add_df(char *str, struct dirfile *df);
106 int e_find_def(char *name, char *startfile, int mode, char *file,
107   int *num, int *xn, int nold, char *oldfile, struct dirfile **df,
108   int *first);
109 int e_show_nm_f(char *name, FENSTER *f, int oldn, char **oldname);
110 int e_sh_def(FENSTER *f);
111 int e_sh_nxt_def(FENSTER *f);
112 int e_nxt_brk(FENSTER *f);
113 int e_mk_beauty(int sw, int ndif, FENSTER *f);
114 int e_p_beautify(FENSTER *f);
115 
116 /*   we_fl_unix.c  */
117 
118 int e_funct(FENSTER *f);
119 int e_funct_in(FENSTER *f);
120 int e_data_first(int sw, ECNT *cn, char *nstr);
121 int e_data_schirm(FENSTER *f);
122 int e_data_eingabe(ECNT *cn);
123 
124 #endif
125 
126