1#ifdef CL_IN_EX /* cl.h */ 2int cl_waddstr(SCR *, const CHAR_T *, size_t); 3int cl_addstr(SCR *, const char *, size_t); 4int cl_attr(SCR *, scr_attr_t, int); 5int cl_baud(SCR *, u_long *); 6int cl_bell(SCR *); 7int cl_clrtoeol(SCR *); 8int cl_cursor(SCR *, size_t *, size_t *); 9int cl_deleteln(SCR *); 10int cl_discard(SCR *, SCR **); 11int cl_ex_adjust(SCR *, exadj_t); 12int cl_insertln(SCR *); 13int cl_keyval(SCR *, scr_keyval_t, CHAR_T *, int *); 14int cl_move(SCR *, size_t, size_t); 15int cl_refresh(SCR *, int); 16int cl_rename(SCR *, char *, int); 17void cl_setname(GS *, char *); 18int cl_split(SCR *, SCR *); 19int cl_suspend(SCR *, int *); 20void cl_usage(void); 21int sig_init(GS *, SCR *); 22int cl_event(SCR *, EVENT *, u_int32_t, int); 23int cl_screen(SCR *, u_int32_t); 24int cl_quit(GS *); 25int cl_getcap(SCR *, char *, char **); 26int cl_term_init(SCR *); 27int cl_term_end(GS *); 28int cl_fmap(SCR *, seq_t, CHAR_T *, size_t, CHAR_T *, size_t); 29int cl_optchange(SCR *, int, char *, u_long *); 30int cl_omesg(SCR *, CL_PRIVATE *, int); 31int cl_ssize(SCR *, int, size_t *, size_t *, int *); 32int cl_putchar(int); 33#endif 34#ifdef EXP /* ex.h */ 35int ex(SCR **); 36int ex_cmd(SCR *); 37int ex_range(SCR *, EXCMD *, int *); 38int ex_is_abbrev(CHAR_T *, size_t); 39int ex_is_unmap(CHAR_T *, size_t); 40void ex_badaddr 41 (SCR *, EXCMDLIST const *, enum badaddr, enum nresult); 42int ex_abbr(SCR *, EXCMD *); 43int ex_unabbr(SCR *, EXCMD *); 44int ex_append(SCR *, EXCMD *); 45int ex_change(SCR *, EXCMD *); 46int ex_insert(SCR *, EXCMD *); 47int ex_next(SCR *, EXCMD *); 48int ex_prev(SCR *, EXCMD *); 49int ex_rew(SCR *, EXCMD *); 50int ex_args(SCR *, EXCMD *); 51char **ex_buildargv(SCR *, EXCMD *, char *); 52int argv_init(SCR *, EXCMD *); 53int argv_exp0(SCR *, EXCMD *, CHAR_T *, size_t); 54int argv_exp1(SCR *, EXCMD *, CHAR_T *, size_t, int); 55int argv_exp2(SCR *, EXCMD *, CHAR_T *, size_t); 56int argv_exp3(SCR *, EXCMD *, CHAR_T *, size_t); 57int argv_flt_ex(SCR *, EXCMD *, CHAR_T *, size_t); 58int argv_free(SCR *); 59int argv_flt_path(SCR *, EXCMD *, CHAR_T *, size_t); 60CHAR_T *argv_esc(SCR *, EXCMD *, CHAR_T *, size_t); 61CHAR_T *argv_uesc(SCR *, EXCMD *, CHAR_T *, size_t); 62int ex_at(SCR *, EXCMD *); 63int ex_bang(SCR *, EXCMD *); 64int ex_cd(SCR *, EXCMD *); 65int ex_cscope(SCR *, EXCMD *); 66int cscope_end(SCR *); 67int cscope_display(SCR *); 68int cscope_search(SCR *, TAGQ *, TAG *); 69int ex_delete(SCR *, EXCMD *); 70int ex_display(SCR *, EXCMD *); 71int ex_edit(SCR *, EXCMD *); 72int ex_equal(SCR *, EXCMD *); 73int ex_file(SCR *, EXCMD *); 74int ex_filter(SCR *, 75 EXCMD *, MARK *, MARK *, MARK *, CHAR_T *, enum filtertype); 76int ex_global(SCR *, EXCMD *); 77int ex_v(SCR *, EXCMD *); 78int ex_g_insdel(SCR *, lnop_t, recno_t); 79int ex_screen_copy(SCR *, SCR *); 80int ex_screen_end(SCR *); 81int ex_optchange(SCR *, int, char *, u_long *); 82int ex_exrc(SCR *); 83int ex_run_str(SCR *, char *, CHAR_T *, size_t, int, int); 84int ex_join(SCR *, EXCMD *); 85int ex_map(SCR *, EXCMD *); 86int ex_unmap(SCR *, EXCMD *); 87int ex_mark(SCR *, EXCMD *); 88int ex_mkexrc(SCR *, EXCMD *); 89int ex_copy(SCR *, EXCMD *); 90int ex_move(SCR *, EXCMD *); 91int ex_open(SCR *, EXCMD *); 92int ex_preserve(SCR *, EXCMD *); 93int ex_recover(SCR *, EXCMD *); 94int ex_list(SCR *, EXCMD *); 95int ex_number(SCR *, EXCMD *); 96int ex_pr(SCR *, EXCMD *); 97int ex_print(SCR *, EXCMD *, MARK *, MARK *, u_int32_t); 98int ex_ldisplay(SCR *, const CHAR_T *, size_t, size_t, u_int); 99int ex_scprint(SCR *, MARK *, MARK *); 100int ex_printf(SCR *, const char *, ...); 101int ex_puts(SCR *, const char *); 102int ex_fflush(SCR *sp); 103int ex_put(SCR *, EXCMD *); 104int ex_quit(SCR *, EXCMD *); 105int ex_read(SCR *, EXCMD *); 106int ex_readfp(SCR *, char *, FILE *, MARK *, recno_t *, int); 107int ex_bg(SCR *, EXCMD *); 108int ex_fg(SCR *, EXCMD *); 109int ex_resize(SCR *, EXCMD *); 110int ex_sdisplay(SCR *); 111int ex_script(SCR *, EXCMD *); 112int sscr_exec(SCR *, recno_t); 113int sscr_input(SCR *); 114int sscr_end(SCR *); 115int ex_set(SCR *, EXCMD *); 116int ex_shell(SCR *, EXCMD *); 117int ex_exec_proc(SCR *, EXCMD *, char *, const char *, int); 118int proc_wait(SCR *, long, const char *, int, int); 119int ex_shiftl(SCR *, EXCMD *); 120int ex_shiftr(SCR *, EXCMD *); 121int ex_retab(SCR *, EXCMD *); 122int ex_source(SCR *, EXCMD *); 123int ex_stop(SCR *, EXCMD *); 124int ex_s(SCR *, EXCMD *); 125int ex_subagain(SCR *, EXCMD *); 126int ex_subtilde(SCR *, EXCMD *); 127int re_compile(SCR *, 128 CHAR_T *, size_t, CHAR_T **, size_t *, regex_t *, u_int); 129void re_error(SCR *, int, regex_t *); 130int ex_tag_first(SCR *, CHAR_T *); 131int ex_tag_push(SCR *, EXCMD *); 132int ex_tag_next(SCR *, EXCMD *); 133int ex_tag_prev(SCR *, EXCMD *); 134int ex_tag_nswitch(SCR *, TAG *, int); 135int ex_tag_Nswitch(SCR *, TAG *, int); 136int ex_tag_pop(SCR *, EXCMD *); 137int ex_tag_top(SCR *, EXCMD *); 138int ex_tag_display(SCR *); 139int ex_tag_copy(SCR *, SCR *); 140int tagq_free(SCR *, TAGQ *); 141int tagq_push(SCR*, TAGQ*, int, int ); 142void tag_msg(SCR *, tagmsg_t, char *); 143int ex_tagf_alloc(SCR *, char *); 144int ex_tag_free(SCR *); 145int ex_txt(SCR *, TEXTH *, ARG_CHAR_T, u_int32_t); 146int ex_undo(SCR *, EXCMD *); 147int ex_help(SCR *, EXCMD *); 148int ex_usage(SCR *, EXCMD *); 149int ex_viusage(SCR *, EXCMD *); 150void ex_cinit(SCR *, EXCMD *, int, int, recno_t, recno_t, int); 151int ex_getline(SCR *, FILE *, size_t *); 152int ex_ncheck(SCR *, int); 153int ex_init(SCR *); 154void ex_wemsg(SCR *, CHAR_T *, exm_t); 155void ex_emsg(SCR *, char *, exm_t); 156int ex_version(SCR *, EXCMD *); 157int ex_visual(SCR *, EXCMD *); 158int ex_wn(SCR *, EXCMD *); 159int ex_wq(SCR *, EXCMD *); 160int ex_write(SCR *, EXCMD *); 161int ex_xit(SCR *, EXCMD *); 162int ex_writefp(SCR *, 163 char *, FILE *, MARK *, MARK *, u_long *, u_long *, int); 164int ex_yank(SCR *, EXCMD *); 165int ex_z(SCR *, EXCMD *); 166#endif 167#ifdef V_ABS /* vi.h */ 168int cs_init(SCR *, VCS *); 169int cs_next(SCR *, VCS *); 170int cs_fspace(SCR *, VCS *); 171int cs_fblank(SCR *, VCS *); 172int cs_prev(SCR *, VCS *); 173int cs_bblank(SCR *, VCS *); 174int v_at(SCR *, VICMD *); 175int v_chrepeat(SCR *, VICMD *); 176int v_chrrepeat(SCR *, VICMD *); 177int v_cht(SCR *, VICMD *); 178int v_chf(SCR *, VICMD *); 179int v_chT(SCR *, VICMD *); 180int v_chF(SCR *, VICMD *); 181int v_delete(SCR *, VICMD *); 182int v_again(SCR *, VICMD *); 183int v_exmode(SCR *, VICMD *); 184int v_join(SCR *, VICMD *); 185int v_shiftl(SCR *, VICMD *); 186int v_shiftr(SCR *, VICMD *); 187int v_suspend(SCR *, VICMD *); 188int v_switch(SCR *, VICMD *); 189int v_tagpush(SCR *, VICMD *); 190int v_tagpop(SCR *, VICMD *); 191int v_filter(SCR *, VICMD *); 192int v_ex(SCR *, VICMD *); 193int v_ecl_exec(SCR *); 194int v_increment(SCR *, VICMD *); 195int v_screen_copy(SCR *, SCR *); 196int v_screen_end(SCR *); 197int v_optchange(SCR *, int, char *, u_long *); 198int v_iA(SCR *, VICMD *); 199int v_ia(SCR *, VICMD *); 200int v_iI(SCR *, VICMD *); 201int v_ii(SCR *, VICMD *); 202int v_iO(SCR *, VICMD *); 203int v_io(SCR *, VICMD *); 204int v_change(SCR *, VICMD *); 205int v_Replace(SCR *, VICMD *); 206int v_subst(SCR *, VICMD *); 207int v_left(SCR *, VICMD *); 208int v_cfirst(SCR *, VICMD *); 209int v_first(SCR *, VICMD *); 210int v_ncol(SCR *, VICMD *); 211int v_zero(SCR *, VICMD *); 212int v_mark(SCR *, VICMD *); 213int v_bmark(SCR *, VICMD *); 214int v_fmark(SCR *, VICMD *); 215int v_emark(SCR *, VICMD *); 216int v_match(SCR *, VICMD *); 217int v_buildmcs(SCR *, char *); 218int v_paragraphf(SCR *, VICMD *); 219int v_paragraphb(SCR *, VICMD *); 220int v_buildps(SCR *, char *, char *); 221int v_Put(SCR *, VICMD *); 222int v_put(SCR *, VICMD *); 223int v_redraw(SCR *, VICMD *); 224int v_replace(SCR *, VICMD *); 225int v_right(SCR *, VICMD *); 226int v_dollar(SCR *, VICMD *); 227int v_screen(SCR *, VICMD *); 228int v_lgoto(SCR *, VICMD *); 229int v_home(SCR *, VICMD *); 230int v_middle(SCR *, VICMD *); 231int v_bottom(SCR *, VICMD *); 232int v_up(SCR *, VICMD *); 233int v_cr(SCR *, VICMD *); 234int v_down(SCR *, VICMD *); 235int v_hpageup(SCR *, VICMD *); 236int v_hpagedown(SCR *, VICMD *); 237int v_pagedown(SCR *, VICMD *); 238int v_pageup(SCR *, VICMD *); 239int v_lineup(SCR *, VICMD *); 240int v_linedown(SCR *, VICMD *); 241int v_searchb(SCR *, VICMD *); 242int v_searchf(SCR *, VICMD *); 243int v_searchN(SCR *, VICMD *); 244int v_searchn(SCR *, VICMD *); 245int v_searchw(SCR *, VICMD *); 246int v_correct(SCR *, VICMD *, int); 247int v_sectionf(SCR *, VICMD *); 248int v_sectionb(SCR *, VICMD *); 249int v_sentencef(SCR *, VICMD *); 250int v_sentenceb(SCR *, VICMD *); 251int v_status(SCR *, VICMD *); 252int v_tcmd(SCR *, VICMD *, ARG_CHAR_T, u_int); 253int v_txt(SCR *, VICMD *, MARK *, 254 const CHAR_T *, size_t, ARG_CHAR_T, recno_t, u_long, u_int32_t); 255int v_txt_auto(SCR *, recno_t, TEXT *, size_t, TEXT *); 256int v_ulcase(SCR *, VICMD *); 257int v_mulcase(SCR *, VICMD *); 258int v_Undo(SCR *, VICMD *); 259int v_undo(SCR *, VICMD *); 260void v_eof(SCR *, MARK *); 261void v_eol(SCR *, MARK *); 262void v_nomove(SCR *); 263void v_sof(SCR *, MARK *); 264void v_sol(SCR *); 265int v_isempty(CHAR_T *, size_t); 266void v_emsg(SCR *, char *, vim_t); 267int v_wordW(SCR *, VICMD *); 268int v_wordw(SCR *, VICMD *); 269int v_wordE(SCR *, VICMD *); 270int v_worde(SCR *, VICMD *); 271int v_wordB(SCR *, VICMD *); 272int v_wordb(SCR *, VICMD *); 273int v_xchar(SCR *, VICMD *); 274int v_Xchar(SCR *, VICMD *); 275int v_yank(SCR *, VICMD *); 276int v_z(SCR *, VICMD *); 277int vs_crel(SCR *, long); 278int v_zexit(SCR *, VICMD *); 279int vi(SCR **); 280int v_curword(SCR *); 281int vs_line(SCR *, SMAP *, size_t *, size_t *); 282int vs_number(SCR *); 283void vs_busy(SCR *, const char *, busy_t); 284void vs_home(SCR *); 285void vs_update(SCR *, const char *, const CHAR_T *); 286void vs_msg(SCR *, mtype_t, char *, size_t); 287int vs_ex_resolve(SCR *, int *); 288int vs_resolve(SCR *, SCR *, int); 289int vs_repaint(SCR *, EVENT *); 290int vs_refresh(SCR *, int); 291int vs_column(SCR *, size_t *); 292size_t vs_screens(SCR *, recno_t, size_t *); 293size_t vs_columns(SCR *, CHAR_T *, recno_t, size_t *, size_t *); 294size_t vs_rcm(SCR *, recno_t, int); 295size_t vs_colpos(SCR *, recno_t, size_t); 296int vs_change(SCR *, recno_t, lnop_t); 297int vs_sm_fill(SCR *, recno_t, pos_t); 298int vs_sm_scroll(SCR *, MARK *, recno_t, scroll_t); 299int vs_sm_1up(SCR *); 300int vs_sm_1down(SCR *); 301int vs_sm_next(SCR *, SMAP *, SMAP *); 302int vs_sm_prev(SCR *, SMAP *, SMAP *); 303int vs_sm_cursor(SCR *, SMAP **); 304int vs_sm_position(SCR *, MARK *, u_long, pos_t); 305recno_t vs_sm_nlines(SCR *, SMAP *, recno_t, size_t); 306int vs_split(SCR *, SCR *, int); 307int vs_vsplit(SCR *, SCR *); 308int vs_discard(SCR *, SCR **); 309int vs_fg(SCR *, SCR **, CHAR_T *, int); 310int vs_bg(SCR *); 311int vs_swap(SCR *, SCR **, char *); 312int vs_resize(SCR *, long, adj_t); 313#endif /* common.h */ 314char * codeset(void); 315void conv_init(SCR *, SCR *); 316int conv_enc(SCR *, int, char *); 317void conv_end(SCR *); 318int cut(SCR *, CHAR_T *, MARK *, MARK *, int); 319int cut_line(SCR *, recno_t, size_t, size_t, CB *); 320void cut_close(GS *); 321TEXT *text_init(SCR *, const CHAR_T *, size_t, size_t); 322void text_lfree(TEXTH *); 323void text_free(TEXT *); 324int del(SCR *, MARK *, MARK *, int); 325int looks_utf8(const char *, size_t); 326int looks_utf16(const char *, size_t); 327int decode_utf8(const char *); 328int decode_utf16(const char *, int); 329FREF *file_add(SCR *, char *); 330int file_init(SCR *, FREF *, char *, int); 331int file_end(SCR *, EXF *, int); 332int file_write(SCR *, MARK *, MARK *, char *, int); 333int file_m1(SCR *, int, int); 334int file_m2(SCR *, int); 335int file_m3(SCR *, int); 336int file_aw(SCR *, int); 337void set_alt_name(SCR *, char *); 338lockr_t file_lock(SCR *, char *, int, int); 339int v_key_init(SCR *); 340void v_key_ilookup(SCR *); 341size_t v_key_len(SCR *, ARG_CHAR_T); 342char *v_key_name(SCR *, ARG_CHAR_T); 343e_key_t v_key_val(SCR *, ARG_CHAR_T); 344int v_event_push(SCR *, EVENT *, CHAR_T *, size_t, u_int); 345int v_event_get(SCR *, EVENT *, int, u_int32_t); 346void v_event_err(SCR *, EVENT *); 347int v_event_flush(SCR *, u_int); 348int db_eget(SCR *, recno_t, CHAR_T **, size_t *, int *); 349int db_get(SCR *, recno_t, u_int32_t, CHAR_T **, size_t *); 350int db_delete(SCR *, recno_t); 351int db_append(SCR *, int, recno_t, CHAR_T *, size_t); 352int db_insert(SCR *, recno_t, CHAR_T *, size_t); 353int db_set(SCR *, recno_t, CHAR_T *, size_t); 354int db_exist(SCR *, recno_t); 355int db_last(SCR *, recno_t *); 356int db_rget(SCR *, recno_t, char **, size_t *); 357int db_rset(SCR *, recno_t, char *, size_t); 358void db_err(SCR *, recno_t); 359int log_init(SCR *, EXF *); 360int log_end(SCR *, EXF *); 361int log_cursor(SCR *); 362int log_line(SCR *, recno_t, u_int); 363int log_mark(SCR *, LMARK *); 364int log_backward(SCR *, MARK *); 365int log_setline(SCR *); 366int log_forward(SCR *, MARK *); 367int editor(GS *, int, char *[]); 368void v_end(GS *); 369int mark_init(SCR *, EXF *); 370int mark_end(SCR *, EXF *); 371int mark_get(SCR *, ARG_CHAR_T, MARK *, mtype_t); 372int mark_set(SCR *, ARG_CHAR_T, MARK *, int); 373int mark_insdel(SCR *, lnop_t, recno_t); 374void msgq(SCR *, mtype_t, const char *, ...); 375void msgq_wstr(SCR *, mtype_t, const CHAR_T *, const char *); 376void msgq_str(SCR *, mtype_t, const char *, const char *); 377void mod_rpt(SCR *); 378void msgq_status(SCR *, recno_t, u_int); 379int msg_open(SCR *, char *); 380void msg_close(GS *); 381const char *msg_cmsg(SCR *, cmsg_t, size_t *); 382const char *msg_cat(SCR *, const char *, size_t *); 383char *msg_print(SCR *, const char *, int *); 384int opts_init(SCR *, int *); 385int opts_set(SCR *, ARGS *[], char *); 386int o_set(SCR *, int, u_int, char *, u_long); 387int opts_empty(SCR *, int, int); 388void opts_dump(SCR *, enum optdisp); 389int opts_save(SCR *, FILE *); 390OPTLIST const *opts_search(CHAR_T *); 391void opts_nomatch(SCR *, CHAR_T *); 392int opts_copy(SCR *, SCR *); 393void opts_free(SCR *); 394int f_altwerase(SCR *, OPTION *, char *, u_long *); 395int f_columns(SCR *, OPTION *, char *, u_long *); 396int f_lines(SCR *, OPTION *, char *, u_long *); 397int f_lisp(SCR *, OPTION *, char *, u_long *); 398int f_msgcat(SCR *, OPTION *, char *, u_long *); 399int f_print(SCR *, OPTION *, char *, u_long *); 400int f_readonly(SCR *, OPTION *, char *, u_long *); 401int f_recompile(SCR *, OPTION *, char *, u_long *); 402int f_reformat(SCR *, OPTION *, char *, u_long *); 403int f_ttywerase(SCR *, OPTION *, char *, u_long *); 404int f_w300(SCR *, OPTION *, char *, u_long *); 405int f_w1200(SCR *, OPTION *, char *, u_long *); 406int f_w9600(SCR *, OPTION *, char *, u_long *); 407int f_window(SCR *, OPTION *, char *, u_long *); 408int f_encoding(SCR *, OPTION *, char *, u_long *); 409int put(SCR *, CB *, CHAR_T *, MARK *, MARK *, int); 410int rcv_tmp(SCR *, EXF *, char *); 411int rcv_init(SCR *); 412int rcv_sync(SCR *, u_int); 413int rcv_list(SCR *); 414int rcv_read(SCR *, FREF *); 415int screen_init(GS *, SCR *, SCR **); 416int screen_end(SCR *); 417SCR *screen_next(SCR *); 418int f_search(SCR *, 419 MARK *, MARK *, CHAR_T *, size_t, CHAR_T **, u_int); 420int b_search(SCR *, 421 MARK *, MARK *, CHAR_T *, size_t, CHAR_T **, u_int); 422void search_busy(SCR *, busy_t); 423int seq_set(SCR *, CHAR_T *, 424 size_t, CHAR_T *, size_t, CHAR_T *, size_t, seq_t, int); 425int seq_delete(SCR *, CHAR_T *, size_t, seq_t); 426int seq_free(SEQ *); 427SEQ *seq_find 428 (SCR *, SEQ **, EVENT *, CHAR_T *, size_t, seq_t, int *); 429void seq_close(GS *); 430int seq_dump(SCR *, seq_t, int); 431int seq_save(SCR *, FILE *, char *, seq_t); 432int e_memcmp(CHAR_T *, EVENT *, size_t); 433void *binc(SCR *, void *, size_t *, size_t); 434int nonblank(SCR *, recno_t, size_t *); 435char *join(char *, char *); 436char *expanduser(char *); 437char *quote(char *); 438char *v_strdup(SCR *, const char *, size_t); 439CHAR_T *v_wstrdup(SCR *, const CHAR_T *, size_t); 440enum nresult nget_uslong(u_long *, const CHAR_T *, CHAR_T **, int); 441enum nresult nget_slong(long *, const CHAR_T *, CHAR_T **, int); 442void timepoint_steady(struct timespec *); 443void timepoint_system(struct timespec *); 444void TRACE(SCR *, const char *, ...); 445