xref: /freebsd/contrib/tcsh/tc.decls.h (revision c0b9f4fe659b6839541970eb5675e57f4d814969)
1 /* $Header: /src/pub/tcsh/tc.decls.h,v 3.57 2005/01/18 20:24:51 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		  dotermname	__P((Char **, struct command *));
83 extern	void		  dotelltc	__P((Char **, struct command *));
84 extern	void		  doechotc	__P((Char **, struct command *));
85 extern	void		  dosettc	__P((Char **, struct command *));
86 extern	int		  cmd_expand	__P((Char *, Char *));
87 extern	void		  dowhich	__P((Char **, struct command *));
88 extern	struct process	 *find_stop_ed	__P((void));
89 extern	void		  fg_proc_entry	__P((struct process *));
90 extern	RETSIGTYPE	  alrmcatch	__P((int));
91 extern	void		  precmd	__P((void));
92 extern	void		  postcmd	__P((void));
93 extern	void		  cwd_cmd	__P((void));
94 extern	void		  beep_cmd	__P((void));
95 extern	void		  period_cmd	__P((void));
96 extern	void		  job_cmd	__P((Char *));
97 extern	void		  aliasrun	__P((int, Char *, Char *));
98 extern	void		  setalarm	__P((int));
99 extern	void		  rmstar	__P((struct wordent *));
100 extern	void		  continue_jobs	__P((struct wordent *));
101 extern	Char		 *gettilde	__P((Char *));
102 extern	Char		 *getusername	__P((Char **));
103 #ifdef OBSOLETE
104 extern	void		  doaliases	__P((Char **, struct command *));
105 #endif /* OBSOLETE */
106 extern	void		  shlvl		__P((int));
107 extern	int		  fixio		__P((int, int));
108 extern	int		  collate	__P((const Char *, const Char *));
109 #ifdef HASHBANG
110 extern	int		  hashbang	__P((int, Char ***));
111 #endif /* HASHBANG */
112 #ifdef REMOTEHOST
113 extern	void		  remotehost	__P((void));
114 #endif /* REMOTEHOST */
115 
116 
117 /*
118  * tc.os.c
119  */
120 #ifdef MACH
121 extern	void		  dosetpath	__P((Char **, struct command *));
122 #endif /* MACH */
123 
124 #ifdef TCF
125 extern	void		  dogetxvers	__P((Char **, struct command *));
126 extern	void		  dosetxvers	__P((Char **, struct command *));
127 extern	void		  dogetspath	__P((Char **, struct command *));
128 extern	void		  dosetspath	__P((Char **, struct command *));
129 extern	char		 *sitename	__P((pid_t));
130 extern	void		  domigrate	__P((Char **, struct command *));
131 #endif /* TCF */
132 
133 #ifdef WARP
134 extern	void 		  dowarp	__P((Char **, struct command *));
135 #endif /* WARP */
136 
137 #if defined(_CRAY) && !defined(_CRAYMPP)
138 extern	void 		  dodmmode	__P((Char **, struct command *));
139 #endif /* _CRAY && !_CRAYMPP */
140 
141 #if defined(masscomp) || defined(hcx)
142 extern	void		  douniverse	__P((Char **, struct command *));
143 #endif /* masscomp */
144 
145 #if defined(_OSD_POSIX) /* BS2000 */
146 extern	void		  dobs2cmd	__P((Char **, struct command *));
147 #endif /* _OSD_POSIX */
148 
149 #if defined(hcx)
150 extern	void		  doatt		__P((Char **, struct command *));
151 extern	void		  doucb		__P((Char **, struct command *));
152 #endif /* hcx */
153 
154 #ifdef _SEQUENT_
155 extern	void	 	  pr_stat_sub	__P((struct process_stats *,
156 					     struct process_stats *,
157 					     struct process_stats *));
158 #endif /* _SEQUENT_ */
159 
160 #ifdef NEEDtcgetpgrp
161 extern	int	 	  xtcgetpgrp	__P((int));
162 extern	int		  xtcsetpgrp	__P((int, int));
163 # undef tcgetpgrp
164 # define tcgetpgrp(a) 	  xtcgetpgrp(a)
165 # undef tcsetpgrp
166 # define tcsetpgrp(a, b)  xtcsetpgrp((a), (b))
167 #endif /* NEEDtcgetpgrp */
168 
169 #ifdef YPBUGS
170 extern	void	 	  fix_yp_bugs	__P((void));
171 #endif /* YPBUGS */
172 #ifdef STRCOLLBUG
173 extern	void	 	  fix_strcoll_bug	__P((void));
174 #endif /* STRCOLLBUG */
175 
176 extern	void	 	  osinit	__P((void));
177 
178 #ifndef HAVE_MEMMOVE
179 extern ptr_t 		 xmemmove	__P((ptr_t, const ptr_t, size_t));
180 # define memmove(a, b, c) xmemmove(a, b, c)
181 #endif /* !HAVE_MEMMOVE */
182 
183 #ifndef HAVE_MEMSET
184 extern ptr_t 		 xmemset	__P((ptr_t, int, size_t));
185 # define memset(a, b, c) xmemset(a, b, c)
186 #endif /* !HAVE_MEMSET */
187 
188 
189 #ifndef HAVE_GETCWD
190 extern	char		 *xgetcwd	__P((char *, size_t));
191 # undef getcwd
192 # define getcwd(a, b) xgetcwd(a, b)
193 #endif /* !HAVE_GETCWD */
194 
195 #ifndef HAVE_GETHOSTNAME
196 extern	int	 	  xgethostname	__P((char *, int));
197 # undef gethostname
198 # define gethostname(a, b) xgethostname(a, b)
199 #endif /* !HAVE_GETHOSTNAME */
200 
201 #ifndef HAVE_NICE
202 extern	int	 	  xnice	__P((int));
203 # undef nice
204 # define nice(a)	  xnice(a)
205 #endif /* !HAVE_NICE */
206 
207 #ifndef HAVE_STRERROR
208 extern	char	 	 *xstrerror	__P((int));
209 # undef strerror
210 # define strerror(a) 	  xstrerror(a)
211 #endif /* !HAVE_STRERROR */
212 
213 #ifdef apollo
214 extern	void		  doinlib	__P((Char **, struct command *));
215 extern	void		  dover		__P((Char **, struct command *));
216 extern	void		  dorootnode	__P((Char **, struct command *));
217 extern	int		  getv		__P((Char *));
218 #endif /* apollo */
219 
220 
221 /*
222  * tc.printf.h
223  */
224 extern	pret_t		  xprintf	__P((const char *, ...));
225 extern	pret_t		  xsnprintf	__P((char *, size_t, const char *, ...));
226 extern	pret_t		  xvprintf	__P((const char *, va_list));
227 extern	pret_t		  xvsnprintf	__P((char *, size_t, const char *,
228 					     va_list));
229 
230 /*
231  * tc.prompt.c
232  */
233 extern	void		  dateinit	__P((void));
234 extern	void		  printprompt	__P((int, const char *));
235 extern  Char 		 *expdollar	__P((Char **, const Char **, size_t *,
236 					     int));
237 extern	void		  tprintf	__P((int, Char *, const Char *, size_t,
238 					     const char *, time_t, ptr_t));
239 
240 /*
241  * tc.sched.c
242  */
243 extern	time_t		  sched_next	__P((void));
244 extern	void		  dosched	__P((Char **, struct command *));
245 extern	void		  sched_run	__P((int));
246 
247 /*
248  * tc.sig.c
249  */
250 #ifndef BSDSIGS
251 # ifdef UNRELSIGS
252 #  ifdef COHERENT
253 extern	RETSIGTYPE	(*xsignal	__P((int, RETSIGTYPE (*)(int)))) ();
254 #   define signal(x,y)	  xsignal(x,y)
255 #  endif /* COHERENT */
256 extern	RETSIGTYPE	(*xsigset	__P((int, RETSIGTYPE (*)(int)))) ();
257 #  define sigset(x,y)	  xsigset(x,y)
258 extern	void		  xsigrelse	__P((int));
259 #  define sigrelse(x)	  xsigrelse(x)
260 extern	void		  xsighold	__P((int));
261 #  define sighold(x)	  xsighold(x)
262 extern	void		  xsigignore	__P((int));
263 #  define sigignore(x)	  xsigignore(x)
264 extern	void 		  xsigpause	__P((int));
265 #  define sigpause(x)	  xsigpause(x)
266 extern	pid_t 		  ourwait	__P((int *));
267 # endif /* UNRELSIGS */
268 # ifdef SXA
269 extern	void 		  sigpause	__P((int));
270 # endif /* SXA */
271 #endif /* !BSDSIGS */
272 
273 #ifdef NEEDsignal
274 extern	RETSIGTYPE	(*xsignal	__P((int, RETSIGTYPE (*)(int)))) ();
275 # define signal(a, b)	  xsignal(a, b)
276 #endif /* NEEDsignal */
277 #if defined(_SEQUENT_) || ((SYSVREL > 3 || defined(_DGUX_SOURCE)) && defined(POSIXSIGS)) || ((defined(_AIX) || defined(__CYGWIN__)) && defined(POSIXSIGS)) || defined(WINNT_NATIVE)
278 extern	sigmask_t	  sigsetmask	__P((sigmask_t));
279 # if !defined(DGUX) || (defined(DGUX) && defined(__ix86))
280 extern	sigmask_t	  sigblock	__P((sigmask_t));
281 # endif /* !DGUX */
282 extern	void		  bsd_sigpause	__P((sigmask_t));
283 extern  RETSIGTYPE        (*bsd_signal    __P((int, RETSIGTYPE (*)(int)))) __P((int));
284 #endif /* _SEQUENT_ */
285 #ifdef SIGSYNCH
286 extern	RETSIGTYPE	  synch_handler	__P((int));
287 #endif /* SIGSYNCH */
288 
289 
290 /*
291  * tc.str.c:
292  */
293 #ifdef WIDE_STRINGS
294 extern	size_t		  one_mbtowc	__P((wchar_t *, const char *, size_t));
295 extern	size_t		  one_wctomb	__P((char *, wchar_t));
296 #else
297 #define one_mbtowc(PWC, S, N) \
298 	((void)(N), *(PWC) = (unsigned char)*(S), (size_t)1)
299 #define one_wctomb(S, WCHAR) (*(S) = (WCHAR), (size_t)1)
300 #endif
301 #ifdef SHORT_STRINGS
302 extern  int		  rt_mbtowc	__P((wchar_t *, const char *, size_t));
303 extern	Char		 *s_strchr	__P((const Char *, int));
304 extern	Char		 *s_strrchr	__P((const Char *, int));
305 extern	Char		 *s_strcat	__P((Char *, const Char *));
306 # ifdef NOTUSED
307 extern	Char		 *s_strncat	__P((Char *, const Char *, size_t));
308 # endif /* NOTUSED */
309 extern	Char		 *s_strcpy	__P((Char *, const Char *));
310 extern	Char		 *s_strncpy	__P((Char *, const Char *, size_t));
311 extern	Char		 *s_strspl	__P((const Char *, const Char *));
312 extern	size_t		  s_strlen	__P((const Char *));
313 extern	int		  s_strcmp	__P((const Char *, const Char *));
314 extern	int		  s_strncmp	__P((const Char *, const Char *,
315 					     size_t));
316 extern	int		  s_strcasecmp	__P((const Char *, const Char *));
317 extern	Char		 *s_strsave	__P((const Char *));
318 extern	Char		 *s_strend	__P((const Char *));
319 extern	Char		 *s_strstr	__P((const Char *, const Char *));
320 extern	Char		 *str2short	__P((const char *));
321 extern	Char		**blk2short	__P((char **));
322 extern	char		 *short2str	__P((const Char *));
323 extern	char		**short2blk	__P((Char **));
324 #endif /* SHORT_STRINGS */
325 extern	char		 *short2qstr	__P((const Char *));
326 
327 
328 /*
329  * tc.vers.c:
330  */
331 extern	void		  fix_version	__P((void));
332 
333 /*
334  * tc.who.c
335  */
336 #if defined (HAVE_UTMP_H) || defined (HAVE_UTMPX_H) || defined (WINNT_NATIVE)
337 extern	void		  initwatch	__P((void));
338 extern	void		  resetwatch	__P((void));
339 extern	void		  watch_login	__P((int));
340 extern	const char 	 *who_info	__P((ptr_t, int, char *, size_t));
341 extern	void		  dolog		__P((Char **, struct command *));
342 # ifdef HAVE_STRUCT_UTMP_UT_HOST
343 extern	char		 *utmphost	__P((void));
344 extern	size_t		  utmphostsize	__P((void));
345 # endif /* HAVE_STRUCT_UTMP_UT_HOST */
346 #else
347 # define HAVENOUTMP
348 #endif
349 
350 #endif /* _h_tc_decls */
351