Home | History | Annotate | Line # | Download | only in dist
funcs.h revision 1.5
      1 /*	$NetBSD: funcs.h,v 1.5 2023/10/06 05:49:49 simonb Exp $	*/
      2 
      3 public char * save(constant char *s);
      4 public void out_of_memory(void);
      5 public void * ecalloc(int count, unsigned int size);
      6 public char * skipsp(char *s);
      7 public int sprefix(char *ps, char *s, int uppercase);
      8 public void quit(int status);
      9 public void raw_mode(int on);
     10 public void scrsize(void);
     11 public char * special_key_str(int key);
     12 public void get_term(void);
     13 public void init_mouse(void);
     14 public void deinit_mouse(void);
     15 public void init(void);
     16 public void deinit(void);
     17 public int interactive(void);
     18 public void home(void);
     19 public void dump_screen(void);
     20 public void add_line(void);
     21 public void remove_top(int n);
     22 public void win32_scroll_up(int n);
     23 public void lower_left(void);
     24 public void line_left(void);
     25 public void check_winch(void);
     26 public void goto_line(int sindex);
     27 public void vbell(void);
     28 public void bell(void);
     29 public void clear(void);
     30 public void clear_eol(void);
     31 public void clear_bot(void);
     32 public COLOR_TYPE parse_color(char *str, int *p_fg, int *p_bg);
     33 public void at_enter(int attr);
     34 public void at_exit(void);
     35 public void at_switch(int attr);
     36 public int is_at_equiv(int attr1, int attr2);
     37 public int apply_at_specials(int attr);
     38 public void putbs(void);
     39 public int win32_kbhit(void);
     40 public char WIN32getch(void);
     41 public void WIN32ungetch(int ch);
     42 public void WIN32setcolors(int fg, int bg);
     43 public void WIN32textout(char *text, int len);
     44 public void match_brac(char obrac, char cbrac, int forwdir, int n);
     45 public void ch_ungetchar(int c);
     46 public void end_logfile(void);
     47 public void sync_logfile(void);
     48 public int ch_seek(POSITION pos);
     49 public int ch_end_seek(void);
     50 public int ch_end_buffer_seek(void);
     51 public int ch_beg_seek(void);
     52 public POSITION ch_length(void);
     53 public POSITION ch_tell(void);
     54 public int ch_forw_get(void);
     55 public int ch_back_get(void);
     56 public void ch_setbufspace(int bufspace);
     57 public void ch_flush(void);
     58 public int seekable(int f);
     59 public void ch_set_eof(void);
     60 public void ch_init(int f, int flags);
     61 public void ch_close(void);
     62 public int ch_getflags(void);
     63 public void setfmt(char *s, char **fmtvarptr, int *attrptr, char *default_fmt, int for_printf);
     64 public void init_charset(void);
     65 public int binary_char(LWCHAR c);
     66 public int control_char(LWCHAR c);
     67 public char * prchar(LWCHAR c);
     68 public char * prutfchar(LWCHAR ch);
     69 public int utf_len(int ch);
     70 public int is_utf8_well_formed(char *ss, int slen);
     71 public void utf_skip_to_lead(char **pp, char *limit);
     72 public LWCHAR get_wchar(constant char *p);
     73 public void put_wchar(char **pp, LWCHAR ch);
     74 public LWCHAR step_char(char **pp, signed int dir, constant char *limit);
     75 public int is_composing_char(LWCHAR ch);
     76 public int is_ubin_char(LWCHAR ch);
     77 public int is_wide_char(LWCHAR ch);
     78 public int is_combining_char(LWCHAR ch1, LWCHAR ch2);
     79 public void cmd_reset(void);
     80 public void clear_cmd(void);
     81 public void cmd_putstr(constant char *s);
     82 public int len_cmdbuf(void);
     83 public void cmd_repaint(constant char *old_cp);
     84 public void set_mlist(void *mlist, int cmdflags);
     85 public void cmd_addhist(struct mlist *mlist, constant char *cmd, int modified);
     86 public void cmd_accept(void);
     87 public int cmd_char(int c);
     88 public LINENUM cmd_int(long *frac);
     89 public char * get_cmdbuf(void);
     90 public char * cmd_lastpattern(void);
     91 public void init_cmdhist(void);
     92 public void save_cmdhist(void);
     93 public int in_mca(void);
     94 public int norm_search_type(int st);
     95 public void dispversion(void);
     96 public int getcc(void);
     97 public void ungetcc(LWCHAR c);
     98 public void ungetcc_back(LWCHAR c);
     99 public void ungetsc(char *s);
    100 public LWCHAR peekcc(void);
    101 public void commands(void);
    102 public int cvt_length(int len, int ops);
    103 public int * cvt_alloc_chpos(int len);
    104 public void cvt_text(char *odst, char *osrc, int *chpos, int *lenp, int ops);
    105 public void expand_cmd_tables(void);
    106 public void init_cmds(void);
    107 public void add_fcmd_table(char *buf, int len);
    108 public void add_ecmd_table(char *buf, int len);
    109 public int fcmd_decode(char *cmd, char **sp);
    110 public int ecmd_decode(char *cmd, char **sp);
    111 public char * lgetenv(char *var);
    112 public int isnullenv(char *s);
    113 public int lesskey(char *filename, int sysvar);
    114 public int lesskey_src(char *filename, int sysvar);
    115 public int add_hometable(int (*call_lesskey)(char *, int), char *envname, char *def_filename, int sysvar);
    116 public int editchar(int c, int flags);
    117 public void init_textlist(struct textlist *tlist, char *str);
    118 public char * forw_textlist(struct textlist *tlist, char *prev);
    119 public char * back_textlist(struct textlist *tlist, char *prev);
    120 public void close_altpipe(IFILE ifile);
    121 public void check_altpipe_error(void);
    122 public int edit(char *filename);
    123 public int edit_ifile(IFILE ifile);
    124 public int edit_list(char *filelist);
    125 public int edit_first(void);
    126 public int edit_last(void);
    127 public int edit_next(int n);
    128 public int edit_prev(int n);
    129 public int edit_index(int n);
    130 public IFILE save_curr_ifile(void);
    131 public void unsave_ifile(IFILE save_ifile);
    132 public void reedit_ifile(IFILE save_ifile);
    133 public void reopen_curr_ifile(void);
    134 public int edit_stdin(void);
    135 public void cat_file(void);
    136 public void use_logfile(char *filename);
    137 public char * shell_unquote(char *str);
    138 public char * get_meta_escape(void);
    139 public char * shell_quote(char *s);
    140 public char * dirfile(char *dirname, char *filename, int must_exist);
    141 public char * homefile(char *filename);
    142 public char * fexpand(char *s);
    143 public char * fcomplete(char *s);
    144 public int bin_file(int f);
    145 public char * lglob(char *filename);
    146 public int is_fake_pathname(char *path);
    147 public char * lrealpath(char *path);
    148 public char * open_altfile(char *filename, int *pf, void **pfd);
    149 public void close_altfile(char *altfilename, char *filename);
    150 public int is_dir(char *filename);
    151 public char * bad_file(char *filename);
    152 public POSITION filesize(int f);
    153 public int curr_ifile_changed(void);
    154 public char * shell_coption(void);
    155 public char * last_component(char *name);
    156 public void eof_bell(void);
    157 public int eof_displayed(void);
    158 public int entire_file_displayed(void);
    159 public void squish_check(void);
    160 public int overlay_header(void);
    161 public void forw(int n, POSITION pos, int force, int only_last, int nblank);
    162 public void back(int n, POSITION pos, int force, int only_last);
    163 public void forward(int n, int force, int only_last);
    164 public void backward(int n, int force, int only_last);
    165 public int get_back_scroll(void);
    166 public int get_one_screen(void);
    167 public void del_ifile(IFILE h);
    168 public IFILE next_ifile(IFILE h);
    169 public IFILE prev_ifile(IFILE h);
    170 public IFILE getoff_ifile(IFILE ifile);
    171 public int nifile(void);
    172 public IFILE get_ifile(char *filename, IFILE prev);
    173 public char * get_filename(IFILE ifile);
    174 public char * get_real_filename(IFILE ifile);
    175 public int get_index(IFILE ifile);
    176 public void store_pos(IFILE ifile, struct scrpos *scrpos);
    177 public void get_pos(IFILE ifile, struct scrpos *scrpos);
    178 public void set_open(IFILE ifile);
    179 public int opened(IFILE ifile);
    180 public void hold_ifile(IFILE ifile, int incr);
    181 public int held_ifile(IFILE ifile);
    182 public void * get_filestate(IFILE ifile);
    183 public void set_filestate(IFILE ifile, void *filestate);
    184 public void set_altpipe(IFILE ifile, void *p);
    185 public void *get_altpipe(IFILE ifile);
    186 public void set_altfilename(IFILE ifile, char *altfilename);
    187 public char * get_altfilename(IFILE ifile);
    188 public void if_dump(void);
    189 public POSITION forw_line_seg(POSITION curr_pos, int skipeol, int rscroll, int nochop);
    190 public POSITION forw_line(POSITION curr_pos);
    191 public POSITION back_line(POSITION curr_pos);
    192 public void set_attnpos(POSITION pos);
    193 public void jump_forw(void);
    194 public void jump_forw_buffered(void);
    195 public void jump_back(LINENUM linenum);
    196 public void repaint(void);
    197 public void jump_percent(int percent, long fraction);
    198 public void jump_line_loc(POSITION pos, int sline);
    199 public void jump_loc(POSITION pos, int sline);
    200 public void init_line(void);
    201 public int is_ascii_char(LWCHAR ch);
    202 public POSITION line_position(void);
    203 public void prewind(void);
    204 public void plinestart(POSITION pos);
    205 public int line_pfx_width(void);
    206 public void pshift_all(void);
    207 public int pwidth(LWCHAR ch, int a, LWCHAR prev_ch, int prev_a);
    208 public void savec(void);
    209 public void loadc(void);
    210 public int is_ansi_end(LWCHAR ch);
    211 public int is_ansi_middle(LWCHAR ch);
    212 public void skip_ansi(struct ansi_state *pansi, char **pp, constant char *limit);
    213 public struct ansi_state * ansi_start(LWCHAR ch);
    214 public int ansi_step(struct ansi_state *pansi, LWCHAR ch);
    215 public void ansi_done(struct ansi_state *pansi);
    216 public int pappend(int c, POSITION pos);
    217 public int pflushmbc(void);
    218 public void pdone(int endline, int chopped, int forw);
    219 public void set_attr_line(int a);
    220 public void set_status_col(char c, int attr);
    221 public int gline(int i, int *ap);
    222 public void null_line(void);
    223 public POSITION forw_raw_line(POSITION curr_pos, char **linep, int *line_lenp);
    224 public POSITION back_raw_line(POSITION curr_pos, char **linep, int *line_lenp);
    225 public int skip_columns(int cols, char **linep, int *line_lenp);
    226 public void load_line(constant char *str);
    227 public int rrshift(void);
    228 public int set_color_map(int attr, char *colorstr);
    229 public char * get_color_map(int attr);
    230 public void clr_linenum(void);
    231 public void add_lnum(LINENUM linenum, POSITION pos);
    232 public LINENUM find_linenum(POSITION pos);
    233 public POSITION find_pos(LINENUM linenum);
    234 public LINENUM currline(int where);
    235 public void scan_eof(void);
    236 public LINENUM vlinenum(LINENUM linenum);
    237 public void lsystem(char *cmd, char *donemsg);
    238 public int pipe_mark(int c, char *cmd);
    239 public int pipe_data(char *cmd, POSITION spos, POSITION epos);
    240 public void init_mark(void);
    241 public int badmark(LWCHAR c);
    242 public void setmark(LWCHAR c, int where);
    243 public void clrmark(LWCHAR c);
    244 public void lastmark(void);
    245 public void gomark(LWCHAR c);
    246 public POSITION markpos(LWCHAR c);
    247 public char posmark(POSITION pos);
    248 public void unmark(IFILE ifile);
    249 public void mark_check_ifile(IFILE ifile);
    250 public void save_marks(FILE *fout, char *hdr);
    251 public void restore_mark(char *line);
    252 public void opt_o(int type, char *s);
    253 public void opt__O(int type, char *s);
    254 public void opt_j(int type, char *s);
    255 public void calc_jump_sline(void);
    256 public void opt_shift(int type, char *s);
    257 public void calc_shift_count(void);
    258 public void opt_k(int type, char *s);
    259 public void opt_ks(int type, char *s);
    260 public void opt_t(int type, char *s);
    261 public void opt__T(int type, char *s);
    262 public void opt_p(int type, char *s);
    263 public void opt__P(int type, char *s);
    264 public void opt_b(int type, char *s);
    265 public void opt_i(int type, char *s);
    266 public void opt__V(int type, char *s);
    267 public void opt_D(int type, char *s);
    268 public void set_tabs(char *s, int len);
    269 public void opt_x(int type, char *s);
    270 public void opt_quote(int type, char *s);
    271 public void opt_rscroll(int type, char *s);
    272 public void opt_query(int type, char *s);
    273 public void opt_mousecap(int type, char *s);
    274 public void opt_wheel_lines(int type, char *s);
    275 public void opt_linenum_width(int type, char *s);
    276 public void opt_status_col_width(int type, char *s);
    277 public void opt_filesize(int type, char *s);
    278 public void opt_intr(int type, char *s);
    279 public void opt_header(int type, char *s);
    280 public void opt_search_type(int type, char *s);
    281 public void opt_ttyin_name(int type, char *s);
    282 public int chop_line(void);
    283 public int get_swindow(void);
    284 public char * propt(int c);
    285 public void scan_option(char *s);
    286 public void toggle_option(struct loption *o, int lower, char *s, int how_toggle);
    287 public int opt_has_param(struct loption *o);
    288 public char * opt_prompt(struct loption *o);
    289 public char * opt_toggle_disallowed(int c);
    290 public int isoptpending(void);
    291 public void nopendopt(void);
    292 public int getnum(char **sp, char *printopt, int *errp);
    293 public long getfraction(char **sp, char *printopt, int *errp);
    294 public int get_quit_at_eof(void);
    295 public void init_option(void);
    296 public struct loption * findopt(int c);
    297 public struct loption * findopt_name(char **p_optname, char **p_oname, int *p_err);
    298 public void init_poll(void);
    299 public int supports_ctrl_x(void);
    300 public int iread(int fd, unsigned char *buf, unsigned int len);
    301 public void intread(void);
    302 public time_type get_time(void);
    303 public char * errno_message(char *filename);
    304 public char * signal_message(int sig);
    305 public uintmax muldiv(uintmax val, uintmax num, uintmax den);
    306 public int percentage(POSITION num, POSITION den);
    307 public POSITION percent_pos(POSITION pos, int percent, long fraction);
    308 public int os9_signal(int type, RETSIGTYPE (*handler)());
    309 public void sleep_ms(int ms);
    310 public void put_line(void);
    311 public void flush(void);
    312 public void set_output(int fd);
    313 public int putchr(int c);
    314 public void clear_bot_if_needed(void);
    315 public void putstr(constant char *s);
    316 public int less_printf(char *fmt, PARG *parg);
    317 public void get_return(void);
    318 public void error(char *fmt, PARG *parg);
    319 public void ierror(char *fmt, PARG *parg);
    320 public void ixerror(char *fmt, PARG *parg);
    321 public int query(char *fmt, PARG *parg);
    322 public int compile_pattern(char *pattern, int search_type, int show_error, PATTERN_TYPE *comp_pattern);
    323 public void uncompile_pattern(PATTERN_TYPE *pattern);
    324 public int valid_pattern(char *pattern);
    325 public int is_null_pattern(PATTERN_TYPE pattern);
    326 public int match_pattern(PATTERN_TYPE pattern, char *tpattern, char *line, int line_len, char **sp, char **ep, int nsp, int notbol, int search_type);
    327 public char * pattern_lib_name(void);
    328 public POSITION position(int sindex);
    329 public void add_forw_pos(POSITION pos);
    330 public void add_back_pos(POSITION pos);
    331 public void pos_clear(void);
    332 public void pos_init(void);
    333 public int onscreen(POSITION pos);
    334 public int empty_screen(void);
    335 public int empty_lines(int s, int e);
    336 public void get_scrpos(struct scrpos *scrpos, int where);
    337 public int sindex_from_sline(int sline);
    338 public void init_prompt(void);
    339 public char * pr_expand(constant char *proto);
    340 public char * eq_message(void);
    341 public char * pr_string(void);
    342 public char * wait_message(void);
    343 public void init_search(void);
    344 public void repaint_hilite(int on);
    345 public void clear_attn(void);
    346 public void undo_search(int clear);
    347 public void clr_hlist(struct hilite_tree *anchor);
    348 public void clr_hilite(void);
    349 public void clr_filter(void);
    350 public int is_filtered(POSITION pos);
    351 public POSITION next_unfiltered(POSITION pos);
    352 public POSITION prev_unfiltered(POSITION pos);
    353 public int is_hilited_attr(POSITION pos, POSITION epos, int nohide, int *p_matches);
    354 public void chg_hilite(void);
    355 public void chg_caseless(void);
    356 public int search(int search_type, char *pattern, int n);
    357 public void prep_hilite(POSITION spos, POSITION epos, int maxlines);
    358 public void set_filter_pattern(char *pattern, int search_type);
    359 public int is_filtering(void);
    360 public RETSIGTYPE winch(int type);
    361 public void init_signals(int on);
    362 public void psignals(void);
    363 public void cleantags(void);
    364 public int gettagtype(void);
    365 public void findtag(char *tag);
    366 public POSITION tagsearch(void);
    367 public char * nexttag(int n);
    368 public char * prevtag(int n);
    369 public int ntags(void);
    370 public int curr_tag(void);
    371 public int edit_tagfile(void);
    372 public int open_tty(void);
    373 public void open_getchr(void);
    374 public void close_getchr(void);
    375 public int pclose(FILE *f);
    376 public int default_wheel_lines(void);
    377 public int getchr(void);
    378 public void xbuf_init(struct xbuffer *xbuf);
    379 public void xbuf_deinit(struct xbuffer *xbuf);
    380 public void xbuf_reset(struct xbuffer *xbuf);
    381 public void xbuf_add_byte(struct xbuffer *xbuf, unsigned char b);
    382 public void xbuf_add_data(struct xbuffer *xbuf, unsigned char *data, int len);
    383 public int xbuf_pop(struct xbuffer *buf);
    384 public void xbuf_set(struct xbuffer *dst, struct xbuffer *src);
    385 public char * xbuf_char_data(struct xbuffer *xbuf);
    386 public int help_ckd_add(void *r, uintmax a, uintmax b, int rsize, int rsigned);
    387 public int help_ckd_mul(void *r, uintmax a, uintmax b, int rsize, int rsigned);
    388