dvitomp fix from Akira
[mplib] / src / texk / kpathsea / expand.h
1 /* expand.h: general expansion.
2
3    Copyright 1993, 1994, 1996, 2008 Karl Berry.
4    Copyright 1999, 2005 Olaf Weber.
5
6    This library is free software; you can redistribute it and/or
7    modify it under the terms of the GNU Lesser General Public
8    License as published by the Free Software Foundation; either
9    version 2.1 of the License, or (at your option) any later version.
10
11    This library is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14    Lesser General Public License for more details.
15
16    You should have received a copy of the GNU Lesser General Public License
17    along with this library; if not, see <http://www.gnu.org/licenses/>.  */
18
19 #ifndef KPATHSEA_EXPAND_H
20 #define KPATHSEA_EXPAND_H
21
22 #include <kpathsea/c-proto.h>
23 #include <kpathsea/types.h>
24
25 /* Call kpse_var_expand and kpse_tilde_expand (in that order).  Result
26    is always in fresh memory, even if no expansions were done.  */
27 extern KPSEDLL string kpse_expand P1H(const_string s);
28
29 /* Do brace expansion and call `kpse_expand' on each element of the
30    result; return the final expansion (always in fresh memory, even if
31    no expansions were done).  We don't call `kpse_expand_default'
32    because there is a whole sequence of defaults to run through; see
33    `kpse_init_format'.  */
34 extern KPSEDLL string kpse_brace_expand P1H(const_string path);
35
36 /* Do brace expansion and call `kpse_expand' on each argument of the
37    result, then expand any `//' constructs.  The final expansion (always
38    in fresh memory) is a path of all the existing directories that match
39    the pattern. */
40 extern KPSEDLL string kpse_path_expand P1H(const_string path);
41
42 #endif /* not KPATHSEA_EXPAND_H */