xref: /original-bsd/bin/sh/expand.h (revision 5f16e8b3)
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  *
10  *	@(#)expand.h	5.3 (Berkeley) 07/30/92
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 
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 #define EXP_CASE	0x10	/* keeps quotes around for CASE pattern */
32 
33 
34 #ifdef __STDC__
35 union node;
36 void expandarg(union node *, struct arglist *, int);
37 void expandhere(union node *, int);
38 int patmatch(char *, char *);
39 void rmescapes(char *);
40 int casematch(union node *, char *);
41 #else
42 void expandarg();
43 void expandhere();
44 int patmatch();
45 void rmescapes();
46 int casematch();
47 #endif
48