2.11BSD/src/bin/tcsh/sh.decls.h
/* $Header: /home/hyperion/mu/christos/src/sys/tcsh-6.00/RCS/sh.decls.h,v 3.0 1991/07/04 23:34:26 christos Exp $ */
/*
* sh.decls External declarations from sh*.c
*/
/*-
* Copyright (c) 1980, 1991 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.
*/
#ifndef _h_sh_decls
#define _h_sh_decls
/*
* sh.c
*/
extern int gethdir __P((Char *));
extern void dosource __P((Char **));
extern void exitstat __P((void));
extern void goodbye __P((void));
extern void importpath __P((Char *));
extern void initdesc __P((void));
extern sigret_t pintr __P((int));
extern void pintr1 __P((bool));
extern void process __P((bool));
extern void rechist __P((void));
extern void untty __P((void));
#ifdef PROF
extern void done __P((int));
#else
extern void xexit __P((int));
#endif
/*
* sh.dir.c
*/
extern void dinit __P((Char *));
extern void dodirs __P((Char **));
extern Char *dcanon __P((Char *, Char *));
extern void dtildepr __P((Char *, Char *));
extern void dtilde __P((void));
extern void dochngd __P((Char **));
extern Char *dnormalize __P((Char *));
extern void dopushd __P((Char **));
extern void dopopd __P((Char **));
extern void dfree __P((struct directory *));
extern int getstakd __P((Char *, int));
extern void dextract __P((struct directory *));
#ifdef CSHDIRS
extern void recdirs __P((void));
#endif
/*
* sh.dol.c
*/
extern void Dfix __P((struct command *));
extern Char *Dfix1 __P((Char *));
extern void heredoc __P((Char *));
/*
* sh.err.c
*/
extern void seterror __P((int, ...));
extern void stderror __P((int, ...));
/*
* sh.exec.c
*/
extern void doexec __P((struct command *));
extern void dohash __P((void));
extern void dounhash __P((void));
extern void execash __P((char **, struct command *));
#ifdef VFORK
extern void hashstat __P((void));
#endif
extern void xechoit __P((Char **));
extern int iscommand __P((Char *));
extern int executable __P((Char *, Char *, bool));
extern void tellmewhat __P((struct wordent *));
/*
* sh.exp.c
*/
extern int exp __P((Char ***));
extern int exp0 __P((Char ***, bool));
/*
* sh.file.c
*/
#ifdef FILEC
extern int tenex __P((Char *, int));
#endif
/*
* sh.func.c
*/
extern void Setenv __P((Char *, Char *));
extern void doalias __P((Char **));
extern void dobreak __P((void));
extern void docontin __P((void));
extern void doecho __P((Char **));
extern void doelse __P((void));
extern void doend __P((void));
extern void doeval __P((Char **));
extern void doexit __P((Char **));
extern void doforeach __P((Char **));
extern void doglob __P((Char **));
extern void dogoto __P((Char **));
extern void doif __P((Char **, struct command *));
extern void dolimit __P((Char **));
extern void dologin __P((Char **));
extern void dologout __P((void));
#ifdef NEWGRP
extern void donewgrp __P((Char **));
#endif
extern void donohup __P((void));
extern void doonintr __P((Char **));
extern void dorepeat __P((Char **, struct command *));
extern void dosetenv __P((Char **));
extern void dosuspend __P((void));
extern void doswbrk __P((void));
extern void doswitch __P((Char **));
extern void doumask __P((Char **));
extern void dounlimit __P((Char **));
extern void dounsetenv __P((Char **));
extern void dowhile __P((Char **));
extern void dozip __P((void));
extern void func __P((struct command *,
struct biltins *));
extern struct biltins *isbfunc __P((struct command *));
extern void prvars __P((void));
extern void search __P((int, int, Char *));
extern int srchx __P((Char *));
extern void unalias __P((Char **));
extern void wfree __P((void));
/*
* sh.glob.c
*/
extern Char **dobackp __P((Char *, bool));
extern void Gcat __P((Char *, Char *));
extern Char *globone __P((Char *, int));
extern int Gmatch __P((Char *, Char *));
extern void ginit __P((void));
extern Char **globall __P((Char **));
extern void rscan __P((Char **, void (*)()));
extern void tglob __P((Char **));
extern void trim __P((Char **));
#ifdef FILEC
extern int sortscmp __P((Char **, Char **));
#endif
/*
* sh.hist.c
*/
extern void dohist __P((Char **));
extern struct Hist *enthist __P((int, struct wordent *, bool));
extern void savehist __P((struct wordent *));
/*
* sh.lex.c
*/
extern void addla __P((Char *));
extern void bseek __P((off_t));
#ifndef btell
extern off_t btell __P((void));
#endif
extern void btoeof __P((void));
extern void copylex __P((struct wordent *,
struct wordent *));
extern Char *domod __P((Char *, int));
extern void freelex __P((struct wordent *));
extern int lex __P((struct wordent *));
extern void prlex __P((struct wordent *));
extern int readc __P((bool));
extern void settell __P((void));
extern void unreadc __P((int));
/*
* sh.misc.c
*/
extern int any __P((char *, int));
extern Char **blkcat __P((Char **, Char **));
extern Char **blkcpy __P((Char **, Char **));
extern Char **blkend __P((Char **));
extern void blkfree __P((Char **));
extern int blklen __P((Char **));
extern void blkpr __P((Char **));
extern Char **blkspl __P((Char **, Char **));
#ifndef copy
extern void copy __P((char *, char *, int));
#endif
extern void closem __P((void));
#ifndef FIOCLEX
extern void closech __P((void));
#endif
extern Char **copyblk __P((Char **));
extern int dcopy __P((int, int));
extern int dmove __P((int, int));
extern void donefds __P((void));
extern Char lastchr __P((Char *));
extern void lshift __P((Char **, int));
extern int number __P((Char *));
extern int prefix __P((Char *, Char *));
extern Char **saveblk __P((Char **));
extern void setzero __P((char *, int));
extern Char *strip __P((Char *));
extern char *strsave __P((char *));
extern char *strspl __P((char *, char *));
#ifndef POSIX
extern char *strstr __P((const char *, const char *));
#endif
extern void udvar __P((Char *));
#ifndef SHORT_STRINGS
extern char *strend __P((char *));
#endif
/*
* sh.parse.c
*/
extern void alias __P((struct wordent *));
extern void freesyn __P((struct command *));
extern struct command *syntax __P((struct wordent *,
struct wordent *, int));
/*
* sh.print.c
*/
extern void draino __P((void));
extern void flush __P((void));
#ifdef BSDTIMES
extern void pcsecs __P((long));
#else /* !BSDTIMES */
# ifdef POSIX
extern void pcsecs __P((clock_t));
# else /* !POSIX */
extern void pcsecs __P((time_t));
# endif /* !POSIX */
#endif /* BSDTIMES */
#ifdef RLIMIT_CPU
extern void psecs __P((long));
#endif /* RLIMIT_CPU */
extern int putpure __P((int));
extern int putraw __P((int));
extern void xputchar __P((int));
/*
* sh.proc.c
*/
extern void dobg __P((Char **));
extern void dobg1 __P((Char **));
extern void dofg __P((Char **));
extern void dofg1 __P((Char **));
extern void dojobs __P((Char **));
extern void dokill __P((Char **));
extern void donotify __P((Char **));
extern void dostop __P((Char **));
extern void dowait __P((void));
extern void palloc __P((int, struct command *));
extern void panystop __P((bool));
extern sigret_t pchild __P((int));
extern void pendjob __P((void));
extern struct process *pfind __P((Char *));
extern int pfork __P((struct command *, int));
extern void pgetty __P((int, int));
extern void pjwait __P((struct process *));
extern void pnote __P((void));
extern void prestjob __P((void));
extern void psavejob __P((void));
extern void pstart __P((struct process *, int));
extern void pwait __P((void));
/*
* sh.sem.c
*/
extern void execute __P((struct command *, int, int *,
int *));
extern void mypipe __P((int *));
/*
* sh.set.c
*/
extern struct varent *adrof1 __P((Char *, struct varent *));
extern void doset __P((Char **));
extern void dolet __P((Char **));
extern Char *putn __P((int));
extern int getn __P((Char *));
extern Char *value1 __P((Char *, struct varent *));
extern void set __P((Char *, Char *));
extern void set1 __P((Char *, Char **, struct varent *));
extern void setq __P((Char *, Char **, struct varent *));
extern void unset __P((Char *[]));
extern void unset1 __P((Char *[], struct varent *));
extern void unsetv __P((Char *));
extern void setNS __P((Char *));
extern void shift __P((Char **));
extern void plist __P((struct varent *));
/*
* sh.time.c
*/
extern void donice __P((Char **));
extern void dotime __P((void));
#ifdef BSDTIMES
extern void prusage __P((struct rusage *, struct rusage *,
tmval_t *, tmval_t *));
#else /* BSDTIMES */
# ifdef _SEQUENT_
extern void prusage __P((struct pro_stats *,
struct pro_stats *,
tmval_t *, tmval_t *));
# else /* !_SEQUENT_ */
# ifdef POSIX
extern void prusage __P((struct tms *, struct tms *,
clock_t, clock_t));
# else /* !POSIX */
extern void prusage __P((struct tms *, struct tms *,
time_t, time_t));
# endif /* !POSIX */
# endif /* !_SEQUENT_ */
#endif /* BSDTIMES */
extern void settimes __P((void));
#if defined(BSDTIMES) || defined(_SEQUENT_)
extern void ruadd __P((struct rusage *, struct rusage *));
extern void tvadd __P((struct timeval *,
struct timeval *));
extern void tvsub __P((struct timeval *,
struct timeval *,
struct timeval *));
#endif /* BSDTIMES || _SEQUENT_ */
#endif /* _h_sh_decls */