#ifndef _h_tc_decls
#define _h_tc_decls
#ifndef SYSMALLOC
#ifndef WINNT_NATIVE
extern void free __P((ptr_t));
extern memalign_t malloc __P((size_t));
extern memalign_t realloc __P((ptr_t, size_t));
extern memalign_t calloc __P((size_t, size_t));
#endif
#else
extern void sfree __P((ptr_t));
extern memalign_t smalloc __P((size_t));
extern memalign_t srealloc __P((ptr_t, size_t));
extern memalign_t scalloc __P((size_t, size_t));
#endif
extern void showall __P((Char **, struct command *));
extern void dobindkey __P((Char **, struct command *));
#ifdef OBSOLETE
extern void dobind __P((Char **, struct command *));
#endif
extern void getmachine __P((void));
extern int setdisc __P((int));
extern int resetdisc __P((int));
extern Char *expand_lex __P((Char *, size_t, struct wordent *,
int, int));
extern Char *sprlex __P((Char *, size_t, struct wordent *));
extern Char *Itoa __P((int, Char *, int, int));
extern void dolist __P((Char **, struct command *));
extern void dotermname __P((Char **, struct command *));
extern void dotelltc __P((Char **, struct command *));
extern void doechotc __P((Char **, struct command *));
extern void dosettc __P((Char **, struct command *));
extern int cmd_expand __P((Char *, Char *));
extern void dowhich __P((Char **, struct command *));
extern struct process *find_stop_ed __P((void));
extern void fg_proc_entry __P((struct process *));
extern RETSIGTYPE alrmcatch __P((int));
extern void precmd __P((void));
extern void postcmd __P((void));
extern void cwd_cmd __P((void));
extern void beep_cmd __P((void));
extern void period_cmd __P((void));
extern void job_cmd __P((Char *));
extern void aliasrun __P((int, Char *, Char *));
extern void setalarm __P((int));
extern void rmstar __P((struct wordent *));
extern void continue_jobs __P((struct wordent *));
extern Char *gettilde __P((Char *));
extern Char *getusername __P((Char **));
#ifdef OBSOLETE
extern void doaliases __P((Char **, struct command *));
#endif
extern void shlvl __P((int));
extern int fixio __P((int, int));
extern int collate __P((const Char *, const Char *));
#ifdef HASHBANG
extern int hashbang __P((int, Char ***));
#endif
#ifdef REMOTEHOST
extern void remotehost __P((void));
#endif
#ifdef MACH
extern void dosetpath __P((Char **, struct command *));
#endif
#ifdef TCF
extern void dogetxvers __P((Char **, struct command *));
extern void dosetxvers __P((Char **, struct command *));
extern void dogetspath __P((Char **, struct command *));
extern void dosetspath __P((Char **, struct command *));
extern char *sitename __P((pid_t));
extern void domigrate __P((Char **, struct command *));
#endif
#ifdef WARP
extern void dowarp __P((Char **, struct command *));
#endif
#if defined(_CRAY) && !defined(_CRAYMPP)
extern void dodmmode __P((Char **, struct command *));
#endif
#if defined(masscomp) || defined(hcx)
extern void douniverse __P((Char **, struct command *));
#endif
#if defined(_OSD_POSIX)
extern void dobs2cmd __P((Char **, struct command *));
#endif
#if defined(hcx)
extern void doatt __P((Char **, struct command *));
extern void doucb __P((Char **, struct command *));
#endif
#ifdef _SEQUENT_
extern void pr_stat_sub __P((struct process_stats *,
struct process_stats *,
struct process_stats *));
#endif
#ifdef NEEDtcgetpgrp
extern int xtcgetpgrp __P((int));
extern int xtcsetpgrp __P((int, int));
# undef tcgetpgrp
# define tcgetpgrp(a) xtcgetpgrp(a)
# undef tcsetpgrp
# define tcsetpgrp(a, b) xtcsetpgrp((a), (b))
#endif
#ifdef YPBUGS
extern void fix_yp_bugs __P((void));
#endif
#ifdef STRCOLLBUG
extern void fix_strcoll_bug __P((void));
#endif
extern void osinit __P((void));
#ifndef HAVE_MEMMOVE
extern ptr_t xmemmove __P((ptr_t, const ptr_t, size_t));
# define memmove(a, b, c) xmemmove(a, b, c)
#endif
#ifndef HAVE_MEMSET
extern ptr_t xmemset __P((ptr_t, int, size_t));
# define memset(a, b, c) xmemset(a, b, c)
#endif
#ifndef HAVE_GETCWD
extern char *xgetcwd __P((char *, size_t));
# undef getcwd
# define getcwd(a, b) xgetcwd(a, b)
#endif
#ifndef HAVE_GETHOSTNAME
extern int xgethostname __P((char *, int));
# undef gethostname
# define gethostname(a, b) xgethostname(a, b)
#endif
#ifndef HAVE_NICE
extern int xnice __P((int));
# undef nice
# define nice(a) xnice(a)
#endif
#ifndef HAVE_STRERROR
extern char *xstrerror __P((int));
# undef strerror
# define strerror(a) xstrerror(a)
#endif
#ifdef apollo
extern void doinlib __P((Char **, struct command *));
extern void dover __P((Char **, struct command *));
extern void dorootnode __P((Char **, struct command *));
extern int getv __P((Char *));
#endif
extern pret_t xprintf __P((const char *, ...));
extern pret_t xsnprintf __P((char *, size_t, const char *, ...));
extern pret_t xvprintf __P((const char *, va_list));
extern pret_t xvsnprintf __P((char *, size_t, const char *,
va_list));
extern void dateinit __P((void));
extern void printprompt __P((int, const char *));
extern Char *expdollar __P((Char **, const Char **, size_t *,
int));
extern void tprintf __P((int, Char *, const Char *, size_t,
const char *, time_t, ptr_t));
extern time_t sched_next __P((void));
extern void dosched __P((Char **, struct command *));
extern void sched_run __P((int));
#ifndef BSDSIGS
# ifdef UNRELSIGS
# ifdef COHERENT
extern RETSIGTYPE (*xsignal __P((int, RETSIGTYPE (*)(int)))) ();
# define signal(x,y) xsignal(x,y)
# endif
extern RETSIGTYPE (*xsigset __P((int, RETSIGTYPE (*)(int)))) ();
# define sigset(x,y) xsigset(x,y)
extern void xsigrelse __P((int));
# define sigrelse(x) xsigrelse(x)
extern void xsighold __P((int));
# define sighold(x) xsighold(x)
extern void xsigignore __P((int));
# define sigignore(x) xsigignore(x)
extern void xsigpause __P((int));
# define sigpause(x) xsigpause(x)
extern pid_t ourwait __P((int *));
# endif
# ifdef SXA
extern void sigpause __P((int));
# endif
#endif
#ifdef NEEDsignal
extern RETSIGTYPE (*xsignal __P((int, RETSIGTYPE (*)(int)))) ();
# define signal(a, b) xsignal(a, b)
#endif
#if defined(_SEQUENT_) || ((SYSVREL > 3 || defined(_DGUX_SOURCE)) && defined(POSIXSIGS)) || ((defined(_AIX) || defined(__CYGWIN__)) && defined(POSIXSIGS)) || defined(WINNT_NATIVE)
extern sigmask_t sigsetmask __P((sigmask_t));
# if !defined(DGUX) || (defined(DGUX) && defined(__ix86))
extern sigmask_t sigblock __P((sigmask_t));
# endif
extern void bsd_sigpause __P((sigmask_t));
extern RETSIGTYPE (*bsd_signal __P((int, RETSIGTYPE (*)(int)))) __P((int));
#endif
#ifdef SIGSYNCH
extern RETSIGTYPE synch_handler __P((int));
#endif
#ifdef WIDE_STRINGS
extern size_t one_mbtowc __P((wchar_t *, const char *, size_t));
extern size_t one_wctomb __P((char *, wchar_t));
#else
#define one_mbtowc(PWC, S, N) \
((void)(N), *(PWC) = (unsigned char)*(S), (size_t)1)
#define one_wctomb(S, WCHAR) (*(S) = (WCHAR), (size_t)1)
#endif
#ifdef SHORT_STRINGS
extern int rt_mbtowc __P((wchar_t *, const char *, size_t));
extern Char *s_strchr __P((const Char *, int));
extern Char *s_strrchr __P((const Char *, int));
extern Char *s_strcat __P((Char *, const Char *));
# ifdef NOTUSED
extern Char *s_strncat __P((Char *, const Char *, size_t));
# endif
extern Char *s_strcpy __P((Char *, const Char *));
extern Char *s_strncpy __P((Char *, const Char *, size_t));
extern Char *s_strspl __P((const Char *, const Char *));
extern size_t s_strlen __P((const Char *));
extern int s_strcmp __P((const Char *, const Char *));
extern int s_strncmp __P((const Char *, const Char *,
size_t));
extern int s_strcasecmp __P((const Char *, const Char *));
extern Char *s_strsave __P((const Char *));
extern Char *s_strend __P((const Char *));
extern Char *s_strstr __P((const Char *, const Char *));
extern Char *str2short __P((const char *));
extern Char **blk2short __P((char **));
extern char *short2str __P((const Char *));
extern char **short2blk __P((Char **));
#endif
extern char *short2qstr __P((const Char *));
extern void fix_version __P((void));
#if defined (HAVE_UTMP_H) || defined (HAVE_UTMPX_H) || defined (WINNT_NATIVE)
extern void initwatch __P((void));
extern void resetwatch __P((void));
extern void watch_login __P((int));
extern const char *who_info __P((ptr_t, int, char *, size_t));
extern void dolog __P((Char **, struct command *));
# ifdef HAVE_STRUCT_UTMP_UT_HOST
extern char *utmphost __P((void));
extern size_t utmphostsize __P((void));
# endif
#else
# define HAVENOUTMP
#endif
#endif