freebsd-dev/contrib/less/funcs.h
Robert Watson 1ea316270f Currently, less(1) uses K&R prototypes, which both fails to provide useful
compiler-time type checking, and also causes problems for targets where
multiple incompatible calling conventions may be selected based on argument
types.  This change switches less(1) to ANSI prototypes.

While there, we also remove use of "register", and attempt to use "const" a
bit better now that the compiler can check argument types.

Reviewed by:	cem, emaste
MFC after:	3 weeks
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D10152
2017-03-31 21:29:43 +00:00

303 lines
12 KiB
C

public char * save (constant char *s);
public VOID_POINTER ecalloc (int count, unsigned int size);
public char * skipsp (char *s);
public char * skipnsp(char *s);
public int sprefix (char *ps, char *s, int uppercase);
public void quit (int status);
public void raw_mode (int on);
public void scrsize (void);
public char * special_key_str (int key);
public void get_term (void);
public void init (void);
public void deinit (void);
public void home (void);
public void add_line (void);
public void remove_top (int n);
public void win32_scroll_up (int n);
public void lower_left (void);
public void line_left (void);
public void check_winch (void);
public void goto_line (int slinenum);
public void vbell (void);
public void bell (void);
public void clear (void);
public void clear_eol (void);
public void clear_bot (void);
public void at_enter (int attr);
public void at_exit (void);
public void at_switch (int attr);
public int is_at_equiv (int attr1, int attr2);
public int apply_at_specials (int attr);
public void backspace (void);
public void putbs (void);
public char WIN32getch (int tty);
public void WIN32setcolors (int fg, int bg);
public void WIN32textout (char *text, int len);
public void match_brac(int obrac, int cbrac, int forwdir, int n);
public void ch_ungetchar (int c);
public void end_logfile (void);
public void sync_logfile (void);
public int ch_seek (POSITION pos);
public int ch_end_seek (void);
public int ch_end_buffer_seek (void);
public int ch_beg_seek (void);
public POSITION ch_length (void);
public POSITION ch_tell (void);
public int ch_forw_get (void);
public int ch_back_get (void);
public void ch_setbufspace (int bufspace);
public void ch_flush (void);
public int seekable (int f);
public void ch_set_eof (void);
public void ch_init (int f, int flags);
public void ch_close (void);
public int ch_getflags (void);
struct filestate;
public void ch_dump (struct filestate *fs);
public void init_charset (void);
public int binary_char (LWCHAR c);
public int control_char (LWCHAR c);
public char * prchar (LWCHAR c);
public char * prutfchar (LWCHAR ch);
public int utf_len (char ch);
public int is_utf8_well_formed (unsigned char *s, int slen);
public int utf_bin_count (unsigned char *data, int len);
public LWCHAR get_wchar (constant char *p);
public void put_wchar (char **pp, LWCHAR ch);
public LWCHAR step_char (constant char **pp, signed int dir, constant char *limit);
public int is_composing_char (LWCHAR ch);
public int is_ubin_char (LWCHAR ch);
public int is_wide_char (LWCHAR ch);
public int is_combining_char (LWCHAR ch1, LWCHAR ch2);
public void cmd_reset (void);
public void clear_cmd (void);
public void cmd_putstr (constant char *s);
public int len_cmdbuf (void);
public void set_mlist (constant void *mlist, int cmdflags);
struct mlist;
public void cmd_addhist (struct mlist *constant mlist, char *cmd, int modified);
public void cmd_accept (void);
public int cmd_char (int c);
public LINENUM cmd_int (long *frac);
public char * get_cmdbuf (void);
public char * cmd_lastpattern (void);
public void init_cmdhist (void);
public void save_cmdhist (void);
public int in_mca (void);
public void dispversion (void);
public int getcc (void);
public void ungetcc (int c);
public void ungetsc (char *s);
public void commands (void);
public int cvt_length (int len, int ops);
public int * cvt_alloc_chpos (int len);
public void cvt_text (char *odst, char *osrc, int *chpos, int *lenp, int ops);
public void init_cmds (void);
public void add_fcmd_table (char *buf, int len);
public void add_ecmd_table (char *buf, int len);
public int fcmd_decode (char *cmd, char **sp);
public int ecmd_decode (char *cmd, char **sp);
public char * lgetenv (char *var);
public int lesskey (char *filename, int sysvar);
public void add_hometable (char *envname, char *def_filename, int sysvar);
public int editchar (int c, int flags);
public void init_textlist (struct textlist *tlist, char *str);
public char * forw_textlist (struct textlist *tlist, char *prev);
public char * back_textlist (struct textlist *tlist, char *prev);
public int edit (char *filename);
public int edit_ifile (IFILE ifile);
public int edit_list (char *filelist);
public int edit_first (void);
public int edit_last (void);
public int edit_next (int n);
public int edit_prev (int n);
public int edit_index (int n);
public IFILE save_curr_ifile (void);
public void unsave_ifile (IFILE save_ifile);
public void reedit_ifile (IFILE save_ifiler);
public void reopen_curr_ifile (void);
public int edit_stdin (void);
public void cat_file (void);
public void use_logfile (char *filename);
public char * shell_unquote (char *str);
public char * get_meta_escape (void);
public char * shell_quote (char *s);
public char * homefile (char *filename);
public char * fexpand (char *s);
public char * fcomplete (char *s);
public int bin_file (int f);
public char * lglob (char *filename);
public char * open_altfile (char *filename, int *pf, void **pfd);
public void close_altfile (char *altfilename, char *filename, void *pipefd);
public int is_dir (char *filename);
public char * bad_file (char *filename);
public POSITION filesize (int f);
public char * shell_coption (void);
public char * last_component (char *name);
public int eof_displayed (void);
public int entire_file_displayed (void);
public void squish_check (void);
public void forw (int n, POSITION pos, int force, int only_last, int nblank);
public void back (int n, POSITION pos, int force, int only_last);
public void forward (int n, int force, int only_last);
public void backward (int n, int force, int only_last);
public int get_back_scroll (void);
public void del_ifile (IFILE h);
public IFILE next_ifile (IFILE h);
public IFILE prev_ifile (IFILE h);
public IFILE getoff_ifile (IFILE ifile);
public int nifile (void);
public IFILE get_ifile (char *filename, IFILE prev);
public char * get_filename (IFILE ifile);
public int get_index (IFILE ifile);
public void store_pos (IFILE ifile, struct scrpos *scrpos);
public void get_pos (IFILE ifile, struct scrpos *scrpos);
public void set_open (IFILE ifile);
public int opened (IFILE ifile);
public void hold_ifile (IFILE ifile, int incr);
public int held_ifile (IFILE ifile);
public void * get_filestate (IFILE ifile);
public void set_filestate (IFILE ifile, void *filestate);
public void if_dump (void);
public POSITION forw_line (POSITION curr_pos);
public POSITION back_line (POSITION curr_pos);
public void set_attnpos (POSITION pos);
public void jump_forw (void);
public void jump_forw_buffered (void);
public void jump_back (LINENUM linenum);
public void repaint (void);
public void jump_percent (int percent, long fraction);
public void jump_line_loc (POSITION pos, int sline);
public void jump_loc (POSITION pos, int sline);
public void init_line (void);
public int is_ascii_char (LWCHAR ch);
public void prewind (void);
public void plinenum (POSITION pos);
public void pshift_all (void);
public int is_ansi_end (LWCHAR ch);
public int is_ansi_middle (LWCHAR ch);
public int pappend (unsigned char c, POSITION pos);
public int pflushmbc (void);
public void pdone (int endline, int forw);
public void set_status_col (char c);
public int gline (int i, int *ap);
public void null_line (void);
public POSITION forw_raw_line (POSITION curr_pos, char **linep, int *line_lenp);
public POSITION back_raw_line (POSITION curr_pos, char **linep, int *line_lenp);
public void clr_linenum (void);
public void add_lnum (LINENUM linenum, POSITION pos);
public LINENUM find_linenum (POSITION pos);
public POSITION find_pos (LINENUM linenum);
public LINENUM currline (int where);
public void lsystem (char *cmd, char *donemsg);
public int pipe_mark (int c, char *cmd);
public int pipe_data (char *cmd, POSITION spos, POSITION epos);
public void init_mark (void);
public int badmark (int c);
public void setmark (int c);
public void lastmark (void);
public void gomark (int c);
public POSITION markpos (int c);
public void unmark (IFILE ifile);
public void opt_o (int type, char *s);
public void opt__O (int type, char *s);
public void opt_j (int type, char *s);
public void calc_jump_sline (void);
public void opt_shift (int type, char *s);
public void calc_shift_count (void);
public void opt_k (int type, char *s);
public void opt_t (int type, char *s);
public void opt__T (int type, char *s);
public void opt_p (int type, char *s);
public void opt__P (int type, char *s);
public void opt_b (int type, char *s);
public void opt_i (int type, char *s);
public void opt__V (int type, char *s);
public void opt_D (int type, char *s);
public void opt_x (int type, char *s);
public void opt_quote (int type, char *s);
public void opt_query (int type, char *s);
public int get_swindow (void);
public char * propt (int c);
public void scan_option (char *s);
struct loption;
public void toggle_option (struct loption *o, int lower, char *s, int how_toggle);
public int opt_has_param (struct loption *o);
public char * opt_prompt (struct loption *o);
public int isoptpending (void);
public void nopendopt (void);
public int getnum (char **sp, char *printopt, int *errp);
public long getfraction (char **sp, char *printopt, int *errp);
public int get_quit_at_eof (void);
public void init_option (void);
public struct loption * findopt (int c);
public struct loption * findopt_name (char **p_optname, char **p_oname, int *p_err);
public int iread (int fd, char *buf, unsigned int len);
public void intread (void);
public time_type get_time (void);
public char * errno_message (char *filename);
public int percentage (POSITION num, POSITION den);
public POSITION percent_pos (POSITION pos, int percent, long fraction);
public int os9_signal (int type, RETSIGTYPE (*handler)());
public void put_line (void);
public void flush (void);
public int putchr (int c);
public void putstr (constant char *s);
public void get_return (void);
public void error (char *fmt, PARG *parg);
public void ierror (char *fmt, PARG *parg);
public int query (char *fmt, PARG *parg);
public int compile_pattern (char *pattern, int search_type, void **comp_pattern);
public void uncompile_pattern (void **pattern);
public int valid_pattern (char *pattern);
public int is_null_pattern (void *pattern);
public int match_pattern (void *pattern, char *tpattern, char *line, int line_len, char **sp, char **ep, int notbol, int search_type);
public POSITION position (int where);
public void add_forw_pos (POSITION pos);
public void add_back_pos (POSITION pos);
public void pos_clear (void);
public void pos_init (void);
public int onscreen (POSITION pos);
public int empty_screen (void);
public int empty_lines (int s, int e);
public void get_scrpos (struct scrpos *scrpos);
public int adjsline (int sline);
public void init_prompt (void);
public char * pr_expand (constant char *proto, int maxwidth);
public char * eq_message (void);
public char * pr_string (void);
public char * wait_message (void);
public void init_search (void);
public void repaint_hilite (int on);
public void clear_attn (void);
public void undo_search (void);
struct hilite_tree;
public void clr_hlist (struct hilite_tree *anchor);
public void clr_hilite (void);
public void clr_filter (void);
public int is_filtered (POSITION pos);
public POSITION next_unfiltered (POSITION pos);
public POSITION prev_unfiltered (POSITION pos);
public int is_hilited (POSITION pos, POSITION epos, int nohide, int *p_matches);
public void chg_caseless (void);
public void chg_hilite (void);
public int search (int search_type, char *pattern, int n);
public void prep_hilite (POSITION spos, POSITION epos, int maxlines);
public void set_filter_pattern (char *pattern, int search_type);
public int is_filtering (void);
public RETSIGTYPE winch (int type);
public void init_signals (int on);
public void psignals (void);
public void cleantags (void);
public int gettagtype (void);
public void findtag (char *tag);
public POSITION tagsearch (void);
public char * nexttag (int n);
public char * prevtag (int n);
public int ntags (void);
public int curr_tag (void);
public int edit_tagfile (void);
public void open_getchr (void);
public void close_getchr (void);
public int getchr (void);