/*
 *
 * This code contains changes by
 *      Gunnar Ritter, Freiburg i. Br., Germany, 2002. All rights reserved.
 *
 * Conditions 1, 2, and 4 and the no-warranty notice below apply
 * to these changes.
 *
 *
 * Copyright (c) 1980, 1993
 * 	The Regents of the University of California.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 * 	This product includes software developed by the University of
 * 	California, Berkeley and its contributors.
 * 4. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 *
 * Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *   Redistributions of source code and documentation must retain the
 *    above copyright notice, this list of conditions and the following
 *    disclaimer.
 *   Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *   All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *      This product includes software developed or owned by Caldera
 *      International, Inc.
 *   Neither the name of Caldera International, Inc. nor the names of
 *    other contributors may be used to endorse or promote products
 *    derived from this software without specific prior written permission.
 *
 * USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
 * INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
 * LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *	@(#)ex_proto.h	1.15 (gritter) 4/7/02
 */

/*
 * Function type definitions
 */

/* ex.c */
#ifdef	POSIX_1
shand setsig __P((int, shand));
#endif
void init __P((void));
/* ex_addr.c */
void setdot __P((void));
void setdot1 __P((void));
void setcount __P((void));
int getnum __P((void));
void setall __P((void));
void setnoaddr __P((void));
line *address __P((char *));
void setCNL __P((void));
void setNAEOL __P((void));
/* ex_cmds.c */
void commands __P((int, int));
/* ex_cmds2.c */
int cmdreg __P((void));
int endcmd __P((int));
void eol __P((void));
void error __P((const char *, ...));
void erewind __P((void));
void fixol __P((void));
int exclam __P((void));
void makargs __P((void));
void next __P((void));
void newline __P((void));
void nomore __P((void));
int quickly __P((void));
void resetflav __P((void));
void serror __P((const char *, ...));
void setflav __P((void));
int skipend __P((void));
void tailspec __P((int));
void tail __P((const char *));
void tail2of __P((const char *));
void tailprim __P((const char *, int, int));
void vcontin __P((int));
void vnfl __P((void));
/* ex_cmdsub.c */
int append __P((int (*)(void), line *));
void appendnone __P((void));
void pargs __P((void));
void delete __P((int));
void deletenone __P((void));
void squish __P((void));
void join __P((int));
void move __P((void));
void put __P((void));
void pragged __P((int));
void shift __P((int, int));
void tagfind __P((int));
void yank __P((void));
void zop __P((int));
void zop2 __P((int, int));
void plines __P((line *, line *, int));
void pofix __P((void));
void undo __P((int));
void mapcmd __P((int, int));
void cmdmac __P((int));
/* ex_data.c */
/* ex_extern.c */
/* ex_get.c */
void ignchar __P((void));
int getchar __P((void));
int getcd __P((void));
int peekchar __P((void));
int peekcd __P((void));
int gettty __P((void));
void setin __P((line *));
/* ex_io.c */
void filename __P((int));
int getargs __P((void));
void getone __P((void));
void rop __P((int));
void rop2 __P((void));
void rop3 __P((int));
void wop __P((int));
int getfile __P((void));
void putfile __P((int));
void wrerror __P((void));
void source __P((const char *, int));
void clrstats __P((void));
/* ex_put.c */
int (*setlist __P((bool))) __P((int));
int (*setnumb __P((bool))) __P((int));
int listchar __P((int));
int normchar __P((int));
int numbline __P((int));
int normline __P((int));
int putchar __P((int));
int termchar __P((int));
void flush __P((void));
void flush1 __P((void));
void fgoto __P((void));
void tab __P((int));
void noteinp __P((void));
void termreset __P((void));
void draino __P((void));
void flusho __P((void));
void putnl __P((void));
int putch __P((int));
void putpad __P((const char *));
void setoutt __P((void));
void vlprintf __P((const char *, va_list));
void lprintf __P((const char *, ...));
void putNFL __P((void));
void pstart __P((void));
void pstop __P((void));
void tostart __P((void));
void tostop __P((void));
void vcook __P((void));
void vraw __P((void));
void gTTY __P((int));
void noonl __P((void));
/* ex_re.c */
void global __P((int));
int substitute __P((int));
int getsub __P((void));
int compile __P((int, int));
int same __P((int, int));
int execute __P((int, line *));
int advance __P((char *, char *));
/* ex_set.c */
void set __P((void));
/* ex_subr.c */
int any __P((int, const char *));
int backtab __P((int));
void change __P((void));
int column __P((char *));
void comment __P((void));
void Copy __P((char *, char *, int));
void copyw __P((line *, line *, int));
void copywR __P((line *, line *, int));
int ctlof __P((int));
void dingdong __P((void));
int fixindent __P((int));
void filioerr __P((const char *));
char *genindent __P((int));
void getDOT __P((void));
line *getmark __P((int));
int getn __P((char *));
void ignnEOF __P((void));
int is_white __P((int));
int junk __P((int));
void killed __P((void));
void killcnt __P((int));
int lineno __P((line *));
int lineDOL __P((void));
int lineDOT __P((void));
void markDOT __P((void));
void markpr __P((line *));
int markreg __P((int));
char *mesg __P((const char *));
void vmerror __P((const char *, va_list));
void merror __P((const char *, ...));
int morelines __P((void));
void nonzero __P((void));
int notable __P((int));
void notempty __P((void));
void netchHAD __P((int));
void netchange __P((int));
int printof __P((int));
void putmark __P((line *));
void putmk1 __P((line *, int));
const char *plural __P((long));
int qcolumn2 __P((char *, char *));
void reverse __P((line *, line *));
void save __P((line *, line *));
void save12 __P((void));
void saveall __P((void));
int span __P((void));
void synced __P((void));
int skipwh __P((void));
void vsmerror __P((const char *, va_list));
void smerror __P((const char *, ...));
char *strend __P((char *));
const char *strendk __P((const char *));
void strcLIN __P((const char *));
void syserror __P((void));
int tabcol __P((int, int));
char *vfindcol __P((int));
char *vskipwh __P((char *));
char *vpastwh __P((char *));
int whitecnt __P((char *));
void markit __P((line *));
void setrupt __P((void));
int preserve __P((void));
dead void exitex __P((int));
/* ex_tagio.c */
int topen __P((char *, char *));
int tseek __P((int, off_t));
int tgets __P((char *, int, int));
void tclose __P((int));
/* ex_temp.c */
void fileinit __P((void));
void cleanup __P((int));
void get_line __P((line));
int putline __P((void));
void tlaste __P((void));
void tflush __P((void));
void synctmp __P((void));
void TSYNC __P((void));
void putreg __P((int));
int partreg __P((int));
void notpart __P((int));
void YANKreg __P((int));
void kshift __P((void));
void regbuf __P((int, char *, int));
/* ex_tty.c */
void gettmode __P((void));
void setterm __P((const char *));
void setsize __P((void));
char *fkey __P((int));
int cost __P((const char *));
/* ex_unix.c */
void unix0 __P((int));
void filter __P((int));
void recover __P((void));
void waitfor __P((void));
void revocer __P((void));
/* ex_v.c */
void oop __P((void));
void vop __P((void));
void fixzero __P((void));
void savevis __P((void));
void undvis __P((void));
void vsetsiz __P((int));
/* ex_vadj.c */
void vopen __P((line *, int));
int vreopen __P((int, int, int));
int vglitchup __P((int, int));
void vinslin __P((int, int, int));
void vrollup __P((int));
void vup1 __P((void));
void vmoveitup __P((int, int));
void vscrap __P((void));
void vrepaint __P((char *));
void vredraw __P((int));
void vsyncCL __P((void));
void vsync __P((int));
void vsync1 __P((int));
void vreplace __P((int, int, int));
void sethard __P((void));
void vdirty __P((int, int));
/* ex_version.c */
void printver __P((void));
/* ex_vget.c */
void ungetkey __P((int));
int getkey __P((void));
int peekbr __P((void));
int getbr __P((void));
int getesc __P((void));
int peekkey __P((void));
int readecho __P((int));
void setLAST __P((void));
void addtext __P((char *));
void setDEL __P((void));
void setBUF __P((cell *));
int noteit __P((int));
void macpush __P((const char *, int));
void vudump __P((const char *s));
int vgetcnt __P((void));
/* ex_vmain.c */
void vmain __P((void));
void prepapp __P((void));
void vremote __P((int, void (*)(int), int));
void vsave __P((void));
cell *str2cell __P((cell *, char *));
char *cell2str __P((char *, cell *));
cell *cellcpy __P((cell *, cell *));
size_t cellen __P((cell *));
cell *cellcat __P((cell *, cell *));
/* ex_voper.c */
void operate __P((int, int));
int find __P((int));
int word __P((void (*)(int), int));
void eend __P((void (*)(int)));
int wordof __P((int, char *));
int wordch __P((char *));
int margin __P((void));
/* ex_vops.c */
void vUndo __P((void));
void vundo __P((int));
void vmacchng __P((int));
void vnoapp __P((void));
void vmove __P((void));
void vmove_i __P((int));
void vdelete __P((int));
void vchange __P((int));
void voOpen __P((int, int));
void vshftop __P((void));
void vfilter __P((void));
void vrep __P((int));
void vyankit __P((void));
/* ex_vops2.c */
void bleep __P((int, char *));
int vdcMID __P((void));
void takeout __P((cell *));
int ateopr __P((void));
void showmode __P((int));
void vappend __P((int, int, int));
void back1 __P((void));
char *vget_line __P((int, char *, bool *, int));
void vdoappend __P((const char *));
/* ex_vops3.c */
int llfind __P((int, int, void (*)(int), line *));
int lindent __P((line *));
int lmatchp __P((line *));
void lsmatch __P((char *));
int lnext __P((void));
int lbrack __P((int, void (*)(int)));
/* ex_vput.c */
void vclear __P((void));
void vclrcell __P((cell *, int));
void vclrlin __P((int, line *));
void vclreol __P((void));
void vclrech __P((int));
void fixech __P((void));
void vcursbef __P((char *));
void vcursat __P((char *));
void vcursaft __P((char *));
void vfixcurs __P((void));
void vsetcurs __P((char *));
void vigoto __P((int, int));
void vcsync __P((void));
void vgotoCL __P((int));
void vgoto __P((int, int));
void vprepins __P((void));
int vputch __P((int));
int vinschar __P((int));
void goim __P((void));
void endim __P((void));
int vputchar __P((int));
void physdc __P((int, int));
/* ex_vwind.c */
void vmoveto __P((line *, char *, int));
void vjumpto __P((line *, char *, int));
void vupdown __P((int, char *));
void vup __P((int, int, int));
void vdown __P((int, int, int));
void vcontext __P((line *, int));
void vclean __P((void));
void vshow __P((line *, line *));
void vroll __P((int));
int vdepth __P((void));
void vnline __P((char *));
/* malloc.c */
char *poolsbrk __P((intptr_t));
/* printf.c */
int printf __P((const char *, ...));
int vprintf __P((const char *, va_list));
char *p_dconv __P((unsigned long, char *));

woid onemt __P((int));
woid onhup __P((int));
woid onintr __P((int));
#ifdef	CBREAK
woid vintr __P((int));
#endif
woid onsusp __P((int));
woid onwinch __P((int));
