1 /* @(#)func.h 1.72 18/10/14 Copyright 1984-2018 J. Schilling */ 2 /* 3 * Definitions for global functions in VED 4 * 5 * Copyright (c) 1984-2018 J. Schilling 6 */ 7 /* 8 * The contents of this file are subject to the terms of the 9 * Common Development and Distribution License, Version 1.0 only 10 * (the "License"). You may not use this file except in compliance 11 * with the License. 12 * 13 * See the file CDDL.Schily.txt in this distribution for details. 14 * A copy of the CDDL is also available via the Internet at 15 * http://www.opensource.org/licenses/cddl1.txt 16 * 17 * When distributing Covered Code, include this CDDL HEADER in each 18 * file and include the License file CDDL.Schily.txt from this distribution. 19 */ 20 21 /* 22 * ved.c 23 */ 24 extern int main __PR((int argc, char **argv)); 25 extern void settmodes __PR((ewin_t *wp)); 26 extern void rsttmodes __PR((ewin_t *wp)); 27 28 /* 29 * edit.c 30 */ 31 extern void edit __PR((ewin_t *wp)); 32 33 /* 34 * binding.c 35 */ 36 extern void init_binding __PR((void)); 37 extern void bindcmd __PR((ewin_t *wp, Uchar *cmd, int cmdlen)); 38 39 /* 40 * vedtmpops.c 41 */ 42 extern void put_vedtmp __PR((ewin_t *wp, BOOL inedit)); 43 extern BOOL get_vedtmp __PR((ewin_t *wp, epos_t *posp, int *colp)); 44 45 /* 46 * cmds.c 47 */ 48 extern void vnorm __PR((ewin_t *wp)); 49 extern void vsnorm __PR((ewin_t *wp)); 50 extern void vnl __PR((ewin_t *wp)); 51 extern void vsnl __PR((ewin_t *wp)); 52 extern void verror __PR((ewin_t *wp)); 53 extern void modified __PR((ewin_t *wp)); 54 extern void vmode __PR((ewin_t *wp)); 55 extern void vwhere __PR((ewin_t *wp)); 56 extern void vewhere __PR((ewin_t *wp)); 57 extern void vswhere __PR((ewin_t *wp)); 58 extern void vsewhere __PR((ewin_t *wp)); 59 extern void vquote __PR((ewin_t *wp)); 60 extern void v8cntlq __PR((ewin_t *wp)); 61 extern void v8quote __PR((ewin_t *wp)); 62 extern void vhex __PR((ewin_t *wp)); 63 extern void vopen __PR((ewin_t *wp)); 64 extern void vsopen __PR((ewin_t *wp)); 65 extern void vhelp __PR((ewin_t *wp)); 66 67 /* 68 * quitcmds.c 69 */ 70 extern BOOL bakbuf __PR((ewin_t *wp, BOOL force)); 71 extern BOOL writebuf __PR((ewin_t *wp, BOOL force)); 72 extern void vbackup __PR((ewin_t *wp)); 73 extern void vquit __PR((ewin_t *wp)); 74 extern void eexit __PR((ewin_t *wp)); 75 extern void vsuspend __PR((ewin_t *wp)); 76 77 /* 78 * execcmds.c 79 */ 80 extern void vexec __PR((ewin_t *wp)); 81 extern void vtexec __PR((ewin_t *wp)); 82 extern void vsexec __PR((ewin_t *wp)); 83 extern int spawncmd __PR((ewin_t *wp, char *name, char *arg)); 84 extern BOOL white __PR((int ch)); 85 86 /* 87 * numbercmds.c 88 */ 89 extern void initnum __PR((void)); 90 extern void vmult __PR((ewin_t *wp)); 91 extern void vsmult __PR((ewin_t *wp)); 92 extern void vnum __PR((ewin_t *wp)); 93 94 /* 95 * cursorcmds.c 96 */ 97 extern BOOL dosnl __PR((ewin_t *wp, epos_t pos)); 98 extern void vforw __PR((ewin_t *wp)); 99 extern void vsforw __PR((ewin_t *wp)); 100 extern void vwforw __PR((ewin_t *wp)); 101 extern void vswforw __PR((ewin_t *wp)); 102 extern void vrev __PR((ewin_t *wp)); 103 extern void vsrev __PR((ewin_t *wp)); 104 extern void vwrev __PR((ewin_t *wp)); 105 extern void vswrev __PR((ewin_t *wp)); 106 extern void vup __PR((ewin_t *wp)); 107 extern void vsup __PR((ewin_t *wp)); 108 extern void vpup __PR((ewin_t *wp)); 109 extern void vspup __PR((ewin_t *wp)); 110 extern void vdown __PR((ewin_t *wp)); 111 extern void vsdown __PR((ewin_t *wp)); 112 extern void vpdown __PR((ewin_t *wp)); 113 extern void vspdwn __PR((ewin_t *wp)); 114 extern void vpageup __PR((ewin_t *wp)); 115 extern void vspageup __PR((ewin_t *wp)); 116 extern void vpagedwn __PR((ewin_t *wp)); 117 extern void vspagedwn __PR((ewin_t *wp)); 118 extern void vend __PR((ewin_t *wp)); 119 extern void vsend __PR((ewin_t *wp)); 120 extern void vpend __PR((ewin_t *wp)); 121 extern void vspend __PR((ewin_t *wp)); 122 extern void vbegin __PR((ewin_t *wp)); 123 extern void vsbegin __PR((ewin_t *wp)); 124 extern void vpbegin __PR((ewin_t *wp)); 125 extern void vspbegin __PR((ewin_t *wp)); 126 extern void vtop __PR((ewin_t *wp)); 127 extern void vstop __PR((ewin_t *wp)); 128 extern void vbottom __PR((ewin_t *wp)); 129 extern void vsbottom __PR((ewin_t *wp)); 130 extern void vadjwin __PR((ewin_t *wp)); 131 extern void vredisp __PR((ewin_t *wp)); 132 extern void vltopwin __PR((ewin_t *wp)); 133 extern void vbrack __PR((ewin_t *wp)); 134 135 /* 136 * delcmds.c 137 */ 138 extern void delchars __PR((ewin_t *wp, epos_t numchars)); 139 extern void rubchars __PR((ewin_t *wp, epos_t numchars)); 140 extern void vdel __PR((ewin_t *wp)); 141 extern void vrub __PR((ewin_t *wp)); 142 extern void vwdel __PR((ewin_t *wp)); 143 extern void vwrub __PR((ewin_t *wp)); 144 extern void vkill __PR((ewin_t *wp)); 145 extern void vpkill __PR((ewin_t *wp)); 146 extern void vskill __PR((ewin_t *wp)); 147 extern void vundel __PR((ewin_t *wp)); 148 149 /* 150 * searchcmds.c 151 */ 152 extern void vsearch __PR((ewin_t *wp)); 153 extern void vssearch __PR((ewin_t *wp)); 154 extern void vrsearch __PR((ewin_t *wp)); 155 extern void vsrsearch __PR((ewin_t *wp)); 156 extern void vagainsrch __PR((ewin_t *wp)); 157 extern void vsagainsrch __PR((ewin_t *wp)); 158 extern void vrevsrch __PR((ewin_t *wp)); 159 extern void vsrevsrch __PR((ewin_t *wp)); 160 extern void not_found __PR((ewin_t *wp)); 161 162 /* 163 * filecmds.c 164 */ 165 extern void vread __PR((ewin_t *wp)); 166 extern void vwrite __PR((ewin_t *wp)); 167 extern void vchange __PR((ewin_t *wp)); 168 extern BOOL change_file __PR((ewin_t *wp, Uchar *file)); 169 extern void fchange __PR((ewin_t *wp, Uchar *file)); 170 extern void vswrite __PR((ewin_t *wp)); 171 172 /* 173 * tmpfiles.c 174 */ 175 extern FILE *tmpfopen __PR((ewin_t *wp, Uchar *name, char *mode)); 176 extern void tmpsetup __PR((void)); 177 extern void takepath __PR((Uchar *pathname, int pathsize, 178 Uchar *name)); 179 extern void tmpopen __PR((ewin_t *wp)); 180 extern void tmpcleanup __PR((ewin_t *wp, BOOL force)); 181 182 /* 183 * takecmds.c 184 */ 185 extern void vcleartake __PR((ewin_t *wp)); 186 extern void vlsave __PR((ewin_t *wp)); 187 extern void vpsave __PR((ewin_t *wp)); 188 extern void vcsave __PR((ewin_t *wp)); 189 extern void vwsave __PR((ewin_t *wp)); 190 extern void vssave __PR((ewin_t *wp)); 191 extern void vgetclr __PR((ewin_t *wp)); 192 extern void vget __PR((ewin_t *wp)); 193 extern void vsgetclr __PR((ewin_t *wp)); 194 extern void vsget __PR((ewin_t *wp)); 195 extern void vtname __PR((ewin_t *wp)); 196 extern void vwrtake __PR((ewin_t *wp)); 197 198 /* 199 * markcmds.c 200 */ 201 extern void setmark __PR((ewin_t *wp, epos_t newmark)); 202 extern void resetmark __PR((ewin_t *wp)); 203 extern void vjumpmark __PR((ewin_t *wp)); 204 extern void vexchmarkdot __PR((ewin_t *wp)); 205 extern void vclearmark __PR((ewin_t *wp)); 206 extern void vsetmark __PR((ewin_t *wp)); 207 208 /* 209 * screen.c 210 */ 211 extern void update __PR((ewin_t *wp)); 212 extern void setwindow __PR((ewin_t *wp)); 213 extern void newwindow __PR((ewin_t *wp)); 214 extern int getindent __PR((ewin_t *wp)); 215 extern void setpos __PR((ewin_t *wp)); 216 extern BOOL setcursor __PR((ewin_t *wp)); 217 extern epos_t countpos __PR((ewin_t *wp, epos_t x, epos_t y, 218 cpos_t * pos)); 219 extern epos_t findcol __PR((ewin_t *wp, int h, epos_t x)); 220 extern void dispup __PR((ewin_t *wp, epos_t old, epos_t new)); 221 extern int realvp __PR((ewin_t *wp, cpos_t * pos)); 222 extern int realhp __PR((ewin_t *wp, cpos_t * pos)); 223 extern void typescreen __PR((ewin_t *wp, epos_t x, int col, epos_t y)); 224 225 /* 226 * ctab.c 227 */ 228 extern void init_charset __PR((ewin_t *wp)); 229 230 /* 231 * movedot.c 232 */ 233 extern epos_t forwword __PR((ewin_t *wp, epos_t start, ecnt_t n)); 234 extern epos_t revword __PR((ewin_t *wp, epos_t start, ecnt_t n)); 235 extern epos_t forwline __PR((ewin_t *wp, epos_t start, ecnt_t n)); 236 extern epos_t revline __PR((ewin_t *wp, epos_t start, ecnt_t n)); 237 extern epos_t forwpara __PR((ewin_t *wp, epos_t start, ecnt_t n)); 238 extern epos_t revpara __PR((ewin_t *wp, epos_t start, ecnt_t n)); 239 240 /* 241 * storage.c 242 */ 243 extern void insert __PR((ewin_t *wp, Uchar* str, long size)); 244 extern void delete __PR((ewin_t *wp, epos_t size)); 245 extern void rubout __PR((ewin_t *wp, epos_t size)); 246 extern BOOL loadfile __PR((ewin_t *wp, Uchar* filename, 247 BOOL newdefault)); 248 extern BOOL savefile __PR((ewin_t *wp, epos_t begin, epos_t end, 249 FILE * f, char *name)); 250 extern BOOL backsavefile __PR((ewin_t *wp, epos_t begin, epos_t end, 251 FILE * f, char *name)); 252 extern void getfile __PR((ewin_t *wp, FILE * f, epos_t size, 253 char *name)); 254 extern void backgetfile __PR((ewin_t *wp, FILE * f, epos_t size, 255 char *name)); 256 extern BOOL isdos __PR((ewin_t *wp)); 257 extern int extract __PR((ewin_t *wp, epos_t begin, Uchar *str, 258 int size)); 259 extern int extr_line __PR((ewin_t *wp, epos_t begin, char *str, 260 int size)); 261 extern int retractline __PR((ewin_t *wp, epos_t begin, char *str, 262 int size)); 263 #ifdef _BUFFER_H 264 extern void clearifwpos __PR((ewin_t *wp, headr_t *this)); 265 #endif 266 extern void clearwpos __PR((ewin_t *wp)); 267 extern void findwpos __PR((ewin_t *wp, epos_t new)); 268 #ifdef _BUFFER_H 269 extern void findpos __PR((ewin_t *wp, epos_t pos, 270 headr_t ** returnlink, 271 int *returnpos)); 272 #endif 273 274 /* 275 * terminal.c 276 */ 277 extern Uchar *t_start __PR((ewin_t *wp)); 278 extern void t_begin __PR((void)); 279 extern void t_done __PR((void)); 280 extern void t_error __PR((ewin_t *wp, char *s)); 281 extern void t_home __PR((ewin_t *wp)); 282 extern void t_left __PR((ewin_t *wp, int n)); 283 extern void t_right __PR((ewin_t *wp, int n)); 284 extern void t_up __PR((ewin_t *wp, int n)); 285 extern void t_down __PR((ewin_t *wp, int n)); 286 extern void t_move __PR((ewin_t *wp, int row, int col)); 287 extern void t_move_abs __PR((ewin_t *wp, int row, int col)); 288 extern void t_clear __PR((ewin_t *wp)); 289 extern void t_cleos __PR((ewin_t *wp)); 290 extern void t_cleol __PR((ewin_t *wp)); 291 extern void t__cleol __PR((ewin_t *wp, int do_move)); 292 extern void t_insch __PR((ewin_t *wp, char *str)); 293 extern void t_insln __PR((ewin_t *wp, int n)); 294 extern void t_delch __PR((ewin_t *wp, int n)); 295 extern void t_delln __PR((ewin_t *wp, int n)); 296 extern void t_alt __PR((char *str)); 297 extern void t_setscroll __PR((ewin_t *wp, int beg, int end)); 298 extern void t_scrup __PR((ewin_t *wp, int n)); 299 extern void t_scrdown __PR((ewin_t *wp, int n)); 300 301 /* 302 * cmdline.c 303 */ 304 extern void wait_for_confirm __PR((ewin_t *wp)); 305 extern void wait_continue __PR((ewin_t *wp)); 306 /* PRINTFLIKE3 */ 307 extern int getcmdchar __PR((ewin_t *wp, char *ans, 308 char *msg, ...)) __printflike__(3, 4); 309 /* PRINTFLIKE4 */ 310 extern int getcmdline __PR((ewin_t *wp, Uchar *result, int len, 311 char *msg, ...)) __printflike__(4, 5); 312 /* PRINTFLIKE5 */ 313 extern int getccmdline __PR((ewin_t *wp, int c, Uchar* result, int len, 314 char *msg, ...)) __printflike__(5, 6); 315 316 /* 317 * io.c 318 */ 319 extern echar_t gchar __PR((ewin_t *wp)); 320 extern echar_t nigchar __PR((ewin_t *wp)); 321 extern int getnextc __PR((ewin_t *wp)); 322 extern int nigetnextc __PR((ewin_t *wp)); 323 extern void flushprot __PR((ewin_t *wp)); 324 extern void deleteprot __PR((void)); 325 extern void newprot __PR((ewin_t *wp)); 326 extern void openrecoverfile __PR((ewin_t *wp, char *name)); 327 extern Uchar *getrecoverfile __PR((epos_t *posp, int *colp)); 328 extern int putoutchar __PR((int c)); 329 extern void addchar __PR((int c)); 330 extern void onmark __PR((void)); 331 extern void offmark __PR((void)); 332 extern void addstr __PR((Uchar *s)); 333 extern void output __PR((Uchar *s)); 334 extern void printfield __PR((Uchar *str, int len)); 335 extern void printstring __PR((Uchar *str, int nchars)); 336 extern void ringbell __PR((void)); 337 extern int _bflush __PR((int c)); 338 extern int _bufflush __PR((void)); 339 340 /* 341 * fileio.c 342 */ 343 extern int stmpfmodes __PR((Uchar *name)); 344 extern FILE *openerrmsg __PR((Uchar *name, char *mode)); 345 extern FILE *opencomerr __PR((ewin_t *wp, Uchar *name, char *mode)); 346 extern FILE *opensyserr __PR((ewin_t *wp, Uchar *name, char *mode)); 347 extern int readsyserr __PR((ewin_t *wp, FILE * f, 348 void *buf, int len, Uchar *name)); 349 extern int writesyserr __PR((ewin_t *wp, FILE * f, 350 void *buf, int len, Uchar *name)); 351 extern int writebsyserr __PR((ewin_t *wp, FILE * f, 352 void *buf, int len, Uchar *name)); 353 extern int writeerrmsg __PR((ewin_t *wp, FILE * f, 354 void *buf, int len, Uchar *name)); 355 /* PRINTFLIKE2 */ 356 extern void exitcomerr __PR((ewin_t *wp, 357 char *fmt, ...)) __printflike__(2, 3); 358 /* PRINTFLIKE3 */ 359 extern void excomerrno __PR((ewin_t *wp, int err, 360 char *fmt, ...)) __printflike__(3, 4); 361 362 /* 363 * filesubs.c 364 */ 365 extern void lockfile __PR((ewin_t *wp, char *filename)); 366 extern void writelockmsg __PR((ewin_t *wp)); 367 extern int lockfd __PR((int f)); 368 extern int getfmodes __PR((Uchar *name)); 369 extern long gftime __PR((char *file)); 370 extern BOOL readable __PR((Uchar *name)); 371 extern BOOL writable __PR((Uchar *name)); 372 extern BOOL wrtcheck __PR((ewin_t *wp, BOOL err)); 373 extern BOOL modcheck __PR((ewin_t *wp)); 374 375 /* 376 * take.c 377 */ 378 extern void settakename __PR((ewin_t *wp, Uchar *name)); 379 extern Uchar *findtake __PR((ewin_t *wp, Uchar *name)); 380 extern void backuptake __PR((ewin_t *wp)); 381 extern void loadtake __PR((ewin_t *wp)); 382 extern void deletetake __PR((void)); 383 extern int fcopy __PR((ewin_t *wp, FILE * from, FILE * to, 384 epos_t size, char *fromname, 385 char *toname)); 386 387 /* 388 * message.c 389 */ 390 extern void initmessage __PR((ewin_t *wp)); 391 extern void initmsgsize __PR((ewin_t *wp)); 392 /* PRINTFLIKE2 */ 393 extern void writemsg __PR((ewin_t *wp, 394 char *str, ...)) __printf0like__(2, 3); 395 extern void writenum __PR((ewin_t *wp, ecnt_t num)); 396 extern void writetake __PR((ewin_t *wp, Uchar *str)); 397 extern void namemsg __PR((Uchar* name)); 398 /* PRINTFLIKE2 */ 399 extern void writeerr __PR((ewin_t *wp, 400 char *str, ...)) __printflike__(2, 3); 401 /* PRINTFLIKE2 */ 402 extern void writeserr __PR((ewin_t *wp, 403 char *str, ...)) __printflike__(2, 3); 404 /* PRINTFLIKE2 */ 405 extern void write_errno __PR((ewin_t *wp, 406 char *msg, ...)) __printflike__(2, 3); 407 extern void defaultinfo __PR((ewin_t *wp, Uchar *str)); 408 extern void defaulterr __PR((ewin_t *wp, Uchar *str)); 409 extern void refreshmsg __PR((ewin_t *wp)); 410 extern void refreshsysline __PR((ewin_t *wp)); 411 extern void write_systemline __PR((ewin_t *wp)); 412 extern void abortmsg __PR((ewin_t *wp)); 413 extern void nomarkmsg __PR((ewin_t *wp)); 414 415 /* 416 * search.c 417 */ 418 extern BOOL issimple __PR((Uchar* pattern, int length)); 419 extern epos_t srevchar __PR((ewin_t *wp, epos_t begin, int ch)); 420 extern epos_t search __PR((ewin_t *wp, epos_t begin, 421 Uchar *pattern, int size, int domark)); 422 extern epos_t reverse __PR((ewin_t *wp, epos_t begin, 423 Uchar *pattern, int size, int domark)); 424 425 /* 426 * ttymodes.c 427 */ 428 extern void get_modes __PR((ewin_t *wp)); 429 extern void set_modes __PR((void)); 430 extern void set_oldmodes __PR((void)); 431 432 /* 433 * macro.c 434 */ 435 extern char * myhome __PR((void)); 436 extern void macro_init __PR((ewin_t *wp)); 437 extern void vxmac __PR((ewin_t *wp)); 438 extern void vmac __PR((ewin_t *wp)); 439 extern int gmacro __PR((void)); 440 extern void vemac __PR((ewin_t *wp)); 441 extern void macro_reinit __PR((ewin_t *wp)); 442 443 /* 444 * coloncmds.c 445 */ 446 extern void vcolon __PR((ewin_t *wp)); 447 /* PRINTFLIKE2 */ 448 extern void printscreen __PR((ewin_t *wp, 449 char *form, ...)) __printflike__(2, 3); 450 451 /* 452 * substcmds.c 453 */ 454 extern void subst __PR((ewin_t *wp, Uchar *cmd, int cmdlen)); 455 456 /* 457 * tags.c 458 */ 459 extern int gettag __PR((Uchar** name)); 460 extern epos_t searchtag __PR((ewin_t *wp, epos_t opos)); 461 extern void vtag __PR((ewin_t *wp)); 462 extern void gototag __PR((ewin_t *wp, Uchar *tag)); 463 extern void vrtag __PR((ewin_t *wp)); 464 465 /* 466 * map.c 467 */ 468 extern int mapgetc __PR((ewin_t *wp)); 469 extern void map_init __PR((void)); 470 extern int rxmap __PR((ewin_t *wp, int c)); 471 extern int gmap __PR((void)); 472 extern void remap __PR((void)); 473 extern BOOL add_map __PR((char *from, char *to, char *comment)); 474 extern BOOL del_map __PR((char *from)); 475 extern void list_map __PR((ewin_t *wp)); 476 extern void init_fk_maps __PR((void)); 477 478 /* 479 * vedstats.c 480 */ 481 extern void vedstartstats __PR((void)); 482 extern void vedstopstats __PR((void)); 483 extern void vedstatistics __PR((void)); 484 485 /* 486 * consdebug.c 487 */ 488 /* PRINTFLIKE1 */ 489 extern void cdbg __PR((char *fmt, ...)) __printflike__(1, 2); 490 extern void writecons __PR((char *s)); 491 extern long getcaller __PR((void)); 492