xref: /freebsd/contrib/xz/src/common/tuklib_progname.h (revision 81ad83880dcc267b198c781929dd9a009f98c5f7)
1*81ad8388SMartin Matuska ///////////////////////////////////////////////////////////////////////////////
2*81ad8388SMartin Matuska //
3*81ad8388SMartin Matuska /// \file       tuklib_progname.h
4*81ad8388SMartin Matuska /// \brief      Program name to be displayed in messages
5*81ad8388SMartin Matuska //
6*81ad8388SMartin Matuska //  Author:     Lasse Collin
7*81ad8388SMartin Matuska //
8*81ad8388SMartin Matuska //  This file has been put into the public domain.
9*81ad8388SMartin Matuska //  You can do whatever you want with this file.
10*81ad8388SMartin Matuska //
11*81ad8388SMartin Matuska ///////////////////////////////////////////////////////////////////////////////
12*81ad8388SMartin Matuska 
13*81ad8388SMartin Matuska #ifndef TUKLIB_PROGNAME_H
14*81ad8388SMartin Matuska #define TUKLIB_PROGNAME_H
15*81ad8388SMartin Matuska 
16*81ad8388SMartin Matuska #include "tuklib_common.h"
17*81ad8388SMartin Matuska #include <errno.h>
18*81ad8388SMartin Matuska 
19*81ad8388SMartin Matuska TUKLIB_DECLS_BEGIN
20*81ad8388SMartin Matuska 
21*81ad8388SMartin Matuska #if HAVE_DECL_PROGRAM_INVOCATION_NAME
22*81ad8388SMartin Matuska #	define progname program_invocation_name
23*81ad8388SMartin Matuska #else
24*81ad8388SMartin Matuska #	define progname TUKLIB_SYMBOL(tuklib_progname)
25*81ad8388SMartin Matuska 	extern char *progname;
26*81ad8388SMartin Matuska #endif
27*81ad8388SMartin Matuska 
28*81ad8388SMartin Matuska #define tuklib_progname_init TUKLIB_SYMBOL(tuklib_progname_init)
29*81ad8388SMartin Matuska extern void tuklib_progname_init(char **argv);
30*81ad8388SMartin Matuska 
31*81ad8388SMartin Matuska TUKLIB_DECLS_END
32*81ad8388SMartin Matuska #endif
33