xref: /freebsd/contrib/xz/src/common/tuklib_progname.h (revision 3b35e7ee8de9b0260149a2b77e87a2b9c7a36244)
1*3b35e7eeSXin LI // SPDX-License-Identifier: 0BSD
2*3b35e7eeSXin LI 
381ad8388SMartin Matuska ///////////////////////////////////////////////////////////////////////////////
481ad8388SMartin Matuska //
581ad8388SMartin Matuska /// \file       tuklib_progname.h
681ad8388SMartin Matuska /// \brief      Program name to be displayed in messages
781ad8388SMartin Matuska //
881ad8388SMartin Matuska //  Author:     Lasse Collin
981ad8388SMartin Matuska //
1081ad8388SMartin Matuska ///////////////////////////////////////////////////////////////////////////////
1181ad8388SMartin Matuska 
1281ad8388SMartin Matuska #ifndef TUKLIB_PROGNAME_H
1381ad8388SMartin Matuska #define TUKLIB_PROGNAME_H
1481ad8388SMartin Matuska 
1581ad8388SMartin Matuska #include "tuklib_common.h"
1681ad8388SMartin Matuska #include <errno.h>
1781ad8388SMartin Matuska 
1881ad8388SMartin Matuska TUKLIB_DECLS_BEGIN
1981ad8388SMartin Matuska 
20047153b4SXin LI #ifdef HAVE_PROGRAM_INVOCATION_NAME
2181ad8388SMartin Matuska #	define progname program_invocation_name
2281ad8388SMartin Matuska #else
2381ad8388SMartin Matuska #	define progname TUKLIB_SYMBOL(tuklib_progname)
2481ad8388SMartin Matuska 	extern char *progname;
2581ad8388SMartin Matuska #endif
2681ad8388SMartin Matuska 
2781ad8388SMartin Matuska #define tuklib_progname_init TUKLIB_SYMBOL(tuklib_progname_init)
2881ad8388SMartin Matuska extern void tuklib_progname_init(char **argv);
2981ad8388SMartin Matuska 
3081ad8388SMartin Matuska TUKLIB_DECLS_END
3181ad8388SMartin Matuska #endif
32