usr.sbin/makefs: Add -o c|C option to specify comp|check type
[dragonfly.git] / contrib / tcsh-6 / sh.decls.h
bloba863fedeeb2b5f3a740aab53fbc66e0c5bf0a277
1 /*
2 * sh.decls.h External declarations from sh*.c
3 */
4 /*-
5 * Copyright (c) 1980, 1991 The Regents of the University of California.
6 * All rights reserved.
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 * 3. Neither the name of the University nor the names of its contributors
17 * may be used to endorse or promote products derived from this software
18 * without specific prior written permission.
20 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 * SUCH DAMAGE.
32 #ifndef _h_sh_decls
33 #define _h_sh_decls
36 * sh.c
38 extern Char *gethdir (const Char *);
39 extern void dosource (Char **, struct command *);
40 extern void exitstat (void) __attribute__((__noreturn__));
41 extern void goodbye (Char **, struct command *);
42 extern void importpath (Char *);
43 extern void initdesc (void);
44 extern void pintr (void);
45 extern void pintr1 (int);
46 extern void phup (void);
47 extern void process (int);
48 extern void untty (void);
49 #ifdef PROF
50 extern void done (int) __attribute__((__noreturn__));
51 #else
52 extern void xexit (int) __attribute__((__noreturn__));
53 #endif
54 extern int grabpgrp (int, pid_t);
57 * sh.dir.c
59 extern void dinit (Char *);
60 extern void dodirs (Char **, struct command *);
61 extern Char *dcanon (Char *, Char *);
62 extern void dtildepr (Char *);
63 extern void dtilde (void);
64 extern void dochngd (Char **, struct command *);
65 extern Char *dnormalize (const Char *, int);
66 extern void dopushd (Char **, struct command *);
67 extern void dopopd (Char **, struct command *);
68 extern void dfree (struct directory *);
69 extern void dsetstack (void);
70 extern const Char *getstakd (int);
71 extern void recdirs (Char *, int);
72 extern void loaddirs (Char *);
75 * sh.dol.c
77 extern void Dfix (struct command *);
78 extern Char *Dfix1 (Char *);
79 extern void heredoc (Char *);
80 extern Char *randsuf (void);
83 * sh.err.c
85 extern void reset (void) __attribute__((__noreturn__));
86 extern void cleanup_push_internal(void *, void (*fn) (void *)
87 #ifdef CLEANUP_DEBUG
88 , const char *, size_t
89 #define cleanup_push(v, f) cleanup_push_internal(v, f, __FILE__, __LINE__)
90 #else
91 #define cleanup_push(v, f) cleanup_push_internal(v, f)
92 #endif
94 extern int cleanup_reset(void);
95 extern void cleanup_ignore(void *);
96 extern void cleanup_until(void *);
97 extern void cleanup_until_mark(void);
98 extern size_t cleanup_push_mark(void);
99 extern void cleanup_pop_mark(size_t);
100 extern void open_cleanup(void *);
101 extern void opendir_cleanup(void *);
102 extern void sigint_cleanup(void *);
103 extern void sigprocmask_cleanup(void *);
104 extern void xfree_indirect(void *);
105 extern void errinit (void);
106 extern void seterror (unsigned int, ...);
107 extern void fixerror (void);
108 extern void stderror (unsigned int, ...)
109 __attribute__((__noreturn__));
112 * sh.exec.c
114 extern void doexec (struct command *, int);
115 extern void dohash (Char **, struct command *);
116 extern void dounhash (Char **, struct command *);
117 extern void execash (Char **, struct command *);
118 extern void hashstat (Char **, struct command *);
119 extern void xechoit (Char **);
120 extern int executable (const Char *, const Char *, int);
121 extern int tellmewhat (struct wordent *, Char **);
122 extern void dowhere (Char **, struct command *);
123 extern int find_cmd (Char *, int);
126 * sh.exp.c
128 extern Char *filetest (Char *, Char ***, int);
129 extern tcsh_number_t expr (Char ***);
130 extern tcsh_number_t exp0 (Char ***, int);
133 * sh.file.c
135 #if defined(FILEC) && defined(TIOCSTI)
136 extern size_t tenex (Char *, size_t);
137 #endif
140 * sh.func.c
142 extern void tsetenv (const Char *, const Char *);
143 extern void Unsetenv (Char *);
144 extern void doalias (Char **, struct command *);
145 extern void dobreak (Char **, struct command *);
146 extern void docontin (Char **, struct command *);
147 extern void doecho (Char **, struct command *);
148 extern void doelse (Char **, struct command *);
149 extern void doend (Char **, struct command *);
150 extern void doeval (Char **, struct command *);
151 extern void doexit (Char **, struct command *);
152 extern void doforeach (Char **, struct command *);
153 extern void doglob (Char **, struct command *);
154 extern void dogoto (Char **, struct command *);
155 extern void doif (Char **, struct command *);
156 extern void dolimit (Char **, struct command *);
157 extern void dologin (Char **, struct command *);
158 extern void dologout (Char **, struct command *);
159 #ifdef NEWGRP
160 extern void donewgrp (Char **, struct command *);
161 #endif
162 extern void donohup (Char **, struct command *);
163 extern void dohup (Char **, struct command *);
164 extern void doonintr (Char **, struct command *);
165 extern void doprintenv (Char **, struct command *);
166 extern void dorepeat (Char **, struct command *);
167 extern void dofiletest (Char **, struct command *);
168 extern void dosetenv (Char **, struct command *);
169 extern void dosuspend (Char **, struct command *);
170 extern void doswbrk (Char **, struct command *);
171 extern void doswitch (Char **, struct command *);
172 extern void doumask (Char **, struct command *);
173 extern void dounlimit (Char **, struct command *);
174 extern void dounsetenv (Char **, struct command *);
175 extern void dowhile (Char **, struct command *);
176 extern void dozip (Char **, struct command *);
177 extern void func (struct command *,
178 const struct biltins *);
179 extern void gotolab (Char *);
180 extern const struct biltins *isbfunc (struct command *);
181 extern void prvars (void);
182 extern int srchx (Char *);
183 extern void unalias (Char **, struct command *);
184 extern void wfree (void);
185 extern void dobuiltins (Char **, struct command *);
186 extern void reexecute (struct command *);
187 extern int getYN (const char *);
190 * sh.glob.c
192 extern Char *globequal (Char *);
193 extern Char **dobackp (Char *, int);
194 extern Char *globone (Char *, int);
195 extern int Gmatch (const Char *, const Char *);
196 extern int Gnmatch (const Char *, const Char *,
197 const Char **);
198 extern Char **globall (Char **, int);
199 extern Char **glob_all_or_error(Char **);
200 extern void rscan (Char **, void (*)(Char));
201 extern int tglob (Char **);
202 extern void trim (Char **);
204 #if !defined(WINNT_NATIVE) && defined(NLS_CATALOGS)
205 extern char *xcatgets (nl_catd, int, int, const char *);
206 #if defined(HAVE_ICONV) && defined(HAVE_NL_LANGINFO)
207 extern char *iconv_catgets (nl_catd, int, int, const char *);
208 #endif
209 #endif
210 extern void nlsinit (void);
211 extern void nlsclose (void);
212 extern int t_pmatch (const Char *, const Char *,
213 const Char **, int);
216 * sh.hist.c
218 extern void dohist (Char **, struct command *);
219 extern struct Hist *enthist (int, struct wordent *, int, int, int);
220 extern void cleanhist (void);
221 extern void savehist (struct wordent *, int);
222 extern char *fmthist (int, ptr_t);
223 extern void rechist (Char *, int);
224 extern void loadhist (Char *, int);
225 extern void displayHistStats(const char *);
226 extern void sethistory (int);
229 * sh.init.c
231 extern void mesginit (void);
234 * sh.lex.c
236 extern void addla (Char *);
237 extern void bseek (struct Ain *);
238 extern void btell (struct Ain *);
239 extern void btoeof (void);
240 extern void copylex (struct wordent *, struct wordent *);
241 extern Char *domod (Char *, Char);
242 extern void initlex (struct wordent *);
243 extern void freelex (struct wordent *);
244 extern int lex (struct wordent *);
245 extern void lex_cleanup (void *);
246 extern void prlex (struct wordent *);
247 extern eChar readc (int);
248 extern void settell (void);
249 extern void unreadc (Char);
250 extern ssize_t wide_read (int, Char *, size_t, int);
254 * sh.misc.c
256 extern int any (const char *, Char);
257 extern Char **blkcpy (Char **, Char **);
258 extern void blkfree (Char **);
259 extern void blk_cleanup (void *);
260 extern void blk_indirect_cleanup(void *);
261 extern int blklen (Char **);
262 extern void blkpr (Char *const *);
263 extern Char *blkexpand (Char *const *);
264 extern Char **blkspl (Char **, Char **);
265 extern void closem (void);
266 #ifndef CLOSE_ON_EXEC
267 extern void closech (void);
268 #endif /* !CLOSE_ON_EXEC */
269 extern Char **copyblk (Char **);
270 extern int dcopy (int, int);
271 extern int dmove (int, int);
272 extern void donefds (void);
273 extern Char lastchr (Char *);
274 extern void lshift (Char **, int);
275 extern int number (Char *);
276 extern int prefix (const Char *, const Char *);
277 extern Char **saveblk (Char **);
278 extern void setzero (void *, size_t);
279 extern Char *strip (Char *);
280 extern Char *quote (Char *);
281 extern const Char *quote_meta (struct Strbuf *, const Char *);
282 #ifndef SHORT_STRINGS
283 extern char *strnsave (const char *, size_t);
284 #endif
285 extern char *strsave (const char *);
286 extern void udvar (Char *) __attribute__((__noreturn__));
287 #ifndef POSIX
288 extern char *strstr (const char *, const char *);
289 #endif /* !POSIX */
290 extern char *strspl (const char *, const char *);
291 extern char *strend (const char *);
292 extern char *areadlink (const char *);
293 extern void xclose (int);
294 extern void xclosedir (DIR *);
295 extern int xcreat (const char *, mode_t);
296 extern struct group *xgetgrgid (gid_t);
297 extern struct passwd *xgetpwnam (const char *);
298 extern struct passwd *xgetpwuid (uid_t);
299 extern int xopen (const char *, int, ...);
300 extern ssize_t xread (int, void *, size_t);
301 extern int xtcsetattr (int, int, const struct termios *);
302 extern ssize_t xwrite (int, const void *, size_t);
305 * sh.parse.c
307 extern void alias (struct wordent *);
308 extern void freesyn (struct command *);
309 extern struct command *syntax (const struct wordent *,
310 const struct wordent *, int);
311 extern void syntax_cleanup(void *);
314 * sh.print.c
316 extern void drainoline (void);
317 extern void flush (void);
318 #ifdef BSDTIMES
319 extern void pcsecs (unsigned long);
320 #else /* !BSDTIMES */
321 # ifdef POSIX
322 extern void pcsecs (clock_t);
323 # else /* !POSIX */
324 extern void pcsecs (time_t);
325 # endif /* !POSIX */
326 #endif /* BSDTIMES */
327 #ifdef BSDLIMIT
328 extern void psecs (unsigned long);
329 #endif /* BSDLIMIT */
330 extern int putpure (int);
331 extern int putraw (int);
332 extern void xputchar (int);
333 #ifdef WIDE_STRINGS
334 extern void putwraw (Char);
335 extern void xputwchar (Char);
336 #else
337 # define putwraw(C) putraw(C)
338 # define xputwchar(C) xputchar(C)
339 #endif
340 extern void output_raw_restore(void *);
344 * sh.proc.c
346 extern void dobg (Char **, struct command *);
347 extern void dobg1 (Char **, struct command *);
348 extern void dofg (Char **, struct command *);
349 extern void dofg1 (Char **, struct command *);
350 extern void dojobs (Char **, struct command *);
351 extern void dokill (Char **, struct command *);
352 extern void donotify (Char **, struct command *);
353 extern void dostop (Char **, struct command *);
354 extern void dowait (Char **, struct command *);
355 extern void palloc (pid_t, struct command *);
356 extern void panystop (int);
357 extern void pchild (void);
358 extern void pendjob (void);
359 extern pid_t pfork (struct command *, int);
360 extern void pgetty (int, pid_t);
361 extern void pjwait (struct process *);
362 extern void pnote (void);
363 extern void psavejob (void);
364 extern void psavejob_cleanup(void *);
365 extern int pstart (struct process *, int);
366 extern void pwait (void);
367 extern struct process *pfind (Char *);
370 * sh.sem.c
372 extern void execute (struct command *, volatile int, int *,
373 int *, int);
374 extern void mypipe (int *);
377 * sh.set.c
379 extern struct varent *adrof1 (const Char *, struct varent *);
380 extern void doset (Char **, struct command *);
381 extern void dolet (Char **, struct command *);
382 extern Char *putn (tcsh_number_t);
383 extern tcsh_number_t getn (const Char *);
384 extern Char *value1 (Char *, struct varent *);
385 extern void setcopy (const Char *, const Char *, int);
386 extern void setv (const Char *, Char *, int);
387 extern void set1 (const Char *, Char **,
388 struct varent *, int);
389 extern void setq (const Char *, Char **,
390 struct varent *, int);
391 extern void unset (Char **, struct command *);
392 extern void unset1 (Char *[], struct varent *);
393 extern void unsetv (Char *);
394 extern void setNS (const Char *);
395 extern void shift (Char **, struct command *);
396 extern void plist (struct varent *, int);
397 extern Char *unparse (struct command *);
398 #if defined(DSPMBYTE)
399 extern void update_dspmbyte_vars (void);
400 extern void autoset_dspmbyte (const Char *);
401 #endif
402 #if defined(AUTOSET_KANJI)
403 extern void autoset_kanji (void);
404 #endif
405 extern void update_wordchars (void);
406 extern void setstrstatus (Char *);
407 extern void setstatus (int);
408 extern int getstatus (void);
411 * sh.time.c
413 extern void donice (Char **, struct command *);
414 extern void dotime (Char **, struct command *);
415 #ifdef BSDTIMES
416 extern void prusage (struct sysrusage *,
417 struct sysrusage *,
418 timeval_t *, timeval_t *);
419 extern void ruadd (struct sysrusage *,
420 struct sysrusage *);
421 #else /* BSDTIMES */
422 # ifdef _SEQUENT_
423 extern void prusage (struct process_stats *,
424 struct process_stats *,
425 timeval_t *, timeval_t *);
426 extern void ruadd (struct process_stats *,
427 struct process_stats *);
428 # else /* !_SEQUENT_ */
429 # ifdef POSIX
430 extern void prusage (struct tms *, struct tms *,
431 clock_t, clock_t);
432 # else /* !POSIX */
433 extern void prusage (struct tms *, struct tms *,
434 time_t, time_t);
435 # endif /* !POSIX */
436 # endif /* !_SEQUENT_ */
437 #endif /* BSDTIMES */
438 extern void settimes (void);
439 #if defined(BSDTIMES) || defined(_SEQUENT_)
440 extern void tvsub (struct timeval *,
441 struct timeval *,
442 struct timeval *);
443 #endif /* BSDTIMES || _SEQUENT_ */
446 * tw.parse.c
448 extern void copyn (Char *, const Char *, size_t);
449 extern void catn (Char *, const Char *, int);
451 #endif /* _h_sh_decls */