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.2 (Berkeley) 04/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 32 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 47