extern.h revision 1.4 1 /*-
2 * Copyright (c) 1991 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. All advertising materials mentioning features or use of this software
14 * must display the following acknowledgement:
15 * This product includes software developed by the University of
16 * California, Berkeley and its contributors.
17 * 4. 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 * from: @(#)extern.h 5.4 (Berkeley) 6/8/91
34 * $Id: extern.h,v 1.4 1993/08/01 19:00:55 mycroft Exp $
35 */
36
37 #include <sys/cdefs.h>
38
39 /*
40 * csh.c
41 */
42 int gethdir __P((Char *));
43 void dosource __P((Char **));
44 void exitstat __P((void));
45 void goodbye __P((void));
46 void importpath __P((Char *));
47 void initdesc __P((void));
48 void pintr __P((int));
49 void pintr1 __P((bool));
50 void printprompt __P((void));
51 void process __P((bool));
52 void rechist __P((void));
53 void untty __P((void));
54
55 #ifdef PROF
56 void done __P((int));
57 #else
58 void xexit __P((int));
59 #endif
60
61 /*
62 * dir.c
63 */
64 void dinit __P((Char *));
65 void dodirs __P((Char **));
66 Char *dcanon __P((Char *, Char *));
67 void dtildepr __P((Char *, Char *));
68 void dtilde __P((void));
69 void dochngd __P((Char **));
70 Char *dnormalize __P((Char *));
71 void dopushd __P((Char **));
72 void dopopd __P((Char **));
73 struct directory;
74 void dfree __P((struct directory *));
75
76 /*
77 * dol.c
78 */
79 void Dfix __P((struct command *));
80 Char *Dfix1 __P((Char *));
81 void heredoc __P((Char *));
82
83 /*
84 * err.c
85 */
86 void seterror __P((int, ...));
87 void stderror __P((int, ...));
88
89 /*
90 * exec.c
91 */
92 void doexec __P((struct command *));
93 void dohash __P((void));
94 void dounhash __P((void));
95 void execash __P((char **, struct command *));
96 void hashstat __P((void));
97 void xechoit __P((Char **));
98
99 /*
100 * exp.c
101 */
102 int exp __P((Char ***));
103 int exp0 __P((Char ***, bool));
104
105 /*
106 * file.c
107 */
108 #ifdef FILEC
109 int tenex __P((Char *, int));
110 #endif
111
112 /*
113 * func.c
114 */
115 void Setenv __P((Char *, Char *));
116 void doalias __P((Char **));
117 void dobreak __P((void));
118 void docontin __P((void));
119 void doecho __P((Char **));
120 void doelse __P((void));
121 void doend __P((void));
122 void doeval __P((Char **));
123 void doexit __P((Char **));
124 void doforeach __P((Char **));
125 void doglob __P((Char **));
126 void dogoto __P((Char **));
127 void doif __P((Char **, struct command *));
128 void dolimit __P((Char **));
129 void dologin __P((Char **));
130 void dologout __P((void));
131 void donohup __P((void));
132 void doonintr __P((Char **));
133 void dorepeat __P((Char **, struct command *));
134 void dosetenv __P((Char **));
135 void dosuspend __P((void));
136 void doswbrk __P((void));
137 void doswitch __P((Char **));
138 void doumask __P((Char **));
139 void dounlimit __P((Char **));
140 void dounsetenv __P((Char **));
141 void dowhile __P((Char **));
142 void dozip __P((void));
143 void func __P((struct command *, struct biltins *));
144 struct biltins *
145 isbfunc __P((struct command *));
146 void prvars __P((void));
147 void search __P((int, int, Char *));
148 int srchx __P((Char *));
149 void unalias __P((Char **));
150 void wfree __P((void));
151
152 /*
153 * glob.c
154 */
155 Char **dobackp __P((Char *, bool));
156 void Gcat __P((Char *, Char *));
157 Char *globone __P((Char *, int));
158 int Gmatch __P((Char *, Char *));
159 void ginit __P((void));
160 Char **globall __P((Char **));
161 void rscan __P((Char **, void (*)()));
162 void tglob __P((Char **));
163 void trim __P((Char **));
164 #ifdef FILEC
165 int sortscmp __P((Char **, Char **));
166 #endif /* FILEC */
167
168 /*
169 * hist.c
170 */
171 void dohist __P((Char **));
172 struct Hist *
173 enthist __P((int, struct wordent *, bool));
174 void savehist __P((struct wordent *));
175
176 /*
177 * lex.c
178 */
179 void addla __P((Char *));
180 void bseek __P((off_t));
181 void btoeof __P((void));
182 void copylex __P((struct wordent *, struct wordent *));
183 Char *domod __P((Char *, int));
184 void freelex __P((struct wordent *));
185 int lex __P((struct wordent *));
186 void prlex __P((struct wordent *));
187 int readc __P((bool));
188 void settell __P((void));
189 void unreadc __P((int));
190
191 /*
192 * misc.c
193 */
194 int any __P((char *, int));
195 Char **blkcat __P((Char **, Char **));
196 Char **blkcpy __P((Char **, Char **));
197 Char **blkend __P((Char **));
198 void blkfree __P((Char **));
199 int blklen __P((Char **));
200 void blkpr __P((Char **));
201 Char **blkspl __P((Char **, Char **));
202 void closem __P((void));
203 Char **copyblk __P((Char **));
204 int dcopy __P((int, int));
205 int dmove __P((int, int));
206 void donefds __P((void));
207 Char lastchr __P((Char *));
208 void lshift __P((Char **, int));
209 int number __P((Char *));
210 int prefix __P((Char *, Char *));
211 Char **saveblk __P((Char **));
212 void setzero __P((char *, int));
213 Char *strip __P((Char *));
214 char *strsave __P((char *));
215 char *strspl __P((char *, char *));
216 void udvar __P((Char *));
217
218 #ifndef NOTUSED
219 char *strstr __P((const char *, const char *));
220 #endif
221 #ifndef SHORT_STRINGS
222 char *strend __P((char *));
223 #endif
224
225 /*
226 * parse.c
227 */
228 void alias __P((struct wordent *));
229 void freesyn __P((struct command *));
230 struct command *
231 syntax __P((struct wordent *, struct wordent *, int));
232
233 /*
234 * print.c
235 */
236 void draino __P((void));
237 void flush __P((void));
238 void pcsecs __P((long));
239 void psecs __P((long));
240 int putpure __P((int));
241 int putraw __P((int));
242 void xputchar __P((int));
243
244 /*
245 * proc.c
246 */
247 void dobg __P((Char **));
248 void dobg1 __P((Char **));
249 void dofg __P((Char **));
250 void dofg1 __P((Char **));
251 void dojobs __P((Char **));
252 void dokill __P((Char **));
253 void donotify __P((Char **));
254 void dostop __P((Char **));
255 void dowait __P((void));
256 void palloc __P((int, struct command *));
257 void panystop __P((bool));
258 void pchild __P((int));
259 void pendjob __P((void));
260 struct process *
261 pfind __P((Char *));
262 int pfork __P((struct command *, int));
263 void pgetty __P((int, int));
264 void pjwait __P((struct process *));
265 void pnote __P((void));
266 void prestjob __P((void));
267 void psavejob __P((void));
268 void pstart __P((struct process *, int));
269 void pwait __P((void));
270
271 /*
272 * sem.c
273 */
274 void execute __P((struct command *, int, int *, int *));
275 void mypipe __P((int *));
276
277 /*
278 * set.c
279 */
280 struct varent
281 *adrof1 __P((Char *, struct varent *));
282 void doset __P((Char **));
283 void dolet __P((Char **));
284 Char *putn __P((int));
285 int getn __P((Char *));
286 Char *value1 __P((Char *, struct varent *));
287 void set __P((Char *, Char *));
288 void set1 __P((Char *, Char **, struct varent *));
289 void setq __P((Char *, Char **, struct varent *));
290 void unset __P((Char *[]));
291 void unset1 __P((Char *[], struct varent *));
292 void unsetv __P((Char *));
293 void setNS __P((Char *));
294 void shift __P((Char **));
295 void plist __P((struct varent *));
296
297 /*
298 * time.c
299 */
300 void donice __P((Char **));
301 void dotime __P((void));
302 void prusage __P((struct rusage *, struct rusage *,
303 struct timeval *, struct timeval *));
304 void ruadd __P((struct rusage *, struct rusage *));
305 void settimes __P((void));
306 void tvadd __P((struct timeval *, struct timeval *));
307 void tvsub __P((struct timeval *, struct timeval *, struct timeval *));
308
309 /*
310 * alloc.c
311 */
312 #ifndef SYSMALLOC
313 void free __P((ptr_t));
314 ptr_t malloc __P((size_t));
315 ptr_t realloc __P((ptr_t, size_t));
316 ptr_t calloc __P((size_t, size_t));
317 #else
318 void Free __P((ptr_t));
319 ptr_t Malloc __P((size_t));
320 ptr_t Realloc __P((ptr_t, size_t));
321 ptr_t Calloc __P((size_t, size_t));
322 #endif /* SYSMALLOC */
323 void showall __P((void));
324
325 /*
326 * printf.h
327 */
328 void xprintf __P((char *, ...));
329 void xsprintf __P((char *, char *, ...));
330 void xvprintf __P((char *, va_list));
331 void xvsprintf __P((char *, char *, va_list));
332
333 /*
334 * str.c:
335 */
336 #ifdef SHORT_STRINGS
337 Char *s_strchr __P((Char *, int));
338 Char *s_strrchr __P((Char *, int));
339 Char *s_strcat __P((Char *, Char *));
340 #ifdef NOTUSED
341 Char *s_strncat __P((Char *, Char *, size_t));
342 #endif
343 Char *s_strcpy __P((Char *, Char *));
344 Char *s_strncpy __P((Char *, Char *, size_t));
345 Char *s_strspl __P((Char *, Char *));
346 size_t s_strlen __P((Char *));
347 int s_strcmp __P((Char *, Char *));
348 int s_strncmp __P((Char *, Char *, size_t));
349 Char *s_strsave __P((Char *));
350 Char *s_strend __P((Char *));
351 #ifdef NOTUSED
352 Char *s_strstr __P((Char *, Char *));
353 #endif
354 Char *str2short __P((char *));
355 Char **blk2short __P((char **));
356 char *short2str __P((Char *));
357 char *short2qstr __P((Char *));
358 char **short2blk __P((Char **));
359 #endif
360