xref: /original-bsd/bin/sh/expand.h (revision b3c06cab)
1 /*-
2  * Copyright (c) 1991, 1993
3  *	The Regents of the University of California.  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	8.2 (Berkeley) 05/04/95
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 union node;
35 void expandhere __P((union node *, int));
36 void expandarg __P((union node *, struct arglist *, int));
37 void expari __P((int));
38 int patmatch __P((char *, char *));
39 void rmescapes __P((char *));
40 int casematch __P((union node *, char *));
41