summaryrefslogtreecommitdiff
path: root/Build/source/texk/kpathsea/progname.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/kpathsea/progname.h')
-rw-r--r--Build/source/texk/kpathsea/progname.h70
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 */