Annotation of src/usr.bin/less/funcs.h, Revision 1.9
1.9 ! nicm 1: /*
! 2: * Copyright 2014 Garrett D'Amore <garrett@damore.org>
! 3: *
! 4: * This file is made available under the terms of the Less License.
! 5: */
! 6:
! 7: #include <regex.h>
! 8:
! 9: struct mlist;
! 10: struct loption;
! 11:
! 12: extern char *save(const char *);
! 13: extern void *ecalloc(int, unsigned int);
! 14: /*PRINTFLIKE1*/
! 15: extern char *easprintf(const char *, ...);
! 16: extern char *estrdup(const char *);
! 17: extern char *skipsp(char *);
! 18: extern int sprefix(char *, char *, int);
! 19: extern void quit(int);
! 20: extern void raw_mode(int);
! 21: extern char *special_key_str(int);
! 22: extern void get_term(void);
! 23: extern void init(void);
! 24: extern void deinit(void);
! 25: extern void home(void);
! 26: extern void add_line(void);
! 27: extern void lower_left(void);
! 28: extern void line_left(void);
! 29: extern void goto_line(int);
! 30: extern void vbell(void);
! 31: extern void ring_bell(void);
! 32: extern void do_clear(void);
! 33: extern void clear_eol(void);
! 34: extern void clear_bot(void);
! 35: extern void at_enter(int);
! 36: extern void at_exit(void);
! 37: extern void at_switch(int);
! 38: extern int is_at_equiv(int, int);
! 39: extern int apply_at_specials(int);
! 40: extern void putbs(void);
! 41: extern void match_brac(int, int, int, int);
! 42: extern void ch_ungetchar(int);
! 43: extern void end_logfile(void);
! 44: extern void sync_logfile(void);
! 45: extern int ch_seek(off_t);
! 46: extern int ch_end_seek(void);
! 47: extern int ch_beg_seek(void);
! 48: extern off_t ch_length(void);
! 49: extern off_t ch_tell(void);
! 50: extern int ch_forw_get(void);
! 51: extern int ch_back_get(void);
! 52: extern void ch_setbufspace(int);
! 53: extern void ch_flush(void);
! 54: extern int seekable(int);
! 55: extern void ch_set_eof(void);
! 56: extern void ch_init(int, int);
! 57: extern void ch_close(void);
! 58: extern int ch_getflags(void);
! 59: extern void init_charset(void);
! 60: extern int binary_char(LWCHAR);
! 61: extern int control_char(LWCHAR);
! 62: extern char *prchar(LWCHAR);
! 63: extern char *prutfchar(LWCHAR);
! 64: extern int utf_len(char);
! 65: extern int is_utf8_well_formed(const char *);
! 66: extern LWCHAR get_wchar(const char *);
! 67: extern void put_wchar(char **, LWCHAR);
! 68: extern LWCHAR step_char(char **, int, char *);
! 69: extern int is_composing_char(LWCHAR);
! 70: extern int is_ubin_char(LWCHAR);
! 71: extern int is_wide_char(LWCHAR);
! 72: extern int is_combining_char(LWCHAR, LWCHAR);
! 73: extern void cmd_reset(void);
! 74: extern void clear_cmd(void);
! 75: extern void cmd_putstr(char *);
! 76: extern int len_cmdbuf(void);
! 77: extern void set_mlist(void *, int);
! 78: extern void cmd_addhist(struct mlist *, const char *);
! 79: extern void cmd_accept(void);
! 80: extern int cmd_char(int);
! 81: extern LINENUM cmd_int(long *);
! 82: extern char *get_cmdbuf(void);
! 83: extern char *cmd_lastpattern(void);
! 84: extern void init_cmdhist(void);
! 85: extern void save_cmdhist(void);
! 86: extern int in_mca(void);
! 87: extern void dispversion(void);
! 88: extern int getcc(void);
! 89: extern void ungetcc(int);
! 90: extern void ungetsc(char *);
! 91: extern void commands(void);
! 92: extern int cvt_length(int);
! 93: extern int *cvt_alloc_chpos(int);
! 94: extern void cvt_text(char *, char *, int *, int *, int);
! 95: extern void init_cmds(void);
! 96: extern void add_fcmd_table(char *, int);
! 97: extern void add_ecmd_table(char *, int);
! 98: extern int fcmd_decode(const char *, char **);
! 99: extern int ecmd_decode(const char *, char **);
! 100: extern char *lgetenv(char *);
! 101: extern int lesskey(char *, int);
! 102: extern void add_hometable(char *, char *, int);
! 103: extern int editchar(int, int);
! 104: extern void init_textlist(struct textlist *, char *);
! 105: extern char *forw_textlist(struct textlist *, char *);
! 106: extern char *back_textlist(struct textlist *, char *);
! 107: extern int edit(char *);
! 108: extern int edit_ifile(IFILE);
! 109: extern int edit_list(char *);
! 110: extern int edit_first(void);
! 111: extern int edit_last(void);
! 112: extern int edit_next(int);
! 113: extern int edit_prev(int);
! 114: extern int edit_index(int);
! 115: extern IFILE save_curr_ifile(void);
! 116: extern void unsave_ifile(IFILE);
! 117: extern void reedit_ifile(IFILE);
! 118: extern void reopen_curr_ifile(void);
! 119: extern int edit_stdin(void);
! 120: extern void cat_file(void);
! 121: extern void use_logfile(char *);
! 122: extern char *shell_unquote(char *);
! 123: extern char *get_meta_escape(void);
! 124: extern char *shell_quote(const char *);
! 125: extern char *homefile(char *);
! 126: extern char *fexpand(char *);
! 127: extern char *fcomplete(char *);
! 128: extern int bin_file(int f);
! 129: extern char *lglob(char *);
! 130: extern char *open_altfile(char *, int *, void **);
! 131: extern void close_altfile(char *, char *, void *);
! 132: extern int is_dir(char *);
! 133: extern char *bad_file(char *);
! 134: extern off_t filesize(int);
! 135: extern char *last_component(char *);
! 136: extern int eof_displayed(void);
! 137: extern int entire_file_displayed(void);
! 138: extern void squish_check(void);
! 139: extern void forw(int, off_t, int, int, int);
! 140: extern void back(int, off_t, int, int);
! 141: extern void forward(int, int, int);
! 142: extern void backward(int, int, int);
! 143: extern int get_back_scroll(void);
! 144: extern void del_ifile(IFILE);
! 145: extern IFILE next_ifile(IFILE);
! 146: extern IFILE prev_ifile(IFILE);
! 147: extern IFILE getoff_ifile(IFILE);
! 148: extern int nifile(void);
! 149: extern IFILE get_ifile(char *, IFILE);
! 150: extern char *get_filename(IFILE);
! 151: extern int get_index(IFILE);
! 152: extern void store_pos(IFILE, struct scrpos *);
! 153: extern void get_pos(IFILE, struct scrpos *);
! 154: extern int opened(IFILE);
! 155: extern void hold_ifile(IFILE, int);
! 156: extern int held_ifile(IFILE);
! 157: extern void set_open(IFILE);
! 158: extern void *get_filestate(IFILE);
! 159: extern void set_filestate(IFILE, void *);
! 160: extern off_t forw_line(off_t);
! 161: extern off_t back_line(off_t);
! 162: extern void set_attnpos(off_t);
! 163: extern void jump_forw(void);
! 164: extern void jump_back(LINENUM);
! 165: extern void repaint(void);
! 166: extern void jump_percent(int, long);
! 167: extern void jump_line_loc(off_t, int);
! 168: extern void jump_loc(off_t, int);
! 169: extern void init_line(void);
! 170: extern int is_ascii_char(LWCHAR);
! 171: extern void prewind(void);
! 172: extern void plinenum(LINENUM);
! 173: extern void pshift_all(void);
! 174: extern int is_ansi_end(LWCHAR);
! 175: extern int is_ansi_middle(LWCHAR);
! 176: extern int pappend(char, off_t);
! 177: extern int pflushmbc(void);
! 178: extern void pdone(int, int);
! 179: extern void set_status_col(char);
! 180: extern int gline(int, int *);
! 181: extern void null_line(void);
! 182: extern off_t forw_raw_line(off_t, char **, int *);
! 183: extern off_t back_raw_line(off_t, char **, int *);
! 184: extern void clr_linenum(void);
! 185: extern void add_lnum(LINENUM, off_t);
! 186: extern LINENUM find_linenum(off_t);
! 187: extern off_t find_pos(LINENUM);
! 188: extern LINENUM currline(int);
! 189: extern void lsystem(const char *, const char *);
! 190: extern int pipe_mark(int, char *);
! 191: extern void init_mark(void);
! 192: extern int badmark(int);
! 193: extern void setmark(int);
! 194: extern void lastmark(void);
! 195: extern void gomark(int);
! 196: extern off_t markpos(int);
! 197: extern void unmark(IFILE);
! 198: extern void opt_o(int, char *);
! 199: extern void opt__O(int, char *);
! 200: extern void opt_j(int, char *);
! 201: extern void calc_jump_sline(void);
! 202: extern void opt_shift(int, char *);
! 203: extern void calc_shift_count(void);
! 204: extern void opt_k(int, char *);
! 205: extern void opt_t(int, char *);
! 206: extern void opt__T(int, char *);
! 207: extern void opt_p(int, char *);
! 208: extern void opt__P(int, char *);
! 209: extern void opt_b(int, char *);
! 210: extern void opt_i(int, char *);
! 211: extern void opt__V(int, char *);
! 212: extern void opt_x(int, char *);
! 213: extern void opt_quote(int, char *);
! 214: extern void opt_query(int, char *);
! 215: extern int get_swindow(void);
! 216: extern char *propt(int);
! 217: extern void scan_option(char *);
! 218: extern void toggle_option(struct loption *, int, char *, int);
! 219: extern int opt_has_param(struct loption *);
! 220: extern char *opt_prompt(struct loption *);
! 221: extern int isoptpending(void);
! 222: extern void nopendopt(void);
! 223: extern int getnum(char **, char *, int *);
! 224: extern long getfraction(char **, char *, int *);
! 225: extern int get_quit_at_eof(void);
! 226: extern void init_option(void);
! 227: extern struct loption *findopt(int);
! 228: extern struct loption *findopt_name(char **, char **, int *);
! 229: extern int iread(int, unsigned char *, unsigned int);
! 230: extern long get_time(void);
! 231: extern char *errno_message(char *);
! 232: extern int percentage(off_t, off_t);
! 233: extern off_t percent_pos(off_t, int, long);
! 234: extern void put_line(void);
! 235: extern void flush(void);
! 236: extern int putchr(int);
! 237: extern void putstr(const char *);
! 238: extern void get_return(void);
! 239: extern void error(const char *, PARG *);
! 240: extern void ierror(const char *, PARG *);
! 241: extern int query(const char *, PARG *);
! 242: extern int compile_pattern(char *, int, regex_t **);
! 243: extern void uncompile_pattern(regex_t **);
! 244: extern int is_null_pattern(void *);
! 245: extern int match_pattern(void *, char *, char *, int, char **, char **,
! 246: int, int);
! 247: extern off_t position(int);
! 248: extern void add_forw_pos(off_t);
! 249: extern void add_back_pos(off_t);
! 250: extern void pos_clear(void);
! 251: extern void pos_init(void);
! 252: extern int onscreen(off_t);
! 253: extern int empty_screen(void);
! 254: extern int empty_lines(int, int);
! 255: extern void get_scrpos(struct scrpos *);
! 256: extern int adjsline(int);
! 257: extern void init_prompt(void);
! 258: extern char *pr_expand(const char *, int);
! 259: extern char *eq_message(void);
! 260: extern char *prompt_string(void);
! 261: extern char *wait_message(void);
! 262: extern void init_search(void);
! 263: extern void repaint_hilite(int);
! 264: extern void clear_attn(void);
! 265: extern void undo_search(void);
! 266: extern void clr_hilite(void);
! 267: extern int is_filtered(off_t);
! 268: extern int is_hilited(off_t, off_t, int, int *);
! 269: extern void chg_caseless(void);
! 270: extern void chg_hilite(void);
! 271: extern int search(int, char *, int);
! 272: extern void prep_hilite(off_t, off_t, int);
! 273: extern void set_filter_pattern(char *, int);
! 274: extern int is_filtering(void);
! 275: extern void sigwinch(int);
! 276: extern void init_signals(int);
! 277: extern void psignals(void);
! 278: extern void cleantags(void);
! 279: extern void findtag(char *);
! 280: extern off_t tagsearch(void);
! 281: extern char *nexttag(int);
! 282: extern char *prevtag(int);
! 283: extern int ntags(void);
! 284: extern int curr_tag(void);
! 285: extern int edit_tagfile(void);
! 286: extern void open_getchr(void);
! 287: extern void close_getchr(void);
! 288: extern int getchr(void);
! 289: extern void *lsignal(int, void (*)(int));
! 290: extern char *helpfile(void);