Annotation of src/usr.bin/less/funcs.h, Revision 1.16
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 void *ecalloc(int, unsigned int);
13: /*PRINTFLIKE1*/
14: extern char *easprintf(const char *, ...);
15: extern char *estrdup(const char *);
16: extern char *skipsp(char *);
17: extern int sprefix(char *, char *, int);
18: extern void quit(int);
19: extern void raw_mode(int);
20: extern char *special_key_str(int);
21: extern void get_term(void);
22: extern void init(void);
23: extern void deinit(void);
24: extern void home(void);
25: extern void add_line(void);
26: extern void lower_left(void);
27: extern void line_left(void);
28: extern void goto_line(int);
29: extern void vbell(void);
30: extern void ring_bell(void);
31: extern void do_clear(void);
32: extern void clear_eol(void);
33: extern void clear_bot(void);
34: extern void at_enter(int);
35: extern void at_exit(void);
36: extern void at_switch(int);
37: extern int is_at_equiv(int, int);
38: extern int apply_at_specials(int);
39: extern void putbs(void);
40: extern void match_brac(int, int, int, int);
1.15 nicm 41: extern int ch_get(void);
1.9 nicm 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);
1.16 ! mmcc 81: extern off_t cmd_int(long *);
1.9 nicm 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);
1.16 ! mmcc 164: extern void jump_back(off_t);
1.9 nicm 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);
1.16 ! mmcc 172: extern void plinenum(off_t);
1.9 nicm 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);
1.16 ! mmcc 185: extern void add_lnum(off_t, off_t);
! 186: extern off_t find_linenum(off_t);
! 187: extern off_t find_pos(off_t);
! 188: extern off_t currline(int);
1.9 nicm 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 char *errno_message(char *);
231: extern int percentage(off_t, off_t);
232: extern off_t percent_pos(off_t, int, long);
233: extern void put_line(void);
1.13 nicm 234: extern void flush(int);
1.9 nicm 235: extern int putchr(int);
236: extern void putstr(const char *);
237: extern void get_return(void);
238: extern void error(const char *, PARG *);
239: extern void ierror(const char *, PARG *);
240: extern int query(const char *, PARG *);
241: extern int compile_pattern(char *, int, regex_t **);
242: extern void uncompile_pattern(regex_t **);
243: extern int match_pattern(void *, char *, char *, int, char **, char **,
244: int, int);
245: extern off_t position(int);
246: extern void add_forw_pos(off_t);
247: extern void add_back_pos(off_t);
248: extern void pos_clear(void);
249: extern void pos_init(void);
250: extern int onscreen(off_t);
251: extern int empty_screen(void);
252: extern int empty_lines(int, int);
253: extern void get_scrpos(struct scrpos *);
254: extern int adjsline(int);
255: extern void init_prompt(void);
256: extern char *pr_expand(const char *, int);
257: extern char *eq_message(void);
258: extern char *prompt_string(void);
259: extern char *wait_message(void);
260: extern void init_search(void);
261: extern void repaint_hilite(int);
262: extern void clear_attn(void);
263: extern void undo_search(void);
264: extern void clr_hilite(void);
265: extern int is_filtered(off_t);
266: extern int is_hilited(off_t, off_t, int, int *);
267: extern void chg_caseless(void);
268: extern void chg_hilite(void);
269: extern int search(int, char *, int);
270: extern void prep_hilite(off_t, off_t, int);
271: extern void set_filter_pattern(char *, int);
272: extern int is_filtering(void);
273: extern void sigwinch(int);
274: extern void init_signals(int);
275: extern void psignals(void);
276: extern void cleantags(void);
277: extern void findtag(char *);
278: extern off_t tagsearch(void);
279: extern char *nexttag(int);
280: extern char *prevtag(int);
281: extern int ntags(void);
282: extern int curr_tag(void);
283: extern int edit_tagfile(void);
284: extern void open_getchr(void);
285: extern int getchr(void);
286: extern void *lsignal(int, void (*)(int));
287: extern char *helpfile(void);