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