Commit | Line | Data |
---|---|---|
792d1bd5 KB |
1 | /*- |
2 | * Copyright (c) 1991 The Regents of the University of California. | |
3 | * All rights reserved. | |
4 | * | |
5 | * This code is derived from software contributed to Berkeley by | |
6 | * Kenneth Almquist. | |
7 | * | |
8 | * %sccs.include.redist.c% | |
9 | * | |
e2bf1cd5 | 10 | * @(#)expand.h 5.2 (Berkeley) %G% |
792d1bd5 KB |
11 | */ |
12 | ||
13 | struct strlist { | |
14 | struct strlist *next; | |
15 | char *text; | |
16 | }; | |
17 | ||
18 | ||
19 | struct arglist { | |
20 | struct strlist *list; | |
21 | struct strlist **lastp; | |
22 | }; | |
23 | ||
e2bf1cd5 MT |
24 | /* |
25 | * expandarg() flags | |
26 | */ | |
27 | #define EXP_FULL 0x1 /* perform word splitting & file globbing */ | |
28 | #define EXP_TILDE 0x2 /* do normal tilde expansion */ | |
29 | #define EXP_VARTILDE 0x4 /* expand tildes in an assignment */ | |
30 | #define EXP_REDIR 0x8 /* file glob for a redirection (1 match only) */ | |
31 | ||
32 | ||
792d1bd5 KB |
33 | #ifdef __STDC__ |
34 | union node; | |
35 | void expandarg(union node *, struct arglist *, int); | |
36 | void expandhere(union node *, int); | |
37 | int patmatch(char *, char *); | |
38 | void rmescapes(char *); | |
39 | int casematch(union node *, char *); | |
40 | #else | |
41 | void expandarg(); | |
42 | void expandhere(); | |
43 | int patmatch(); | |
44 | void rmescapes(); | |
45 | int casematch(); | |
46 | #endif |