dvitomp fix from Akira
[mplib] / src / texk / kpathsea / progname.h
1 /* progname.h: Declarations for argv[0] equivalents.
2
3    Copyright 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_PROGNAME_H
20 #define KPATHSEA_PROGNAME_H
21
22 #include <kpathsea/c-proto.h>
23 #include <kpathsea/types.h>
24
25 extern KPSEDLL string program_invocation_name;
26 extern KPSEDLL string program_invocation_short_name;
27 extern KPSEDLL string kpse_program_name;
28
29 /* Set the first two variables above (if they're not predefined) to a copy
30    of ARGV0 and everything in ARGV0 after the last directory separator,
31    respectively.  Set kpse_program_name to a copy of PROGNAME or the
32    or the value of program_invocation_short_name if PROGNAME is NULL.
33    This function also determines the AUTO* variables. */
34
35 extern KPSEDLL void kpse_set_program_name P2H(const_string argv0,
36                                       const_string progname);
37
38 /* See also `kpse_reset_program_name' which is defined in tex-file.c
39
40    That function is to be used to set kpse_program_name to a different
41    value.  It clears the path searching information, to ensure that
42    the search paths are appropriate to the new name. */
43
44 /* DEPRECATED
45    Set first two variables above (if they're not predefined) to a copy of
46    ARGV0 and everything in ARGV0 after the last directory separator,
47    respectively.  kpse_program_name is _always_ set to a copy of everything
48    in ARGV0 after the last directory separator. */
49
50 extern KPSEDLL void kpse_set_progname P1H(const_string argv0);
51
52 #endif /* not KPATHSEA_PROGNAME_H */