tc.decls.h revision 131962
1/* $Header: /src/pub/tcsh/tc.decls.h,v 3.52 2004/02/21 20:34:25 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. Neither the name of the University nor the names of its contributors 18 * may be used to endorse or promote products derived from this software 19 * without specific prior written permission. 20 * 21 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 */ 33#ifndef _h_tc_decls 34#define _h_tc_decls 35 36/* 37 * tc.alloc.c 38 */ 39#ifndef SYSMALLOC 40#ifndef WINNT_NATIVE 41extern void free __P((ptr_t)); 42extern memalign_t malloc __P((size_t)); 43extern memalign_t realloc __P((ptr_t, size_t)); 44extern memalign_t calloc __P((size_t, size_t)); 45#endif /* !WINNT_NATIVE */ 46#else /* SYSMALLOC */ 47extern void sfree __P((ptr_t)); 48extern memalign_t smalloc __P((size_t)); 49extern memalign_t srealloc __P((ptr_t, size_t)); 50extern memalign_t scalloc __P((size_t, size_t)); 51#endif /* SYSMALLOC */ 52extern void showall __P((Char **, struct command *)); 53 54/* 55 * tc.bind.c 56 */ 57extern void dobindkey __P((Char **, struct command *)); 58#ifdef OBSOLETE 59extern void dobind __P((Char **, struct command *)); 60#endif /* OBSOLETE */ 61 62/* 63 * tc.defs.c: 64 */ 65extern void getmachine __P((void)); 66 67 68/* 69 * tc.disc.c 70 */ 71extern int setdisc __P((int)); 72extern int resetdisc __P((int)); 73 74/* 75 * tc.func.c 76 */ 77extern Char *expand_lex __P((Char *, size_t, struct wordent *, 78 int, int)); 79extern Char *sprlex __P((Char *, size_t, struct wordent *)); 80extern Char *Itoa __P((int, Char *, int, int)); 81extern void dolist __P((Char **, struct command *)); 82extern void dotelltc __P((Char **, struct command *)); 83extern void doechotc __P((Char **, struct command *)); 84extern void dosettc __P((Char **, struct command *)); 85extern int cmd_expand __P((Char *, Char *)); 86extern void dowhich __P((Char **, struct command *)); 87extern struct process *find_stop_ed __P((void)); 88extern void fg_proc_entry __P((struct process *)); 89extern sigret_t alrmcatch __P((int)); 90extern void precmd __P((void)); 91extern void postcmd __P((void)); 92extern void cwd_cmd __P((void)); 93extern void beep_cmd __P((void)); 94extern void period_cmd __P((void)); 95extern void job_cmd __P((Char *)); 96extern void aliasrun __P((int, Char *, Char *)); 97extern void setalarm __P((int)); 98extern void rmstar __P((struct wordent *)); 99extern void continue_jobs __P((struct wordent *)); 100extern Char *gettilde __P((Char *)); 101extern Char *getusername __P((Char **)); 102#ifdef OBSOLETE 103extern void doaliases __P((Char **, struct command *)); 104#endif /* OBSOLETE */ 105extern void shlvl __P((int)); 106extern int fixio __P((int, int)); 107extern int collate __P((const Char *, const Char *)); 108#ifdef HASHBANG 109extern int hashbang __P((int, Char ***)); 110#endif /* HASHBANG */ 111#ifdef REMOTEHOST 112extern void remotehost __P((void)); 113#endif /* REMOTEHOST */ 114 115 116/* 117 * tc.os.c 118 */ 119#ifdef MACH 120extern void dosetpath __P((Char **, struct command *)); 121#endif /* MACH */ 122 123#ifdef TCF 124extern void dogetxvers __P((Char **, struct command *)); 125extern void dosetxvers __P((Char **, struct command *)); 126extern void dogetspath __P((Char **, struct command *)); 127extern void dosetspath __P((Char **, struct command *)); 128extern char *sitename __P((pid_t)); 129extern void domigrate __P((Char **, struct command *)); 130#endif /* TCF */ 131 132#ifdef WARP 133extern void dowarp __P((Char **, struct command *)); 134#endif /* WARP */ 135 136#if defined(_CRAY) && !defined(_CRAYMPP) 137extern void dodmmode __P((Char **, struct command *)); 138#endif /* _CRAY && !_CRAYMPP */ 139 140#if defined(masscomp) || defined(hcx) 141extern void douniverse __P((Char **, struct command *)); 142#endif /* masscomp */ 143 144#if defined(_OSD_POSIX) /* BS2000 */ 145extern void dobs2cmd __P((Char **, struct command *)); 146#endif /* _OSD_POSIX */ 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 int s_strcasecmp __P((const Char *, const Char *)); 307extern Char *s_strsave __P((const Char *)); 308extern Char *s_strend __P((const Char *)); 309extern Char *s_strstr __P((const Char *, const Char *)); 310extern Char *str2short __P((const char *)); 311extern Char **blk2short __P((char **)); 312extern char *short2str __P((const Char *)); 313extern char **short2blk __P((Char **)); 314#endif /* SHORT_STRINGS */ 315extern char *short2qstr __P((const Char *)); 316 317 318/* 319 * tc.vers.c: 320 */ 321extern void fix_version __P((void)); 322 323/* 324 * tc.who.c 325 */ 326#ifndef HAVENOUTMP 327extern void initwatch __P((void)); 328extern void resetwatch __P((void)); 329extern void watch_login __P((int)); 330extern const char *who_info __P((ptr_t, int, char *, size_t)); 331extern void dolog __P((Char **, struct command *)); 332# ifdef UTHOST 333extern char *utmphost __P((void)); 334extern size_t utmphostsize __P((void)); 335# endif /* UTHOST */ 336#endif /* HAVENOUTMP */ 337 338#endif /* _h_tc_decls */ 339