1 /* $Header: /src/pub/tcsh/tc.decls.h,v 3.47 2000/11/12 02:18:06 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 45 extern void free __P((ptr_t)); 46 extern memalign_t malloc __P((size_t)); 47 extern memalign_t realloc __P((ptr_t, size_t)); 48 extern memalign_t calloc __P((size_t, size_t)); 49 #endif /* !WINNT_NATIVE */ 50 #else /* SYSMALLOC */ 51 extern void sfree __P((ptr_t)); 52 extern memalign_t smalloc __P((size_t)); 53 extern memalign_t srealloc __P((ptr_t, size_t)); 54 extern memalign_t scalloc __P((size_t, size_t)); 55 #endif /* SYSMALLOC */ 56 extern void showall __P((Char **, struct command *)); 57 58 /* 59 * tc.bind.c 60 */ 61 extern void dobindkey __P((Char **, struct command *)); 62 #ifdef OBSOLETE 63 extern void dobind __P((Char **, struct command *)); 64 #endif /* OBSOLETE */ 65 66 /* 67 * tc.defs.c: 68 */ 69 extern void getmachine __P((void)); 70 71 72 /* 73 * tc.disc.c 74 */ 75 extern int setdisc __P((int)); 76 extern int resetdisc __P((int)); 77 78 /* 79 * tc.func.c 80 */ 81 extern Char *expand_lex __P((Char *, size_t, struct wordent *, 82 int, int)); 83 extern Char *sprlex __P((Char *, size_t, struct wordent *)); 84 extern Char *Itoa __P((int, Char *, int, int)); 85 extern void dolist __P((Char **, struct command *)); 86 extern void dotelltc __P((Char **, struct command *)); 87 extern void doechotc __P((Char **, struct command *)); 88 extern void dosettc __P((Char **, struct command *)); 89 extern int cmd_expand __P((Char *, Char *)); 90 extern void dowhich __P((Char **, struct command *)); 91 extern struct process *find_stop_ed __P((void)); 92 extern void fg_proc_entry __P((struct process *)); 93 extern sigret_t alrmcatch __P((int)); 94 extern void precmd __P((void)); 95 extern void postcmd __P((void)); 96 extern void cwd_cmd __P((void)); 97 extern void beep_cmd __P((void)); 98 extern void period_cmd __P((void)); 99 extern void aliasrun __P((int, Char *, Char *)); 100 extern void setalarm __P((int)); 101 extern void rmstar __P((struct wordent *)); 102 extern void continue_jobs __P((struct wordent *)); 103 extern Char *gettilde __P((Char *)); 104 extern Char *getusername __P((Char **)); 105 #ifdef OBSOLETE 106 extern void doaliases __P((Char **, struct command *)); 107 #endif /* OBSOLETE */ 108 extern void shlvl __P((int)); 109 extern int fixio __P((int, int)); 110 extern int collate __P((const Char *, const Char *)); 111 #ifdef HASHBANG 112 extern int hashbang __P((int, Char ***)); 113 #endif /* HASHBANG */ 114 #ifdef REMOTEHOST 115 extern void remotehost __P((void)); 116 #endif /* REMOTEHOST */ 117 118 119 /* 120 * tc.os.c 121 */ 122 #ifdef MACH 123 extern void dosetpath __P((Char **, struct command *)); 124 #endif /* MACH */ 125 126 #ifdef TCF 127 extern void dogetxvers __P((Char **, struct command *)); 128 extern void dosetxvers __P((Char **, struct command *)); 129 extern void dogetspath __P((Char **, struct command *)); 130 extern void dosetspath __P((Char **, struct command *)); 131 extern char *sitename __P((pid_t)); 132 extern void domigrate __P((Char **, struct command *)); 133 #endif /* TCF */ 134 135 #ifdef WARP 136 extern void dowarp __P((Char **, struct command *)); 137 #endif /* WARP */ 138 139 #if defined(_CRAY) && !defined(_CRAYMPP) 140 extern void dodmmode __P((Char **, struct command *)); 141 #endif /* _CRAY && !_CRAYMPP */ 142 143 #if defined(masscomp) || defined(hcx) 144 extern void douniverse __P((Char **, struct command *)); 145 #endif /* masscomp */ 146 147 #if defined(hcx) 148 extern void doatt __P((Char **, struct command *)); 149 extern void doucb __P((Char **, struct command *)); 150 #endif /* hcx */ 151 152 #ifdef _SEQUENT_ 153 extern void pr_stat_sub __P((struct process_stats *, 154 struct process_stats *, 155 struct process_stats *)); 156 #endif /* _SEQUENT_ */ 157 158 #ifdef NEEDtcgetpgrp 159 extern int xtcgetpgrp __P((int)); 160 extern int xtcsetpgrp __P((int, int)); 161 # undef tcgetpgrp 162 # define tcgetpgrp(a) xtcgetpgrp(a) 163 # undef tcsetpgrp 164 # define tcsetpgrp(a, b) xtcsetpgrp((a), (b)) 165 #endif /* NEEDtcgetpgrp */ 166 167 #ifdef YPBUGS 168 extern void fix_yp_bugs __P((void)); 169 #endif /* YPBUGS */ 170 #ifdef STRCOLLBUG 171 extern void fix_strcoll_bug __P((void)); 172 #endif /* STRCOLLBUG */ 173 174 extern void osinit __P((void)); 175 176 #ifdef NEEDmemmove 177 extern ptr_t xmemmove __P((ptr_t, const ptr_t, size_t)); 178 # define memmove(a, b, c) xmemmove((a), (b), (c)) 179 #endif /* NEEDmemmove */ 180 181 #ifdef NEEDmemset 182 extern ptr_t xmemset __P((ptr_t, int, size_t)); 183 # define memset(a, b, c) xmemset((a), (b), (c)) 184 #endif /* NEEDmemset */ 185 186 187 #ifdef NEEDgetcwd 188 extern char *xgetcwd __P((char *, size_t)); 189 # undef getcwd 190 # define getcwd(a, b) xgetcwd((a), (b)) 191 #endif /* NEEDgetcwd */ 192 193 #ifdef NEEDgethostname 194 extern int xgethostname __P((char *, int)); 195 # undef gethostname 196 # define gethostname(a, b) xgethostname((a), (b)) 197 #endif /* NEEDgethostname */ 198 199 #ifdef NEEDnice 200 extern int xnice __P((int)); 201 # undef nice 202 # define nice(a) xnice(a) 203 #endif /* NEEDnice */ 204 205 #ifdef NEEDstrerror 206 extern char *xstrerror __P((int)); 207 # undef strerror 208 # define strerror(a) xstrerror(a) 209 #endif /* NEEDstrerror */ 210 211 #ifdef apollo 212 extern void doinlib __P((Char **, struct command *)); 213 extern void dover __P((Char **, struct command *)); 214 extern void dorootnode __P((Char **, struct command *)); 215 extern int getv __P((Char *)); 216 #endif /* apollo */ 217 218 219 /* 220 * tc.printf.h 221 */ 222 extern pret_t xprintf __P((const char *, ...)); 223 extern pret_t xsnprintf __P((char *, size_t, const char *, ...)); 224 extern pret_t xvprintf __P((const char *, va_list)); 225 extern pret_t xvsnprintf __P((char *, size_t, const char *, 226 va_list)); 227 228 /* 229 * tc.prompt.c 230 */ 231 extern void dateinit __P((void)); 232 extern void printprompt __P((int, char *)); 233 extern Char *expdollar __P((Char **, const Char **, size_t *, 234 int)); 235 extern void tprintf __P((int, Char *, const Char *, size_t, 236 char *, time_t, ptr_t)); 237 238 /* 239 * tc.sched.c 240 */ 241 extern time_t sched_next __P((void)); 242 extern void dosched __P((Char **, struct command *)); 243 extern void sched_run __P((int)); 244 245 /* 246 * tc.sig.c 247 */ 248 #ifndef BSDSIGS 249 # ifdef UNRELSIGS 250 # ifdef COHERENT 251 extern sigret_t (*xsignal __P((int, sigret_t (*)(int)))) (); 252 # define signal(x,y) xsignal(x,y) 253 # endif /* COHERENT */ 254 extern sigret_t (*xsigset __P((int, sigret_t (*)(int)))) (); 255 # define sigset(x,y) xsigset(x,y) 256 extern void xsigrelse __P((int)); 257 # define sigrelse(x) xsigrelse(x) 258 extern void xsighold __P((int)); 259 # define sighold(x) xsighold(x) 260 extern void xsigignore __P((int)); 261 # define sigignore(x) xsigignore(x) 262 extern void xsigpause __P((int)); 263 # define sigpause(x) xsigpause(x) 264 extern pid_t ourwait __P((int *)); 265 # endif /* UNRELSIGS */ 266 # ifdef SXA 267 extern void sigpause __P((int)); 268 # endif /* SXA */ 269 #endif /* !BSDSIGS */ 270 271 #ifdef NEEDsignal 272 extern sigret_t (*xsignal __P((int, sigret_t (*)(int)))) (); 273 # define signal(a, b) xsignal(a, b) 274 #endif /* NEEDsignal */ 275 #if defined(_SEQUENT_) || ((SYSVREL > 3 || defined(_DGUX_SOURCE)) && defined(POSIXSIGS)) || ((defined(_AIX) || defined(__CYGWIN__)) && defined(POSIXSIGS)) || defined(WINNT_NATIVE) 276 extern sigmask_t sigsetmask __P((sigmask_t)); 277 # if !defined(DGUX) || (defined(DGUX) && defined(__ix86)) 278 extern sigmask_t sigblock __P((sigmask_t)); 279 # endif /* !DGUX */ 280 extern void bsd_sigpause __P((sigmask_t)); 281 extern sigret_t (*bsd_signal __P((int, sigret_t (*)(int)))) __P((int)); 282 #endif /* _SEQUENT_ */ 283 #ifdef SIGSYNCH 284 extern sigret_t synch_handler __P((int)); 285 #endif /* SIGSYNCH */ 286 287 288 /* 289 * tc.str.c: 290 */ 291 #ifdef SHORT_STRINGS 292 extern Char *s_strchr __P((const Char *, int)); 293 extern Char *s_strrchr __P((const Char *, int)); 294 extern Char *s_strcat __P((Char *, const Char *)); 295 # ifdef NOTUSED 296 extern Char *s_strncat __P((Char *, const Char *, size_t)); 297 # endif /* NOTUSED */ 298 extern Char *s_strcpy __P((Char *, const Char *)); 299 extern Char *s_strncpy __P((Char *, const Char *, size_t)); 300 extern Char *s_strspl __P((const Char *, const Char *)); 301 extern size_t s_strlen __P((const Char *)); 302 extern int s_strcmp __P((const Char *, const Char *)); 303 extern int s_strncmp __P((const Char *, const Char *, 304 size_t)); 305 extern Char *s_strsave __P((const Char *)); 306 extern Char *s_strend __P((const Char *)); 307 extern Char *s_strstr __P((const Char *, const Char *)); 308 extern Char *str2short __P((const char *)); 309 extern Char **blk2short __P((char **)); 310 extern char *short2str __P((const Char *)); 311 extern char **short2blk __P((Char **)); 312 #endif /* SHORT_STRINGS */ 313 extern char *short2qstr __P((const Char *)); 314 315 316 /* 317 * tc.vers.c: 318 */ 319 extern void fix_version __P((void)); 320 321 /* 322 * tc.who.c 323 */ 324 #ifndef HAVENOUTMP 325 extern void initwatch __P((void)); 326 extern void resetwatch __P((void)); 327 extern void watch_login __P((int)); 328 extern const char *who_info __P((ptr_t, int, char *, size_t)); 329 extern void dolog __P((Char **, struct command *)); 330 # ifdef UTHOST 331 extern char *utmphost __P((void)); 332 extern size_t utmphostsize __P((void)); 333 # endif /* UTHOST */ 334 #endif /* HAVENOUTMP */ 335 336 #endif /* _h_tc_decls */ 337