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