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