NetBSD/bin/csh/extern.h

339 lines
9.9 KiB
C
Raw Normal View History

1998-07-28 06:47:19 +04:00
/* $NetBSD: extern.h,v 1.12 1998/07/28 02:47:20 mycroft Exp $ */
1995-03-21 12:01:59 +03:00
1993-03-21 12:45:37 +03:00
/*-
1994-09-21 04:10:23 +04:00
* Copyright (c) 1991, 1993
* The Regents of the University of California. All rights reserved.
1993-03-21 12:45:37 +03:00
*
* 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.
*
1995-03-21 12:01:59 +03:00
* @(#)extern.h 8.1 (Berkeley) 5/31/93
1993-03-21 12:45:37 +03:00
*/
#include <sys/cdefs.h>
/*
* csh.c
*/
int gethdir __P((Char *));
1994-09-21 04:10:23 +04:00
void dosource __P((Char **, struct command *));
1998-07-28 06:23:37 +04:00
__dead void exitstat __P((void)) __attribute__((noreturn));
1993-03-21 12:45:37 +03:00
void goodbye __P((void));
void importpath __P((Char *));
void initdesc __P((void));
void pintr __P((int));
void pintr1 __P((bool));
void printprompt __P((void));
void process __P((bool));
void rechist __P((void));
void untty __P((void));
1994-09-21 04:10:23 +04:00
int vis_fputc __P((int, FILE *));
1993-03-21 12:45:37 +03:00
#ifdef PROF
1998-07-28 06:23:37 +04:00
__dead void done __P((int)) __attribute__((noreturn));
1993-03-21 12:45:37 +03:00
#else
1998-07-28 06:23:37 +04:00
__dead void xexit __P((int)) __attribute__((noreturn));
1993-03-21 12:45:37 +03:00
#endif
/*
* dir.c
*/
void dinit __P((Char *));
1994-09-21 04:10:23 +04:00
void dodirs __P((Char **, struct command *));
1993-03-21 12:45:37 +03:00
Char *dcanon __P((Char *, Char *));
void dtildepr __P((Char *, Char *));
void dtilde __P((void));
1994-09-21 04:10:23 +04:00
void dochngd __P((Char **, struct command *));
1993-03-21 12:45:37 +03:00
Char *dnormalize __P((Char *));
1994-09-21 04:10:23 +04:00
void dopushd __P((Char **, struct command *));
void dopopd __P((Char **, struct command *));
1993-03-21 12:45:37 +03:00
struct directory;
void dfree __P((struct directory *));
/*
* dol.c
*/
void Dfix __P((struct command *));
Char *Dfix1 __P((Char *));
void heredoc __P((Char *));
/*
* err.c
*/
void seterror __P((int, ...));
1998-07-28 06:23:37 +04:00
__dead void stderror __P((int, ...)) __attribute__((noreturn));
1993-03-21 12:45:37 +03:00
/*
* exec.c
*/
1994-09-21 04:10:23 +04:00
void doexec __P((Char **, struct command *));
void dohash __P((Char **, struct command *));
void dounhash __P((Char **, struct command *));
void dowhich __P((Char **, struct command *));
void execash __P((Char **, struct command *));
void hashstat __P((Char **, struct command *));
1993-03-21 12:45:37 +03:00
void xechoit __P((Char **));
/*
* exp.c
*/
1994-09-21 04:10:23 +04:00
int expr __P((Char ***));
1993-03-21 12:45:37 +03:00
int exp0 __P((Char ***, bool));
/*
* file.c
*/
#ifdef FILEC
int tenex __P((Char *, int));
#endif
/*
* func.c
*/
void Setenv __P((Char *, Char *));
1994-09-21 04:10:23 +04:00
void doalias __P((Char **, struct command *));
void dobreak __P((Char **, struct command *));
void docontin __P((Char **, struct command *));
void doecho __P((Char **, struct command *));
void doelse __P((Char **, struct command *));
void doend __P((Char **, struct command *));
void doeval __P((Char **, struct command *));
void doexit __P((Char **, struct command *));
void doforeach __P((Char **, struct command *));
void doglob __P((Char **, struct command *));
void dogoto __P((Char **, struct command *));
1993-03-21 12:45:37 +03:00
void doif __P((Char **, struct command *));
1994-09-21 04:10:23 +04:00
void dolimit __P((Char **, struct command *));
void dologin __P((Char **, struct command *));
void dologout __P((Char **, struct command *));
void donohup __P((Char **, struct command *));
void doonintr __P((Char **, struct command *));
void doprintf __P((Char **, struct command *));
1993-03-21 12:45:37 +03:00
void dorepeat __P((Char **, struct command *));
1994-09-21 04:10:23 +04:00
void dosetenv __P((Char **, struct command *));
void dosuspend __P((Char **, struct command *));
void doswbrk __P((Char **, struct command *));
void doswitch __P((Char **, struct command *));
void doumask __P((Char **, struct command *));
void dounlimit __P((Char **, struct command *));
void dounsetenv __P((Char **, struct command *));
void dowhile __P((Char **, struct command *));
void dozip __P((Char **, struct command *));
1993-03-21 12:45:37 +03:00
void func __P((struct command *, struct biltins *));
struct biltins *
isbfunc __P((struct command *));
void prvars __P((void));
1994-09-21 04:10:23 +04:00
void gotolab __P((Char *));
1993-03-21 12:45:37 +03:00
int srchx __P((Char *));
1994-09-21 04:10:23 +04:00
void unalias __P((Char **, struct command *));
1993-03-21 12:45:37 +03:00
void wfree __P((void));
/*
* glob.c
*/
Char **dobackp __P((Char *, bool));
void Gcat __P((Char *, Char *));
Char *globone __P((Char *, int));
int Gmatch __P((Char *, Char *));
void ginit __P((void));
Char **globall __P((Char **));
void rscan __P((Char **, void (*)(int)));
1993-03-21 12:45:37 +03:00
void tglob __P((Char **));
void trim __P((Char **));
#ifdef FILEC
1994-09-21 04:10:23 +04:00
int sortscmp __P((const ptr_t, const ptr_t));
1993-03-21 12:45:37 +03:00
#endif /* FILEC */
/*
* hist.c
*/
1994-09-21 04:10:23 +04:00
void dohist __P((Char **, struct command *));
1993-03-21 12:45:37 +03:00
struct Hist *
enthist __P((int, struct wordent *, bool));
void savehist __P((struct wordent *));
/*
* lex.c
*/
void addla __P((Char *));
1994-09-21 04:10:23 +04:00
void bseek __P((struct Ain *));
void btell __P((struct Ain *));
1993-03-21 12:45:37 +03:00
void btoeof __P((void));
void copylex __P((struct wordent *, struct wordent *));
Char *domod __P((Char *, int));
void freelex __P((struct wordent *));
int lex __P((struct wordent *));
1994-09-21 04:10:23 +04:00
void prlex __P((FILE *, struct wordent *));
1993-03-21 12:45:37 +03:00
int readc __P((bool));
void settell __P((void));
void unreadc __P((int));
/*
* misc.c
*/
int any __P((char *, int));
Char **blkcat __P((Char **, Char **));
Char **blkcpy __P((Char **, Char **));
Char **blkend __P((Char **));
void blkfree __P((Char **));
int blklen __P((Char **));
1994-09-21 04:10:23 +04:00
void blkpr __P((FILE *, Char **));
1993-03-21 12:45:37 +03:00
Char **blkspl __P((Char **, Char **));
void closem __P((void));
Char **copyblk __P((Char **));
int dcopy __P((int, int));
int dmove __P((int, int));
void donefds __P((void));
Char lastchr __P((Char *));
void lshift __P((Char **, int));
int number __P((Char *));
int prefix __P((Char *, Char *));
Char **saveblk __P((Char **));
Char *strip __P((Char *));
Char *quote __P((Char *));
1993-03-21 12:45:37 +03:00
char *strsave __P((char *));
char *strspl __P((char *, char *));
void udvar __P((Char *));
#ifndef SHORT_STRINGS
1994-09-21 04:10:23 +04:00
# ifdef NOTUSED
char *strstr __P((const char *, const char *));
# endif /* NOTUSED */
1993-03-21 12:45:37 +03:00
char *strend __P((char *));
#endif
/*
* parse.c
*/
void alias __P((struct wordent *));
void freesyn __P((struct command *));
struct command *
syntax __P((struct wordent *, struct wordent *, int));
/*
* proc.c
*/
1994-09-21 04:10:23 +04:00
void dobg __P((Char **, struct command *));
void dobg1 __P((Char **, struct command *));
void dofg __P((Char **, struct command *));
void dofg1 __P((Char **, struct command *));
void dojobs __P((Char **, struct command *));
void dokill __P((Char **, struct command *));
void donotify __P((Char **, struct command *));
void dostop __P((Char **, struct command *));
void dowait __P((Char **, struct command *));
1993-03-21 12:45:37 +03:00
void palloc __P((int, struct command *));
void panystop __P((bool));
void pchild __P((int));
void pendjob __P((void));
struct process *
pfind __P((Char *));
int pfork __P((struct command *, int));
void pgetty __P((int, int));
void pjwait __P((struct process *));
void pnote __P((void));
void prestjob __P((void));
void psavejob __P((void));
void pstart __P((struct process *, int));
void pwait __P((void));
/*
* sem.c
*/
void execute __P((struct command *, int, int *, int *));
void mypipe __P((int *));
/*
* set.c
*/
struct varent
*adrof1 __P((Char *, struct varent *));
1994-09-21 04:10:23 +04:00
void doset __P((Char **, struct command *));
void dolet __P((Char **, struct command *));
1993-03-21 12:45:37 +03:00
Char *putn __P((int));
int getn __P((Char *));
Char *value1 __P((Char *, struct varent *));
void set __P((Char *, Char *));
void set1 __P((Char *, Char **, struct varent *));
void setq __P((Char *, Char **, struct varent *));
1994-09-21 04:10:23 +04:00
void unset __P((Char **, struct command *));
1993-03-21 12:45:37 +03:00
void unset1 __P((Char *[], struct varent *));
void unsetv __P((Char *));
void setNS __P((Char *));
1994-09-21 04:10:23 +04:00
void shift __P((Char **, struct command *));
1993-03-21 12:45:37 +03:00
void plist __P((struct varent *));
/*
* time.c
*/
1994-09-21 04:10:23 +04:00
void donice __P((Char **, struct command *));
void dotime __P((Char **, struct command *));
1993-03-21 12:45:37 +03:00
void prusage __P((struct rusage *, struct rusage *,
struct timeval *, struct timeval *));
void ruadd __P((struct rusage *, struct rusage *));
void settimes __P((void));
1994-09-21 04:10:23 +04:00
void pcsecs __P((long));
void psecs __P((long));
1993-03-21 12:45:37 +03:00
/*
* alloc.c
*/
void Free __P((ptr_t));
ptr_t Malloc __P((size_t));
ptr_t Realloc __P((ptr_t, size_t));
ptr_t Calloc __P((size_t, size_t));
1994-09-21 04:10:23 +04:00
void showall __P((Char **, struct command *));
1993-03-21 12:45:37 +03:00
/*
* str.c:
*/
#ifdef SHORT_STRINGS
Char *s_strchr __P((Char *, int));
Char *s_strrchr __P((Char *, int));
Char *s_strcat __P((Char *, Char *));
#ifdef NOTUSED
Char *s_strncat __P((Char *, Char *, size_t));
#endif
Char *s_strcpy __P((Char *, Char *));
Char *s_strncpy __P((Char *, Char *, size_t));
Char *s_strspl __P((Char *, Char *));
size_t s_strlen __P((Char *));
int s_strcmp __P((Char *, Char *));
int s_strncmp __P((Char *, Char *, size_t));
Char *s_strsave __P((Char *));
Char *s_strend __P((Char *));
Char *s_strstr __P((Char *, Char *));
1998-07-26 23:34:10 +04:00
Char *str2short __P((const char *));
1993-03-21 12:45:37 +03:00
Char **blk2short __P((char **));
char *short2str __P((Char *));
char **short2blk __P((Char **));
#endif
1994-09-21 04:10:23 +04:00
char *short2qstr __P((Char *));
char *vis_str __P((Char *));