Annotation of src/usr.bin/less/funcs.h, Revision 1.11
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);
41: extern void ch_ungetchar(int);
42: extern void end_logfile(void);
43: extern void sync_logfile(void);
44: extern int ch_seek(off_t);
45: extern int ch_end_seek(void);
46: extern int ch_beg_seek(void);
47: extern off_t ch_length(void);
48: extern off_t ch_tell(void);
49: extern int ch_forw_get(void);
50: extern int ch_back_get(void);
51: extern void ch_setbufspace(int);
52: extern void ch_flush(void);
53: extern int seekable(int);
54: extern void ch_set_eof(void);
55: extern void ch_init(int, int);
56: extern void ch_close(void);
57: extern int ch_getflags(void);
58: extern void init_charset(void);
59: extern int binary_char(LWCHAR);
60: extern int control_char(LWCHAR);
61: extern char *prchar(LWCHAR);
62: extern char *prutfchar(LWCHAR);
63: extern int utf_len(char);
64: extern int is_utf8_well_formed(const char *);
65: extern LWCHAR get_wchar(const char *);
66: extern void put_wchar(char **, LWCHAR);
67: extern LWCHAR step_char(char **, int, char *);
68: extern int is_composing_char(LWCHAR);
69: extern int is_ubin_char(LWCHAR);
70: extern int is_wide_char(LWCHAR);
71: extern int is_combining_char(LWCHAR, LWCHAR);
72: extern void cmd_reset(void);
73: extern void clear_cmd(void);
74: extern void cmd_putstr(char *);
75: extern int len_cmdbuf(void);
76: extern void set_mlist(void *, int);
77: extern void cmd_addhist(struct mlist *, const char *);
78: extern void cmd_accept(void);
79: extern int cmd_char(int);
80: extern LINENUM cmd_int(long *);
81: extern char *get_cmdbuf(void);
82: extern char *cmd_lastpattern(void);
83: extern void init_cmdhist(void);
84: extern void save_cmdhist(void);
85: extern int in_mca(void);
86: extern void dispversion(void);
87: extern int getcc(void);
88: extern void ungetcc(int);
89: extern void ungetsc(char *);
90: extern void commands(void);
91: extern int cvt_length(int);
92: extern int *cvt_alloc_chpos(int);
93: extern void cvt_text(char *, char *, int *, int *, int);
94: extern void init_cmds(void);
95: extern void add_fcmd_table(char *, int);
96: extern void add_ecmd_table(char *, int);
97: extern int fcmd_decode(const char *, char **);
98: extern int ecmd_decode(const char *, char **);
99: extern char *lgetenv(char *);
100: extern int lesskey(char *, int);
101: extern void add_hometable(char *, char *, int);
102: extern int editchar(int, int);
103: extern void init_textlist(struct textlist *, char *);
104: extern char *forw_textlist(struct textlist *, char *);
105: extern char *back_textlist(struct textlist *, char *);
106: extern int edit(char *);
107: extern int edit_ifile(IFILE);
108: extern int edit_list(char *);
109: extern int edit_first(void);
110: extern int edit_last(void);
111: extern int edit_next(int);
112: extern int edit_prev(int);
113: extern int edit_index(int);
114: extern IFILE save_curr_ifile(void);
115: extern void unsave_ifile(IFILE);
116: extern void reedit_ifile(IFILE);
117: extern void reopen_curr_ifile(void);
118: extern int edit_stdin(void);
119: extern void cat_file(void);
120: extern void use_logfile(char *);
121: extern char *shell_unquote(char *);
122: extern char *get_meta_escape(void);
123: extern char *shell_quote(const char *);
124: extern char *homefile(char *);
125: extern char *fexpand(char *);
126: extern char *fcomplete(char *);
127: extern int bin_file(int f);
128: extern char *lglob(char *);
129: extern char *open_altfile(char *, int *, void **);
130: extern void close_altfile(char *, char *, void *);
131: extern int is_dir(char *);
132: extern char *bad_file(char *);
133: extern off_t filesize(int);
134: extern char *last_component(char *);
135: extern int eof_displayed(void);
136: extern int entire_file_displayed(void);
137: extern void squish_check(void);
138: extern void forw(int, off_t, int, int, int);
139: extern void back(int, off_t, int, int);
140: extern void forward(int, int, int);
141: extern void backward(int, int, int);
142: extern int get_back_scroll(void);
143: extern void del_ifile(IFILE);
144: extern IFILE next_ifile(IFILE);
145: extern IFILE prev_ifile(IFILE);
146: extern IFILE getoff_ifile(IFILE);
147: extern int nifile(void);
148: extern IFILE get_ifile(char *, IFILE);
149: extern char *get_filename(IFILE);
150: extern int get_index(IFILE);
151: extern void store_pos(IFILE, struct scrpos *);
152: extern void get_pos(IFILE, struct scrpos *);
153: extern int opened(IFILE);
154: extern void hold_ifile(IFILE, int);
155: extern int held_ifile(IFILE);
156: extern void set_open(IFILE);
157: extern void *get_filestate(IFILE);
158: extern void set_filestate(IFILE, void *);
159: extern off_t forw_line(off_t);
160: extern off_t back_line(off_t);
161: extern void set_attnpos(off_t);
162: extern void jump_forw(void);
163: extern void jump_back(LINENUM);
164: extern void repaint(void);
165: extern void jump_percent(int, long);
166: extern void jump_line_loc(off_t, int);
167: extern void jump_loc(off_t, int);
168: extern void init_line(void);
169: extern int is_ascii_char(LWCHAR);
170: extern void prewind(void);
171: extern void plinenum(LINENUM);
172: extern void pshift_all(void);
173: extern int is_ansi_end(LWCHAR);
174: extern int is_ansi_middle(LWCHAR);
175: extern int pappend(char, off_t);
176: extern int pflushmbc(void);
177: extern void pdone(int, int);
178: extern void set_status_col(char);
179: extern int gline(int, int *);
180: extern void null_line(void);
181: extern off_t forw_raw_line(off_t, char **, int *);
182: extern off_t back_raw_line(off_t, char **, int *);
183: extern void clr_linenum(void);
184: extern void add_lnum(LINENUM, off_t);
185: extern LINENUM find_linenum(off_t);
186: extern off_t find_pos(LINENUM);
187: extern LINENUM currline(int);
188: extern void lsystem(const char *, const char *);
189: extern int pipe_mark(int, char *);
190: extern void init_mark(void);
191: extern int badmark(int);
192: extern void setmark(int);
193: extern void lastmark(void);
194: extern void gomark(int);
195: extern off_t markpos(int);
196: extern void unmark(IFILE);
197: extern void opt_o(int, char *);
198: extern void opt__O(int, char *);
199: extern void opt_j(int, char *);
200: extern void calc_jump_sline(void);
201: extern void opt_shift(int, char *);
202: extern void calc_shift_count(void);
203: extern void opt_k(int, char *);
204: extern void opt_t(int, char *);
205: extern void opt__T(int, char *);
206: extern void opt_p(int, char *);
207: extern void opt__P(int, char *);
208: extern void opt_b(int, char *);
209: extern void opt_i(int, char *);
210: extern void opt__V(int, char *);
211: extern void opt_x(int, char *);
212: extern void opt_quote(int, char *);
213: extern void opt_query(int, char *);
214: extern int get_swindow(void);
215: extern char *propt(int);
216: extern void scan_option(char *);
217: extern void toggle_option(struct loption *, int, char *, int);
218: extern int opt_has_param(struct loption *);
219: extern char *opt_prompt(struct loption *);
220: extern int isoptpending(void);
221: extern void nopendopt(void);
222: extern int getnum(char **, char *, int *);
223: extern long getfraction(char **, char *, int *);
224: extern int get_quit_at_eof(void);
225: extern void init_option(void);
226: extern struct loption *findopt(int);
227: extern struct loption *findopt_name(char **, char **, int *);
228: extern int iread(int, unsigned char *, unsigned int);
229: extern char *errno_message(char *);
230: extern int percentage(off_t, off_t);
231: extern off_t percent_pos(off_t, int, long);
232: extern void put_line(void);
233: extern void flush(void);
234: extern int putchr(int);
235: extern void putstr(const char *);
236: extern void get_return(void);
237: extern void error(const char *, PARG *);
238: extern void ierror(const char *, PARG *);
239: extern int query(const char *, PARG *);
240: extern int compile_pattern(char *, int, regex_t **);
241: extern void uncompile_pattern(regex_t **);
242: extern int is_null_pattern(void *);
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 void close_getchr(void);
286: extern int getchr(void);
287: extern void *lsignal(int, void (*)(int));
288: extern char *helpfile(void);