1 /* progname.h: Declarations for argv[0] equivalents.
3 Copyright 1994, 1996, 2008 Karl Berry.
4 Copyright 1999, 2005 Olaf Weber.
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.
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.
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/>. */
19 #ifndef KPATHSEA_PROGNAME_H
20 #define KPATHSEA_PROGNAME_H
22 #include <kpathsea/c-proto.h>
23 #include <kpathsea/types.h>
25 extern KPSEDLL string program_invocation_name;
26 extern KPSEDLL string program_invocation_short_name;
27 extern KPSEDLL string kpse_program_name;
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. */
35 extern KPSEDLL void kpse_set_program_name P2H(const_string argv0,
36 const_string progname);
38 /* See also `kpse_reset_program_name' which is defined in tex-file.c
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. */
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. */
50 extern KPSEDLL void kpse_set_progname P1H(const_string argv0);
52 #endif /* not KPATHSEA_PROGNAME_H */