Blame lib/version-etc.h

Packit 33f14e
/* Print --version and bug-reporting information in a consistent format.
Packit 33f14e
   Copyright (C) 1999, 2003, 2005, 2009-2017 Free Software Foundation, Inc.
Packit 33f14e
Packit 33f14e
   This program is free software: you can redistribute it and/or modify
Packit 33f14e
   it under the terms of the GNU General Public License as published by
Packit 33f14e
   the Free Software Foundation; either version 3 of the License, or
Packit 33f14e
   (at your option) any later version.
Packit 33f14e
Packit 33f14e
   This program is distributed in the hope that it will be useful,
Packit 33f14e
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 33f14e
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit 33f14e
   GNU General Public License for more details.
Packit 33f14e
Packit 33f14e
   You should have received a copy of the GNU General Public License
Packit 33f14e
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
Packit 33f14e
Packit 33f14e
/* Written by Jim Meyering. */
Packit 33f14e
Packit 33f14e
#ifndef VERSION_ETC_H
Packit 33f14e
# define VERSION_ETC_H 1
Packit 33f14e
Packit 33f14e
# include <stdarg.h>
Packit 33f14e
# include <stdio.h>
Packit 33f14e
Packit 33f14e
/* The 'sentinel' attribute was added in gcc 4.0.  */
Packit 33f14e
#ifndef _GL_ATTRIBUTE_SENTINEL
Packit 33f14e
# if 4 <= __GNUC__
Packit 33f14e
#  define _GL_ATTRIBUTE_SENTINEL __attribute__ ((__sentinel__))
Packit 33f14e
# else
Packit 33f14e
#  define _GL_ATTRIBUTE_SENTINEL /* empty */
Packit 33f14e
# endif
Packit 33f14e
#endif
Packit 33f14e
Packit 33f14e
extern const char version_etc_copyright[];
Packit 33f14e
Packit 33f14e
/* The three functions below display the --version information in the
Packit 33f14e
   standard way: command and package names, package version, followed
Packit 33f14e
   by a short GPLv3+ notice and a list of up to 10 author names.
Packit 33f14e
Packit 33f14e
   If COMMAND_NAME is NULL, the PACKAGE is assumed to be the name of
Packit 33f14e
   the program.  The formats are therefore:
Packit 33f14e
Packit 33f14e
   PACKAGE VERSION
Packit 33f14e
Packit 33f14e
   or
Packit 33f14e
Packit 33f14e
   COMMAND_NAME (PACKAGE) VERSION.
Packit 33f14e
Packit 33f14e
   The functions differ in the way they are passed author names: */
Packit 33f14e
Packit 33f14e
/* N_AUTHORS names are supplied in array AUTHORS.  */
Packit 33f14e
extern void version_etc_arn (FILE *stream,
Packit 33f14e
                             const char *command_name, const char *package,
Packit 33f14e
                             const char *version,
Packit 33f14e
                             const char * const * authors, size_t n_authors);
Packit 33f14e
Packit 33f14e
/* Names are passed in the NULL-terminated array AUTHORS.  */
Packit 33f14e
extern void version_etc_ar (FILE *stream,
Packit 33f14e
                            const char *command_name, const char *package,
Packit 33f14e
                            const char *version, const char * const * authors);
Packit 33f14e
Packit 33f14e
/* Names are passed in the NULL-terminated va_list.  */
Packit 33f14e
extern void version_etc_va (FILE *stream,
Packit 33f14e
                            const char *command_name, const char *package,
Packit 33f14e
                            const char *version, va_list authors);
Packit 33f14e
Packit 33f14e
/* Names are passed as separate arguments, with an additional
Packit 33f14e
   NULL argument at the end.  */
Packit 33f14e
extern void version_etc (FILE *stream,
Packit 33f14e
                         const char *command_name, const char *package,
Packit 33f14e
                         const char *version,
Packit 33f14e
                         /* const char *author1, ..., NULL */ ...)
Packit 33f14e
  _GL_ATTRIBUTE_SENTINEL;
Packit 33f14e
Packit 33f14e
/* Display the usual "Report bugs to" stanza.  */
Packit 33f14e
extern void emit_bug_reporting_address (void);
Packit 33f14e
Packit 33f14e
#endif /* VERSION_ETC_H */