summaryrefslogtreecommitdiffstats
path: root/contrib/tcsh/sh.decls.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tcsh/sh.decls.h')
-rw-r--r--contrib/tcsh/sh.decls.h442
1 files changed, 442 insertions, 0 deletions
diff --git a/contrib/tcsh/sh.decls.h b/contrib/tcsh/sh.decls.h
new file mode 100644
index 0000000..db90288
--- /dev/null
+++ b/contrib/tcsh/sh.decls.h
@@ -0,0 +1,442 @@
+/* $Header: /p/tcsh/cvsroot/tcsh/sh.decls.h,v 3.62 2011/02/25 23:58:34 christos Exp $ */
+/*
+ * sh.decls.h 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. 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 Char *gethdir (const Char *);
+extern void dosource (Char **, struct command *);
+extern void exitstat (void);
+extern void goodbye (Char **, struct command *);
+extern void importpath (Char *);
+extern void initdesc (void);
+extern void pintr (void);
+extern void pintr1 (int);
+extern void phup (void);
+extern void process (int);
+extern void untty (void);
+#ifdef PROF
+extern void done (int) __attribute__((__noreturn__));
+#else
+extern void xexit (int) __attribute__((__noreturn__));
+#endif
+extern int grabpgrp (int, pid_t);
+
+/*
+ * sh.dir.c
+ */
+extern void dinit (Char *);
+extern void dodirs (Char **, struct command *);
+extern Char *dcanon (Char *, Char *);
+extern void dtildepr (Char *);
+extern void dtilde (void);
+extern void dochngd (Char **, struct command *);
+extern Char *dnormalize (const Char *, int);
+extern void dopushd (Char **, struct command *);
+extern void dopopd (Char **, struct command *);
+extern void dfree (struct directory *);
+extern void dsetstack (void);
+extern const Char *getstakd (int);
+extern void recdirs (Char *, int);
+extern void loaddirs (Char *);
+
+/*
+ * sh.dol.c
+ */
+extern void Dfix (struct command *);
+extern Char *Dfix1 (Char *);
+extern void heredoc (Char *);
+
+/*
+ * sh.err.c
+ */
+extern void reset (void) __attribute__((__noreturn__));
+extern void cleanup_push_internal(void *, void (*fn) (void *)
+#ifdef CLEANUP_DEBUG
+ , const char *, size_t
+#define cleanup_push(v, f) cleanup_push_internal(v, f, __FILE__, __LINE__)
+#else
+#define cleanup_push(v, f) cleanup_push_internal(v, f)
+#endif
+);
+extern int cleanup_reset(void);
+extern void cleanup_ignore(void *);
+extern void cleanup_until(void *);
+extern void cleanup_until_mark(void);
+extern size_t cleanup_push_mark(void);
+extern void cleanup_pop_mark(size_t);
+extern void open_cleanup(void *);
+extern void opendir_cleanup(void *);
+extern void sigint_cleanup(void *);
+extern void sigprocmask_cleanup(void *);
+extern void xfree_indirect(void *);
+extern void errinit (void);
+extern void seterror (unsigned int, ...);
+extern void fixerror (void);
+extern void stderror (unsigned int, ...)
+ __attribute__((__noreturn__));
+
+/*
+ * sh.exec.c
+ */
+extern void doexec (struct command *, int);
+extern void dohash (Char **, struct command *);
+extern void dounhash (Char **, struct command *);
+extern void execash (Char **, struct command *);
+extern void hashstat (Char **, struct command *);
+extern void xechoit (Char **);
+extern int executable (const Char *, const Char *, int);
+extern int tellmewhat (struct wordent *, Char **);
+extern void dowhere (Char **, struct command *);
+extern int find_cmd (Char *, int);
+
+/*
+ * sh.exp.c
+ */
+extern Char *filetest (Char *, Char ***, int);
+extern tcsh_number_t expr (Char ***);
+extern tcsh_number_t exp0 (Char ***, int);
+
+/*
+ * sh.file.c
+ */
+#if defined(FILEC) && defined(TIOCSTI)
+extern size_t tenex (Char *, size_t);
+#endif
+
+/*
+ * sh.func.c
+ */
+extern void tsetenv (const Char *, const Char *);
+extern void Unsetenv (Char *);
+extern void doalias (Char **, struct command *);
+extern void dobreak (Char **, struct command *);
+extern void docontin (Char **, struct command *);
+extern void doecho (Char **, struct command *);
+extern void doelse (Char **, struct command *);
+extern void doend (Char **, struct command *);
+extern void doeval (Char **, struct command *);
+extern void doexit (Char **, struct command *);
+extern void doforeach (Char **, struct command *);
+extern void doglob (Char **, struct command *);
+extern void dogoto (Char **, struct command *);
+extern void doif (Char **, struct command *);
+extern void dolimit (Char **, struct command *);
+extern void dologin (Char **, struct command *);
+extern void dologout (Char **, struct command *);
+#ifdef NEWGRP
+extern void donewgrp (Char **, struct command *);
+#endif
+extern void donohup (Char **, struct command *);
+extern void dohup (Char **, struct command *);
+extern void doonintr (Char **, struct command *);
+extern void doprintenv (Char **, struct command *);
+extern void dorepeat (Char **, struct command *);
+extern void dofiletest (Char **, struct command *);
+extern void dosetenv (Char **, struct command *);
+extern void dosuspend (Char **, struct command *);
+extern void doswbrk (Char **, struct command *);
+extern void doswitch (Char **, struct command *);
+extern void doumask (Char **, struct command *);
+extern void dounlimit (Char **, struct command *);
+extern void dounsetenv (Char **, struct command *);
+extern void dowhile (Char **, struct command *);
+extern void dozip (Char **, struct command *);
+extern void func (struct command *,
+ const struct biltins *);
+extern void gotolab (Char *);
+extern const struct biltins *isbfunc (struct command *);
+extern void prvars (void);
+extern int srchx (Char *);
+extern void unalias (Char **, struct command *);
+extern void wfree (void);
+extern void dobuiltins (Char **, struct command *);
+extern void reexecute (struct command *);
+
+/*
+ * sh.glob.c
+ */
+extern Char *globequal (Char *);
+extern Char **dobackp (Char *, int);
+extern Char *globone (Char *, int);
+extern int Gmatch (const Char *, const Char *);
+extern int Gnmatch (const Char *, const Char *,
+ const Char **);
+extern Char **globall (Char **, int);
+extern Char **glob_all_or_error(Char **);
+extern void rscan (Char **, void (*)(Char));
+extern int tglob (Char **);
+extern void trim (Char **);
+
+#if !defined(WINNT_NATIVE) && defined(NLS_CATALOGS)
+extern char *xcatgets (nl_catd, int, int, const char *);
+#if defined(HAVE_ICONV) && defined(HAVE_NL_LANGINFO)
+extern char *iconv_catgets (nl_catd, int, int, const char *);
+#endif
+#endif
+extern void nlsinit (void);
+extern void nlsclose (void);
+extern int t_pmatch (const Char *, const Char *,
+ const Char **, int);
+
+/*
+ * sh.hist.c
+ */
+extern void dohist (Char **, struct command *);
+extern struct Hist *enthist (int, struct wordent *, int, int, int);
+extern void savehist (struct wordent *, int);
+extern char *fmthist (int, ptr_t);
+extern void rechist (Char *, int);
+extern void loadhist (Char *, int);
+extern void displayHistStats(const char *);
+
+/*
+ * sh.init.c
+ */
+extern void mesginit (void);
+
+/*
+ * sh.lex.c
+ */
+extern void addla (Char *);
+extern void bseek (struct Ain *);
+extern void btell (struct Ain *);
+extern void btoeof (void);
+extern void copylex (struct wordent *, struct wordent *);
+extern Char *domod (Char *, Char);
+extern void freelex (struct wordent *);
+extern int lex (struct wordent *);
+extern void lex_cleanup (void *);
+extern void prlex (struct wordent *);
+extern eChar readc (int);
+extern void settell (void);
+extern void unreadc (Char);
+
+
+/*
+ * sh.misc.c
+ */
+extern int any (const char *, Char);
+extern Char **blkcpy (Char **, Char **);
+extern void blkfree (Char **);
+extern void blk_cleanup (void *);
+extern void blk_indirect_cleanup(void *);
+extern int blklen (Char **);
+extern void blkpr (Char *const *);
+extern Char *blkexpand (Char *const *);
+extern Char **blkspl (Char **, Char **);
+extern void closem (void);
+#ifndef CLOSE_ON_EXEC
+extern void closech (void);
+#endif /* !CLOSE_ON_EXEC */
+extern Char **copyblk (Char **);
+extern int dcopy (int, int);
+extern int dmove (int, int);
+extern void donefds (void);
+extern Char lastchr (Char *);
+extern void lshift (Char **, int);
+extern int number (Char *);
+extern int prefix (const Char *, const Char *);
+extern Char **saveblk (Char **);
+extern void setzero (void *, size_t);
+extern Char *strip (Char *);
+extern Char *quote (Char *);
+extern const Char *quote_meta (struct Strbuf *, const Char *);
+#ifndef SHORT_STRINGS
+extern char *strnsave (const char *, size_t);
+#endif
+extern char *strsave (const char *);
+extern void udvar (Char *) __attribute__((__noreturn__));
+#ifndef POSIX
+extern char *strstr (const char *, const char *);
+#endif /* !POSIX */
+extern char *strspl (const char *, const char *);
+extern char *strend (const char *);
+extern char *areadlink (const char *);
+extern void xclose (int);
+extern void xclosedir (DIR *);
+extern int xcreat (const char *, mode_t);
+extern struct group *xgetgrgid (gid_t);
+extern struct passwd *xgetpwnam (const char *);
+extern struct passwd *xgetpwuid (uid_t);
+extern int xopen (const char *, int, ...);
+extern ssize_t xread (int, void *, size_t);
+extern int xtcsetattr (int, int, const struct termios *);
+extern ssize_t xwrite (int, const void *, size_t);
+
+/*
+ * sh.parse.c
+ */
+extern void alias (struct wordent *);
+extern void freesyn (struct command *);
+extern struct command *syntax (const struct wordent *,
+ const struct wordent *, int);
+extern void syntax_cleanup(void *);
+
+/*
+ * sh.print.c
+ */
+extern void drainoline (void);
+extern void flush (void);
+#ifdef BSDTIMES
+extern void pcsecs (unsigned long);
+#else /* !BSDTIMES */
+# ifdef POSIX
+extern void pcsecs (clock_t);
+# else /* !POSIX */
+extern void pcsecs (time_t);
+# endif /* !POSIX */
+#endif /* BSDTIMES */
+#ifdef BSDLIMIT
+extern void psecs (unsigned long);
+#endif /* BSDLIMIT */
+extern int putpure (int);
+extern int putraw (int);
+extern void xputchar (int);
+#ifdef WIDE_STRINGS
+extern void putwraw (Char);
+extern void xputwchar (Char);
+#else
+# define putwraw(C) putraw(C)
+# define xputwchar(C) xputchar(C)
+#endif
+extern void output_raw_restore(void *);
+
+
+/*
+ * sh.proc.c
+ */
+extern void dobg (Char **, struct command *);
+extern void dobg1 (Char **, struct command *);
+extern void dofg (Char **, struct command *);
+extern void dofg1 (Char **, struct command *);
+extern void dojobs (Char **, struct command *);
+extern void dokill (Char **, struct command *);
+extern void donotify (Char **, struct command *);
+extern void dostop (Char **, struct command *);
+extern void dowait (Char **, struct command *);
+extern void palloc (pid_t, struct command *);
+extern void panystop (int);
+extern void pchild (void);
+extern void pendjob (void);
+extern pid_t pfork (struct command *, int);
+extern void pgetty (int, pid_t);
+extern void pjwait (struct process *);
+extern void pnote (void);
+extern void psavejob (void);
+extern void psavejob_cleanup(void *);
+extern int pstart (struct process *, int);
+extern void pwait (void);
+extern struct process *pfind (Char *);
+
+/*
+ * sh.sem.c
+ */
+extern void execute (struct command *, volatile int, int *,
+ int *, int);
+extern void mypipe (int *);
+
+/*
+ * sh.set.c
+ */
+extern struct varent *adrof1 (const Char *, struct varent *);
+extern void doset (Char **, struct command *);
+extern void dolet (Char **, struct command *);
+extern Char *putn (tcsh_number_t);
+extern tcsh_number_t getn (const Char *);
+extern Char *value1 (Char *, struct varent *);
+extern void setcopy (const Char *, const Char *, int);
+extern void setv (const Char *, Char *, int);
+extern void set1 (const Char *, Char **,
+ struct varent *, int);
+extern void setq (const Char *, Char **,
+ struct varent *, int);
+extern void unset (Char **, struct command *);
+extern void unset1 (Char *[], struct varent *);
+extern void unsetv (Char *);
+extern void setNS (const Char *);
+extern void shift (Char **, struct command *);
+extern void plist (struct varent *, int);
+extern Char *unparse (struct command *);
+#if defined(DSPMBYTE)
+extern void update_dspmbyte_vars (void);
+extern void autoset_dspmbyte (const Char *);
+#endif
+#if defined(AUTOSET_KANJI)
+extern void autoset_kanji (void);
+#endif
+
+/*
+ * sh.time.c
+ */
+extern void donice (Char **, struct command *);
+extern void dotime (Char **, struct command *);
+#ifdef BSDTIMES
+extern void prusage (struct sysrusage *,
+ struct sysrusage *,
+ timeval_t *, timeval_t *);
+extern void ruadd (struct sysrusage *,
+ struct sysrusage *);
+#else /* BSDTIMES */
+# ifdef _SEQUENT_
+extern void prusage (struct process_stats *,
+ struct process_stats *,
+ timeval_t *, timeval_t *);
+extern void ruadd (struct process_stats *,
+ struct process_stats *);
+# else /* !_SEQUENT_ */
+# ifdef POSIX
+extern void prusage (struct tms *, struct tms *,
+ clock_t, clock_t);
+# else /* !POSIX */
+extern void prusage (struct tms *, struct tms *,
+ time_t, time_t);
+# endif /* !POSIX */
+# endif /* !_SEQUENT_ */
+#endif /* BSDTIMES */
+extern void settimes (void);
+#if defined(BSDTIMES) || defined(_SEQUENT_)
+extern void tvsub (struct timeval *,
+ struct timeval *,
+ struct timeval *);
+#endif /* BSDTIMES || _SEQUENT_ */
+
+/*
+ * tw.parse.c
+ */
+extern void copyn (Char *, const Char *, size_t);
+extern void catn (Char *, const Char *, int);
+
+#endif /* _h_sh_decls */
OpenPOWER on IntegriCloud