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