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 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 job_cmd __P((Char *)); 100 extern void aliasrun __P((int, Char *, Char *)); 101 extern void setalarm __P((int)); 102 extern void rmstar __P((struct wordent *)); 103 extern void continue_jobs __P((struct wordent *)); 104 extern Char *gettilde __P((Char *)); 105 extern Char *getusername __P((Char **)); 106 #ifdef OBSOLETE 107 extern void doaliases __P((Char **, struct command *)); 108 #endif /* OBSOLETE */ 109 extern void shlvl __P((int)); 110 extern int fixio __P((int, int)); 111 extern int collate __P((const Char *, const Char *)); 112 #ifdef HASHBANG 113 extern int hashbang __P((int, Char ***)); 114 #endif /* HASHBANG */ 115 #ifdef REMOTEHOST 116 extern void remotehost __P((void)); 117 #endif /* REMOTEHOST */ 118 119 120 /* 121 * tc.os.c 122 */ 123 #ifdef MACH 124 extern void dosetpath __P((Char **, struct command *)); 125 #endif /* MACH */ 126 127 #ifdef TCF 128 extern void dogetxvers __P((Char **, struct command *)); 129 extern void dosetxvers __P((Char **, struct command *)); 130 extern void dogetspath __P((Char **, struct command *)); 131 extern void dosetspath __P((Char **, struct command *)); 132 extern char *sitename __P((pid_t)); 133 extern void domigrate __P((Char **, struct command *)); 134 #endif /* TCF */ 135 136 #ifdef WARP 137 extern void dowarp __P((Char **, struct command *)); 138 #endif /* WARP */ 139 140 #if defined(_CRAY) && !defined(_CRAYMPP) 141 extern void dodmmode __P((Char **, struct command *)); 142 #endif /* _CRAY && !_CRAYMPP */ 143 144 #if defined(masscomp) || defined(hcx) 145 extern void douniverse __P((Char **, struct command *)); 146 #endif /* masscomp */ 147 148 #if defined(hcx) 149 extern void doatt __P((Char **, struct command *)); 150 extern void doucb __P((Char **, struct command *)); 151 #endif /* hcx */ 152 153 #ifdef _SEQUENT_ 154 extern void pr_stat_sub __P((struct process_stats *, 155 struct process_stats *, 156 struct process_stats *)); 157 #endif /* _SEQUENT_ */ 158 159 #ifdef NEEDtcgetpgrp 160 extern int xtcgetpgrp __P((int)); 161 extern 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 169 extern void fix_yp_bugs __P((void)); 170 #endif /* YPBUGS */ 171 #ifdef STRCOLLBUG 172 extern void fix_strcoll_bug __P((void)); 173 #endif /* STRCOLLBUG */ 174 175 extern void osinit __P((void)); 176 177 #ifdef NEEDmemmove 178 extern 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 183 extern 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 189 extern char *xgetcwd __P((char *, size_t)); 190 # undef getcwd 191 # define getcwd(a, b) xgetcwd((a), (b)) 192 #endif /* NEEDgetcwd */ 193 194 #ifdef NEEDgethostname 195 extern int xgethostname __P((char *, int)); 196 # undef gethostname 197 # define gethostname(a, b) xgethostname((a), (b)) 198 #endif /* NEEDgethostname */ 199 200 #ifdef NEEDnice 201 extern int xnice __P((int)); 202 # undef nice 203 # define nice(a) xnice(a) 204 #endif /* NEEDnice */ 205 206 #ifdef NEEDstrerror 207 extern char *xstrerror __P((int)); 208 # undef strerror 209 # define strerror(a) xstrerror(a) 210 #endif /* NEEDstrerror */ 211 212 #ifdef apollo 213 extern void doinlib __P((Char **, struct command *)); 214 extern void dover __P((Char **, struct command *)); 215 extern void dorootnode __P((Char **, struct command *)); 216 extern int getv __P((Char *)); 217 #endif /* apollo */ 218 219 220 /* 221 * tc.printf.h 222 */ 223 extern pret_t xprintf __P((const char *, ...)); 224 extern pret_t xsnprintf __P((char *, size_t, const char *, ...)); 225 extern pret_t xvprintf __P((const char *, va_list)); 226 extern pret_t xvsnprintf __P((char *, size_t, const char *, 227 va_list)); 228 229 /* 230 * tc.prompt.c 231 */ 232 extern void dateinit __P((void)); 233 extern void printprompt __P((int, char *)); 234 extern Char *expdollar __P((Char **, const Char **, size_t *, 235 int)); 236 extern void tprintf __P((int, Char *, const Char *, size_t, 237 char *, time_t, ptr_t)); 238 239 /* 240 * tc.sched.c 241 */ 242 extern time_t sched_next __P((void)); 243 extern void dosched __P((Char **, struct command *)); 244 extern void sched_run __P((int)); 245 246 /* 247 * tc.sig.c 248 */ 249 #ifndef BSDSIGS 250 # ifdef UNRELSIGS 251 # ifdef COHERENT 252 extern sigret_t (*xsignal __P((int, sigret_t (*)(int)))) (); 253 # define signal(x,y) xsignal(x,y) 254 # endif /* COHERENT */ 255 extern sigret_t (*xsigset __P((int, sigret_t (*)(int)))) (); 256 # define sigset(x,y) xsigset(x,y) 257 extern void xsigrelse __P((int)); 258 # define sigrelse(x) xsigrelse(x) 259 extern void xsighold __P((int)); 260 # define sighold(x) xsighold(x) 261 extern void xsigignore __P((int)); 262 # define sigignore(x) xsigignore(x) 263 extern void xsigpause __P((int)); 264 # define sigpause(x) xsigpause(x) 265 extern pid_t ourwait __P((int *)); 266 # endif /* UNRELSIGS */ 267 # ifdef SXA 268 extern void sigpause __P((int)); 269 # endif /* SXA */ 270 #endif /* !BSDSIGS */ 271 272 #ifdef NEEDsignal 273 extern 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) 277 extern sigmask_t sigsetmask __P((sigmask_t)); 278 # if !defined(DGUX) || (defined(DGUX) && defined(__ix86)) 279 extern sigmask_t sigblock __P((sigmask_t)); 280 # endif /* !DGUX */ 281 extern void bsd_sigpause __P((sigmask_t)); 282 extern sigret_t (*bsd_signal __P((int, sigret_t (*)(int)))) __P((int)); 283 #endif /* _SEQUENT_ */ 284 #ifdef SIGSYNCH 285 extern sigret_t synch_handler __P((int)); 286 #endif /* SIGSYNCH */ 287 288 289 /* 290 * tc.str.c: 291 */ 292 #ifdef SHORT_STRINGS 293 extern Char *s_strchr __P((const Char *, int)); 294 extern Char *s_strrchr __P((const Char *, int)); 295 extern Char *s_strcat __P((Char *, const Char *)); 296 # ifdef NOTUSED 297 extern Char *s_strncat __P((Char *, const Char *, size_t)); 298 # endif /* NOTUSED */ 299 extern Char *s_strcpy __P((Char *, const Char *)); 300 extern Char *s_strncpy __P((Char *, const Char *, size_t)); 301 extern Char *s_strspl __P((const Char *, const Char *)); 302 extern size_t s_strlen __P((const Char *)); 303 extern int s_strcmp __P((const Char *, const Char *)); 304 extern int s_strncmp __P((const Char *, const Char *, 305 size_t)); 306 extern Char *s_strsave __P((const Char *)); 307 extern Char *s_strend __P((const Char *)); 308 extern Char *s_strstr __P((const Char *, const Char *)); 309 extern Char *str2short __P((const char *)); 310 extern Char **blk2short __P((char **)); 311 extern char *short2str __P((const Char *)); 312 extern char **short2blk __P((Char **)); 313 #endif /* SHORT_STRINGS */ 314 extern char *short2qstr __P((const Char *)); 315 316 317 /* 318 * tc.vers.c: 319 */ 320 extern void fix_version __P((void)); 321 322 /* 323 * tc.who.c 324 */ 325 #ifndef HAVENOUTMP 326 extern void initwatch __P((void)); 327 extern void resetwatch __P((void)); 328 extern void watch_login __P((int)); 329 extern const char *who_info __P((ptr_t, int, char *, size_t)); 330 extern void dolog __P((Char **, struct command *)); 331 # ifdef UTHOST 332 extern char *utmphost __P((void)); 333 extern size_t utmphostsize __P((void)); 334 # endif /* UTHOST */ 335 #endif /* HAVENOUTMP */ 336 337 #endif /* _h_tc_decls */ 338