1 /* $NetBSD: extern.h,v 1.4 2009/10/21 01:07:44 snj Exp $ */ 2 3 /* 4 * Copyright (c) 1997 Christos Zoulas. All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * 1. Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 2. Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the 13 * documentation and/or other materials provided with the distribution. 14 * 15 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 */ 26 /* ch.c */ 27 int ch_seek __P((off_t)); 28 int ch_end_seek __P((void)); 29 int ch_beg_seek __P((void)); 30 off_t ch_length __P((void)); 31 off_t ch_tell __P((void)); 32 int ch_forw_get __P((void)); 33 int ch_back_get __P((void)); 34 void ch_init __P((int, int)); 35 int ch_addbuf __P((int)); 36 37 /* command.c */ 38 void start_mca __P((int, char *)); 39 int prompt __P((void)); 40 void commands __P((void)); 41 void editfile __P((void)); 42 void showlist __P((void)); 43 44 /* decode.c */ 45 void noprefix __P((void)); 46 int cmd_decode __P((int)); 47 int cmd_search __P((char *, char *)); 48 49 /* help.c */ 50 void help __P((void)); 51 52 /* input.c */ 53 off_t forw_line __P((off_t)); 54 off_t back_line __P((off_t)); 55 56 /* line.c */ 57 void prewind __P((void)); 58 int pappend __P((int)); 59 off_t forw_raw_line __P((off_t)); 60 off_t back_raw_line __P((off_t)); 61 62 /* linenum.c */ 63 void clr_linenum __P((void)); 64 void add_lnum __P((int, off_t)); 65 int find_linenum __P((off_t)); 66 int currline __P((int)); 67 68 /* main.c */ 69 int edit __P((char *)); 70 void next_file __P((int)); 71 void prev_file __P((int)); 72 int main __P((int, char **)); 73 char *save __P((char *)); 74 void quit __P((void)) __attribute__((noreturn)); 75 76 /* option.c */ 77 int option __P((int, char **)); 78 79 /* os.c */ 80 void lsystem __P((char *)); 81 int iread __P((int, char *, int)); 82 void intread __P((void)); 83 char *glob __P((char *)); 84 char *bad_file __P((char *, char *, u_int)); 85 void strtcpy __P((char *, char *, int)); 86 87 /* output.c */ 88 void put_line __P((void)); 89 void flush __P((void)); 90 void purge __P((void)); 91 int putchr __P((int)); 92 void putstr __P((char *)); 93 void error __P((char *)); 94 void ierror __P((char *)); 95 96 /* position.c */ 97 off_t position __P((int)); 98 void add_forw_pos __P((off_t)); 99 void add_back_pos __P((off_t)); 100 void copytable __P((void)); 101 void pos_clear __P((void)); 102 int onscreen __P((off_t)); 103 104 /* prim.c */ 105 void eof_check __P((void)); 106 void squish_check __P((void)); 107 void forw __P((int, off_t, int)); 108 void back __P((int, off_t, int)); 109 void forward __P((int, int)); 110 void backward __P((int, int)); 111 void prepaint __P((off_t)); 112 void repaint __P((void)); 113 void jump_forw __P((void)); 114 void jump_back __P((int)); 115 void jump_percent __P((int)); 116 void jump_loc __P((off_t)); 117 void init_mark __P((void)); 118 void setmark __P((int)); 119 void lastmark __P((void)); 120 void gomark __P((int)); 121 int get_back_scroll __P((void)); 122 int search __P((int, char *, int, int)); 123 124 /* screen.c */ 125 void raw_mode __P((int)); 126 void get_term __P((void)); 127 void init __P((void)); 128 void deinit __P((void)); 129 void home __P((void)); 130 void add_line __P((void)); 131 void lower_left __P((void)); 132 void bell __P((void)); 133 void clear __P((void)); 134 void clear_eol __P((void)); 135 void so_enter __P((void)); 136 void so_exit __P((void)); 137 void ul_enter __P((void)); 138 void ul_exit __P((void)); 139 void bo_enter __P((void)); 140 void bo_exit __P((void)); 141 void backspace __P((void)); 142 void putbs __P((void)); 143 144 /* signal.c */ 145 void winch __P((int)); 146 void init_signals __P((int)); 147 void psignals __P((void)); 148 149 /* ttyin.c */ 150 void open_getchr __P((void)); 151 int getchr __P((void)); 152 153 extern char **av; 154 extern char *current_file; 155 extern char *current_name; 156 extern char *firstsearch; 157 extern char *line; 158 extern char *next_name; 159 extern int ac; 160 extern int any_display; 161 extern int auto_wrap; 162 extern int back_scroll; 163 extern int be_width; 164 extern int bo_width; 165 extern int bs_mode; 166 extern int caseless; 167 extern int cbufs; 168 extern int cmdstack; 169 extern int curr_ac; 170 extern int erase_char; 171 extern int errmsgs; 172 extern int file; 173 extern int hit_eof; 174 extern int ignaw; 175 extern int ispipe; 176 extern int kill_char; 177 extern int linenums; 178 extern int lnloop; 179 extern int quit_at_eof; 180 extern int quitting; 181 extern int reading; 182 extern int retain_below; 183 extern int sc_height; 184 extern int sc_width; 185 extern int sc_window; 186 extern int screen_trashed; 187 extern int scroll_lines; 188 extern int se_width; 189 extern int short_file; 190 extern int sigs; 191 extern int so_width; 192 extern int squeeze; 193 extern int tabstop; 194 extern int top_scroll; 195 extern int ue_width; 196 extern int ul_width; 197 extern int werase_char; 198