tc.decls.h revision 83098
1/* $Header: /src/pub/tcsh/tc.decls.h,v 3.49 2001/08/06 23:57:33 christos Exp $ */ 2/* 3 * tc.decls.h: Function declarations from all the tcsh modules 4 */ 5/*- 6 * Copyright (c) 1980, 1991 The Regents of the University of California. 7 * All rights reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted provided that the following conditions 11 * are met: 12 * 1. Redistributions of source code must retain the above copyright 13 * notice, this list of conditions and the following disclaimer. 14 * 2. Redistributions in binary form must reproduce the above copyright 15 * notice, this list of conditions and the following disclaimer in the 16 * documentation and/or other materials provided with the distribution. 17 * 3. All advertising materials mentioning features or use of this software 18 * must display the following acknowledgement: 19 * This product includes software developed by the University of 20 * California, Berkeley and its contributors. 21 * 4. Neither the name of the University nor the names of its contributors 22 * may be used to endorse or promote products derived from this software 23 * without specific prior written permission. 24 * 25 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 26 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 28 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 31 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 35 * SUCH DAMAGE. 36 */ 37#ifndef _h_tc_decls 38#define _h_tc_decls 39 40/* 41 * tc.alloc.c 42 */ 43#ifndef SYSMALLOC 44#ifndef WINNT_NATIVE 45extern void free __P((ptr_t)); 46extern memalign_t malloc __P((size_t)); 47extern memalign_t realloc __P((ptr_t, size_t)); 48extern memalign_t calloc __P((size_t, size_t)); 49#endif /* !WINNT_NATIVE */ 50#else /* SYSMALLOC */ 51extern void sfree __P((ptr_t)); 52extern memalign_t smalloc __P((size_t)); 53extern memalign_t srealloc __P((ptr_t, size_t)); 54extern memalign_t scalloc __P((size_t, size_t)); 55#endif /* SYSMALLOC */ 56extern void showall __P((Char **, struct command *)); 57 58/* 59 * tc.bind.c 60 */ 61extern void dobindkey __P((Char **, struct command *)); 62#ifdef OBSOLETE 63extern void dobind __P((Char **, struct command *)); 64#endif /* OBSOLETE */ 65 66/* 67 * tc.defs.c: 68 */ 69extern void getmachine __P((void)); 70 71 72/* 73 * tc.disc.c 74 */ 75extern int setdisc __P((int)); 76extern int resetdisc __P((int)); 77 78/* 79 * tc.func.c 80 */ 81extern Char *expand_lex __P((Char *, size_t, struct wordent *, 82 int, int)); 83extern Char *sprlex __P((Char *, size_t, struct wordent *)); 84extern Char *Itoa __P((int, Char *, int, int)); 85extern void dolist __P((Char **, struct command *)); 86extern void dotelltc __P((Char **, struct command *)); 87extern void doechotc __P((Char **, struct command *)); 88extern void dosettc __P((Char **, struct command *)); 89extern int cmd_expand __P((Char *, Char *)); 90extern void dowhich __P((Char **, struct command *)); 91extern struct process *find_stop_ed __P((void)); 92extern void fg_proc_entry __P((struct process *)); 93extern sigret_t alrmcatch __P((int)); 94extern void precmd __P((void)); 95extern void postcmd __P((void)); 96extern void cwd_cmd __P((void)); 97extern void beep_cmd __P((void)); 98extern void period_cmd __P((void)); 99extern void job_cmd __P((Char *)); 100extern void aliasrun __P((int, Char *, Char *)); 101extern void setalarm __P((int)); 102extern void rmstar __P((struct wordent *)); 103extern void continue_jobs __P((struct wordent *)); 104extern Char *gettilde __P((Char *)); 105extern Char *getusername __P((Char **)); 106#ifdef OBSOLETE 107extern void doaliases __P((Char **, struct command *)); 108#endif /* OBSOLETE */ 109extern void shlvl __P((int)); 110extern int fixio __P((int, int)); 111extern int collate __P((const Char *, const Char *)); 112#ifdef HASHBANG 113extern int hashbang __P((int, Char ***)); 114#endif /* HASHBANG */ 115#ifdef REMOTEHOST 116extern void remotehost __P((void)); 117#endif /* REMOTEHOST */ 118 119 120/* 121 * tc.os.c 122 */ 123#ifdef MACH 124extern void dosetpath __P((Char **, struct command *)); 125#endif /* MACH */ 126 127#ifdef TCF 128extern void dogetxvers __P((Char **, struct command *)); 129extern void dosetxvers __P((Char **, struct command *)); 130extern void dogetspath __P((Char **, struct command *)); 131extern void dosetspath __P((Char **, struct command *)); 132extern char *sitename __P((pid_t)); 133extern void domigrate __P((Char **, struct command *)); 134#endif /* TCF */ 135 136#ifdef WARP 137extern void dowarp __P((Char **, struct command *)); 138#endif /* WARP */ 139 140#if defined(_CRAY) && !defined(_CRAYMPP) 141extern void dodmmode __P((Char **, struct command *)); 142#endif /* _CRAY && !_CRAYMPP */ 143 144#if defined(masscomp) || defined(hcx) 145extern void douniverse __P((Char **, struct command *)); 146#endif /* masscomp */ 147 148#if defined(hcx) 149extern void doatt __P((Char **, struct command *)); 150extern void doucb __P((Char **, struct command *)); 151#endif /* hcx */ 152 153#ifdef _SEQUENT_ 154extern void pr_stat_sub __P((struct process_stats *, 155 struct process_stats *, 156 struct process_stats *)); 157#endif /* _SEQUENT_ */ 158 159#ifdef NEEDtcgetpgrp 160extern int xtcgetpgrp __P((int)); 161extern int xtcsetpgrp __P((int, int)); 162# undef tcgetpgrp 163# define tcgetpgrp(a) xtcgetpgrp(a) 164# undef tcsetpgrp 165# define tcsetpgrp(a, b) xtcsetpgrp((a), (b)) 166#endif /* NEEDtcgetpgrp */ 167 168#ifdef YPBUGS 169extern void fix_yp_bugs __P((void)); 170#endif /* YPBUGS */ 171#ifdef STRCOLLBUG 172extern void fix_strcoll_bug __P((void)); 173#endif /* STRCOLLBUG */ 174 175extern void osinit __P((void)); 176 177#ifdef NEEDmemmove 178extern ptr_t xmemmove __P((ptr_t, const ptr_t, size_t)); 179# define memmove(a, b, c) xmemmove((a), (b), (c)) 180#endif /* NEEDmemmove */ 181 182#ifdef NEEDmemset 183extern ptr_t xmemset __P((ptr_t, int, size_t)); 184# define memset(a, b, c) xmemset((a), (b), (c)) 185#endif /* NEEDmemset */ 186 187 188#ifdef NEEDgetcwd 189extern char *xgetcwd __P((char *, size_t)); 190# undef getcwd 191# define getcwd(a, b) xgetcwd((a), (b)) 192#endif /* NEEDgetcwd */ 193 194#ifdef NEEDgethostname 195extern int xgethostname __P((char *, int)); 196# undef gethostname 197# define gethostname(a, b) xgethostname((a), (b)) 198#endif /* NEEDgethostname */ 199 200#ifdef NEEDnice 201extern int xnice __P((int)); 202# undef nice 203# define nice(a) xnice(a) 204#endif /* NEEDnice */ 205 206#ifdef NEEDstrerror 207extern char *xstrerror __P((int)); 208# undef strerror 209# define strerror(a) xstrerror(a) 210#endif /* NEEDstrerror */ 211 212#ifdef apollo 213extern void doinlib __P((Char **, struct command *)); 214extern void dover __P((Char **, struct command *)); 215extern void dorootnode __P((Char **, struct command *)); 216extern int getv __P((Char *)); 217#endif /* apollo */ 218 219 220/* 221 * tc.printf.h 222 */ 223extern pret_t xprintf __P((const char *, ...)); 224extern pret_t xsnprintf __P((char *, size_t, const char *, ...)); 225extern pret_t xvprintf __P((const char *, va_list)); 226extern pret_t xvsnprintf __P((char *, size_t, const char *, 227 va_list)); 228 229/* 230 * tc.prompt.c 231 */ 232extern void dateinit __P((void)); 233extern void printprompt __P((int, char *)); 234extern Char *expdollar __P((Char **, const Char **, size_t *, 235 int)); 236extern void tprintf __P((int, Char *, const Char *, size_t, 237 char *, time_t, ptr_t)); 238 239/* 240 * tc.sched.c 241 */ 242extern time_t sched_next __P((void)); 243extern void dosched __P((Char **, struct command *)); 244extern void sched_run __P((int)); 245 246/* 247 * tc.sig.c 248 */ 249#ifndef BSDSIGS 250# ifdef UNRELSIGS 251# ifdef COHERENT 252extern sigret_t (*xsignal __P((int, sigret_t (*)(int)))) (); 253# define signal(x,y) xsignal(x,y) 254# endif /* COHERENT */ 255extern sigret_t (*xsigset __P((int, sigret_t (*)(int)))) (); 256# define sigset(x,y) xsigset(x,y) 257extern void xsigrelse __P((int)); 258# define sigrelse(x) xsigrelse(x) 259extern void xsighold __P((int)); 260# define sighold(x) xsighold(x) 261extern void xsigignore __P((int)); 262# define sigignore(x) xsigignore(x) 263extern void xsigpause __P((int)); 264# define sigpause(x) xsigpause(x) 265extern pid_t ourwait __P((int *)); 266# endif /* UNRELSIGS */ 267# ifdef SXA 268extern void sigpause __P((int)); 269# endif /* SXA */ 270#endif /* !BSDSIGS */ 271 272#ifdef NEEDsignal 273extern sigret_t (*xsignal __P((int, sigret_t (*)(int)))) (); 274# define signal(a, b) xsignal(a, b) 275#endif /* NEEDsignal */ 276#if defined(_SEQUENT_) || ((SYSVREL > 3 || defined(_DGUX_SOURCE)) && defined(POSIXSIGS)) || ((defined(_AIX) || defined(__CYGWIN__)) && defined(POSIXSIGS)) || defined(WINNT_NATIVE) 277extern sigmask_t sigsetmask __P((sigmask_t)); 278# if !defined(DGUX) || (defined(DGUX) && defined(__ix86)) 279extern sigmask_t sigblock __P((sigmask_t)); 280# endif /* !DGUX */ 281extern void bsd_sigpause __P((sigmask_t)); 282extern sigret_t (*bsd_signal __P((int, sigret_t (*)(int)))) __P((int)); 283#endif /* _SEQUENT_ */ 284#ifdef SIGSYNCH 285extern sigret_t synch_handler __P((int)); 286#endif /* SIGSYNCH */ 287 288 289/* 290 * tc.str.c: 291 */ 292#ifdef SHORT_STRINGS 293extern Char *s_strchr __P((const Char *, int)); 294extern Char *s_strrchr __P((const Char *, int)); 295extern Char *s_strcat __P((Char *, const Char *)); 296# ifdef NOTUSED 297extern Char *s_strncat __P((Char *, const Char *, size_t)); 298# endif /* NOTUSED */ 299extern Char *s_strcpy __P((Char *, const Char *)); 300extern Char *s_strncpy __P((Char *, const Char *, size_t)); 301extern Char *s_strspl __P((const Char *, const Char *)); 302extern size_t s_strlen __P((const Char *)); 303extern int s_strcmp __P((const Char *, const Char *)); 304extern int s_strncmp __P((const Char *, const Char *, 305 size_t)); 306extern Char *s_strsave __P((const Char *)); 307extern Char *s_strend __P((const Char *)); 308extern Char *s_strstr __P((const Char *, const Char *)); 309extern Char *str2short __P((const char *)); 310extern Char **blk2short __P((char **)); 311extern char *short2str __P((const Char *)); 312extern char **short2blk __P((Char **)); 313#endif /* SHORT_STRINGS */ 314extern char *short2qstr __P((const Char *)); 315 316 317/* 318 * tc.vers.c: 319 */ 320extern void fix_version __P((void)); 321 322/* 323 * tc.who.c 324 */ 325#ifndef HAVENOUTMP 326extern void initwatch __P((void)); 327extern void resetwatch __P((void)); 328extern void watch_login __P((int)); 329extern const char *who_info __P((ptr_t, int, char *, size_t)); 330extern void dolog __P((Char **, struct command *)); 331# ifdef UTHOST 332extern char *utmphost __P((void)); 333extern size_t utmphostsize __P((void)); 334# endif /* UTHOST */ 335#endif /* HAVENOUTMP */ 336 337#endif /* _h_tc_decls */ 338