int set_attr(ATTR attr[], u_char str[], int f_stand, int f_grep, int f_file); PP *alloc_pipe(int init0, FILE **pinp, int *nrowp, BASE *bp0, int nlen0, int ppid0); PP *alloc_list(LIST *list, int *rowp, int f_grep, int f_file); PP *alloc_str(STR s0[], int *rowp, int f_grep, int f_file); PP *alloc_pp(u_char buff[], int f_M0, int size, int *rowp, char name[]); PP *alloc_head(u_char buff0[], int f_M0, int size0, int *rowp); void alloc_tar(u_char cp0[], PP pp0[], int size); void alloc_lha(u_char cp0[], PP pp0[], int size); void alloc_unzip(u_char cp0[], PP pp0[], int size); char **alloc_arg(char *arg, int *argcp); void free_arg(char **argv); u_char *alloc_split(char name[], int tell, int size); u_char *alloc_buff(int *sizep, int fd, int pid, int f_cr); PP *alloc_sh(u_char *str, int pid0, int c); void make_bp(BASE *bp, char mess[], char *name, char *cp); PP *set_pp(u_char *cs, int size, int *rowp, int f_code, int f_bin); PP **set_ppp(void *p, void *p0, int f_set); int alloc_winch(BASE *bp, int f_ppp); int alloc_ls(u_char buff[], int size); void free_bp(BASE *bp); CHILD *save_child(CHILD *chp, char *cp0, int f_child); CHILD *check_ext(char *name, u_char *split, int size); CHILD *init_child(void); CHILD *get_child(CHILD *chp0, char *suffix, char *bin, char *name); int cat_child(CHILD *chp, char pathname[]); void free_child(CHILD *chp0); int is_child(char name[], CHILD *chp); CHILD *load_chp(char arg[]); int is_chp(CHILD *chp, char *arg); int is_man(char *man); char *type_pipe(char *buff, int size, int code); char *type_file(char *buff, char name[], int code); u_char *check_type(u_char *buff, int *sizep, char *name, int *f_Mp, int f_cr, int *codep); int init_code(int size, u_char *buff, int f_cr); void put_str(PP *pp, int f_mark); PP *disp_pp(PP *pp, int f_mark); int disp_window(PP *ps0, PP *pp0, int f_M0, char name0[], u_char prev0[], char *argp, int *lenp0); int print_line(void *ps0, PP *pp, int len, u_char *linep); void disp_prev(u_char *prev, void *dir, int klen0); u_char *fork_scan(int *sizep, int pid, int fd, int f_cr); u_char *fork_key(int *sizep, int f_M); u_char *fork_bin(CHILD *chp, int *sizep, int f_M, int f_cr); void fork_exec(CHILD *chp, char arg[], u_char buff[], int size); u_char *fork_chp(CHILD *chp, u_char *buff, int *sizep, char arg[]); u_char *fork_arc(u_char name[], int f_M, CHILD *chp0, int *tmp_sizep, int *bp_sizep, BASE *bp); u_char *fork_split(int *sizep, PP *pp, PP *ps); u_char *fork_grep(int *sizep, u_char str[], PP *pp, int f_fgrep); u_char *fork_grep2(int *sizep, u_char str[], char name[]); u_char *fork_grep3(int *sizep, u_char *buff, u_char str[], char name[]); FILE *fork_man(int *pidp, char str[]); FILE *fork_pipe(int f_chp, CHILD *chp, char name[], int *pidp); void init_man(BASE *bp, FILE **pinp, char name[], u_char prev[], char arg[], int *klenp); int init_pipe(BASE *bp, FILE **pinp, int f_Mb, char mess[], char prev[], char arg[], int *klenp, CHILD **chpp, int ppid); void init_cut(BASE *bp, char name[], u_char str[], BASE *cut_bp); void init_cut2(BASE *bp, u_char *buff, char name[], u_char str[]); CHILD *init_arc(BASE *bp, char name[], u_int bsize, u_char prev[], char arg[], PP *pp, int f_cr); FILE *init_arc2(BASE *bp, PP *pp, char name[], char arg[], int *ppid); void init_grep(BASE *bp, char name[], u_char str[], PP *pp, int fgrep); void init_ls(BASE *bp, char name[], int f_M, int f_ls); void init_split(BASE *bp, char name[], PP *pp, BASE *cut_bp, int f_cr); void init_split2(BASE *bp, u_char *buff, u_int bsize, u_char name[], PP *pp, int f_cr); FILE *init_split3(BASE *bp, char name[], PP *pp, PP *ps); FILE *init_split4(BASE *bp, u_char *buff, u_char name[], PP *pp); int init_bin(BASE *bp, BASE *head, CHILD **chpp, int f_M, char name[], int f_cr); void key_winch(int spid0); void key_term(int dummy); int read_m(RV *rvp, int f_M, int klen, u_char *cva, char *cname, LIST **listp, STR *cmd, u_char *iname, char *dir, char *old, int f_move); void save_signal(int f_tcb); void make_cmd(STR *sp, LIST **listp); int make_list(u_char dir0[], u_char buff[], int *lenp, LIST **listp, int f_M); void key_eeol(int row, int col0, int len); int edit_line(int m, int mb, u_char buff[], int len, int row, int col0, int *colp, int *colep, int *shiftp); void menu(char pathname[], int ntty, FILE *pin); int echo_mess(int f_mess); void free_h(void *hp0); void is_cut(CUT *cutp, char mess[]); int fmark(int f_M); int nmark(PP *pp, int f_M); int send_pp(PP *pp, char fmode[]); int do_rm(LL *llp, SS *ssp, u_char prev[], FILE *fp); int get_hup(int f0); void do_prog(char *str, STR **cmdp, STR **histp); void save_ll(int n_ll, LL *llp, SS *ssp, char full[], PN *pnp); void do_exec(char name[], CHILD *chp); void clear_base(BASE *base); PP *free_pp(PP *pp); char *command(int f_Mb, u_char str[], BASE *bp, LINE *lp, int klen, u_char du[], int *fdp); int is_write(u_char name[], int f_dir); CHILD *set_cutchp(char arg[]); void print_intr(char *save, char *mess); int move_page(int m, RV *rvp, PN *pnp, FILE **pinp, int f_M); void move_row(int m, RV *rvp, PN *pnp, FILE **pinp, int f_M); PP *sr_row(PP *pp, int f_mark); PP *sf_row(PP *pp, int f_mark); int init_col(int f_M, char str[], int size); int init_row(PP **ppp, PN *pnp, int tell, int etop); int get_col(char str[]); void write_comm(int pfd, int m, char *comm, int spid); int from_main(char name[], char str[], char *mess, FILE **pinp, int *ppidp); int wait_comm(int pfd, int *posp, int *rowp, int col0p, u_char *buff, u_char pp_str[]); int start_shell(int shell_pid, int disp_pid, FILE **ofpp, FILE **ifpp, char *mess, char pty[]); int do_shell(u_char prev[], char str[], FILE **pinp, u_char *w, int *spidp, int *ppidp, LIST *prog, LIST **listp, STR **cmdp, STR **histp, int f_comm); int is_inter(int f_inter); void r_S(int n_S); char *s_S(int n_S); char **s_P(int n_P); int conf(char mess[], char *args, char *version, int f_tcb); void free_S(void); int conf_wait(FILE *fp, char str[]); int conf_ls(FILE *fp, char *str); u_char *print_key(int *key_c); int conf_key(FILE *fp, char str[], int **key_mp, int **key_cp); int init_config(CHILD *chp, LIST **lcpp, LIST **lgpp, STR **scpp, STR **sgpp, u_int *bsizep, int **key_mp, int **key_cp, char name[]); char *set_tcbrc(int *errep, char *home0); void rspc(u_char *cp, u_char *np); int find_prog(LIST *prog, u_char buff[]); GREP *load_grep(GREP *grep); GREP *save_grep(GREP *grep); int find_grep(GREP *grep, BASE *bp); LIST *delete_name(LIST *lp, STR *sp, STR *rsp, FILE *fp); STR *save_history(STR *hist, char name[], int f_find); STR *free_history(STR *hist, char tmp[], int n_hist); void find_list(LIST *lp, char name[], int *ip); STR *save_str(STR *sp, char name[], PN *pnp); STACK *read_stack(STACK *sp, void *p, int f_read); STACK *load_stack(STACK *sp, LINE *lp, int *f_Mp, char *name, BASE **bpp, BASE base[]); STACK *save_stack(STACK *sp, LINE *lp, int f_M, char name[], BASE *bp, int f_bp); STACK *save_stack_dir(STACK *sp, char dir[], char old[], BASE *bp); void get_name(char *pathname); int get_dir(char *pathname); void erase_dot(char name[]); int read_list(LL *llp, SS *ssp, LINE *lp, char name[], CUT *cutp); void write_list(LL ll, SS ss, LINE *lp, char name[], CUT cut); LIST *free_list(LIST *list); void free_str(STR *sp); BASE *init_str(int f_M, BASE *bp, STR s0[], char name[]); BASE *init_list(int f_M, BASE *bp, LIST *lp, char name[]); int load_list(LIST *list, char name[], PN *pn); LIST *save_list(LIST *list, char name[], PN *pnp); char *utoa(u_int u); char *tobo(char str[], int f_nl); char *toul(char str[], int f_nl); char *tome(char str[], int f_nl); int ichrstr(char str0[], char c, char *str); void print_arg(char arg[], int size, u_char *buff, CHILD *chp, int f_M); void dup_error(); void save_error(char *fmt, ...); void save_stderr(char *fmt, ...); void save_intr(int n_error); int load_intr(void); char *is_inst(char *path, char *prog); int is_access(char name[], BASE *bp); int is_str(int f_M, int *n_bp); int is_list(int f_M, int *n_bp); int open_pty(char str[], int f_open); u_char *mtoa(int f_M); void print_buff(u_char buff[]); void print_ctrl(int cc, u_char str[]); void unlink_file(); void print_pid(int pid); int strint(int tab[], int u); int is_comm(int f_M, int f_comm); CHILD *check_chp(int s_i); char *print_stderr(char *err0); int conv_ls(u_char *buff); int is_file(int f_M); VT *tc_load(void); void exit_tcb(int ntty0); int get_ntty(void); void vt_printf(char *fmt, ...); int vt_putchar(int c); void vt_flush(void); void vt_endstand(void); void vt_stand(void); void vt_move(int row, int col); int vt_row(int row); int vt_col(int col); void vt_clear(void); void vt_eeol(void); void vt_left(void); void vt_sf(void); void vt_sr(void); void vt_rc(void); void vt_sc(void); void vt_cs(int m, int n); void vt_seta(int attr); char *vt_geta(int attr); void vt_ks(char *ks[]); int vt_mode(int mode); int vt_cursor(int f_cursor); int vt_select(int ntty); int vt_set(int f_tcb0); int get_winsize(int *rowp, int *colp); int set_winsize(int row, int col); int vt_getch(int f_skip); int vt_charset(int i); void vt_winsize(void); void vt_setwin(int row, int col); int vt_tfd(int i); int vt_init(int init);