diff options
Diffstat (limited to 'Build/source/texk/kpathsea/progname.h')
-rw-r--r-- | Build/source/texk/kpathsea/progname.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/Build/source/texk/kpathsea/progname.h b/Build/source/texk/kpathsea/progname.h new file mode 100644 index 00000000000..b5c1c43afbd --- /dev/null +++ b/Build/source/texk/kpathsea/progname.h @@ -0,0 +1,70 @@ +/* progname.h: Declarations for argv[0] equivalents. + + Copyright 1994, 1996, 2008, 2010-2019 Karl Berry. + Copyright 1999, 2005 Olaf Weber. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this library; if not, see <http://www.gnu.org/licenses/>. */ + +#ifndef KPATHSEA_PROGNAME_H +#define KPATHSEA_PROGNAME_H + +#include <kpathsea/c-proto.h> +#include <kpathsea/types.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* Return directory ARGV0 comes from. Check PATH if ARGV0 is not + absolute. */ + +#if !defined (WIN32) +extern KPSEDLL string kpathsea_selfdir (kpathsea kpse, const_string argv0); +#endif + +/* Set the two members `invocation_name' and `invocation_short_name' + in the KPSE instance to a copy of ARGV0 and everything in ARGV0 after + the last directory separator, respectively. Set `program_name' (also in + the KPSE instance) to a copy of PROGNAME or the value of + kpse_invocation_short_name if PROGNAME is NULL. This function also + sets the SELFAUTO* environment variables. */ + +extern KPSEDLL void kpathsea_set_program_name (kpathsea kpse, + const_string argv0, const_string progname); + +/* See also `kpathsea_reset_program_name', which is defined in tex-file.c. + That function is to be used to set kpse->program_name to a different + value. It clears the path searching information, to ensure that + the search paths are appropriate to the new name. */ + + +#if defined (KPSE_COMPAT_API) +#if !defined (WIN32) +extern KPSEDLL string kpse_selfdir (const_string argv0); +#endif + +extern KPSEDLL void kpse_set_program_name (const_string argv0, + const_string progname); +#endif /* KPSE_COMPAT_API */ + +/* Returns ARGV0 with any leading path and on some systems the suffix + for executables stripped off. This returns a new string. */ + +extern KPSEDLL string kpse_program_basename (const_string argv0); + +#ifdef __cplusplus +} +#endif + +#endif /* not KPATHSEA_PROGNAME_H */ |