xref: /freebsd/contrib/tcsh/tc.decls.h (revision 6990ffd8a95caaba6858ad44ff1b3157d1efba8f)
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