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