Annotation of embedaddon/libiconv/srclib/progname.h, revision 1.1.1.3

1.1       misho       1: /* Program name management.
1.1.1.3 ! misho       2:    Copyright (C) 2001-2004, 2006, 2009-2019 Free Software Foundation, Inc.
1.1.1.2   misho       3:    Written by Bruno Haible <bruno@clisp.org>, 2001.
1.1       misho       4: 
                      5:    This program is free software: you can redistribute it and/or modify
                      6:    it under the terms of the GNU General Public License as published by
                      7:    the Free Software Foundation; either version 3 of the License, or
                      8:    (at your option) any later version.
                      9: 
                     10:    This program is distributed in the hope that it will be useful,
                     11:    but WITHOUT ANY WARRANTY; without even the implied warranty of
                     12:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     13:    GNU General Public License for more details.
                     14: 
                     15:    You should have received a copy of the GNU General Public License
1.1.1.3 ! misho      16:    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
1.1       misho      17: 
                     18: #ifndef _PROGNAME_H
                     19: #define _PROGNAME_H
                     20: 
                     21: /* Programs using this file should do the following in main():
                     22:      set_program_name (argv[0]);
                     23:  */
                     24: 
                     25: 
                     26: #ifdef __cplusplus
                     27: extern "C" {
                     28: #endif
                     29: 
                     30: 
                     31: /* String containing name the program is called with.  */
                     32: extern DLL_VARIABLE const char *program_name;
                     33: 
1.1.1.2   misho      34: /* Set program_name, based on argv[0].
                     35:    argv0 must be a string allocated with indefinite extent, and must not be
                     36:    modified after this call.  */
1.1       misho      37: extern void set_program_name (const char *argv0);
                     38: 
                     39: #if ENABLE_RELOCATABLE
                     40: 
                     41: /* Set program_name, based on argv[0], and original installation prefix and
                     42:    directory, for relocatability.  */
                     43: extern void set_program_name_and_installdir (const char *argv0,
1.1.1.2   misho      44:                                              const char *orig_installprefix,
                     45:                                              const char *orig_installdir);
1.1       misho      46: #undef set_program_name
                     47: #define set_program_name(ARG0) \
                     48:   set_program_name_and_installdir (ARG0, INSTALLPREFIX, INSTALLDIR)
                     49: 
                     50: /* Return the full pathname of the current executable, based on the earlier
                     51:    call to set_program_name_and_installdir.  Return NULL if unknown.  */
                     52: extern char *get_full_program_name (void);
                     53: 
                     54: #endif
                     55: 
                     56: 
                     57: #ifdef __cplusplus
                     58: }
                     59: #endif
                     60: 
                     61: 
                     62: #endif /* _PROGNAME_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>