| GETPROGNAME(3) | Library Functions Manual | GETPROGNAME(3) | 
getprogname, setprogname
  —
#include <stdlib.h>
const char *
  
  getprogname(void);
void
  
  setprogname(const
    char *name);
getprogname() returns the name of the
    current program. This function is typically useful when generating error
    messages or other diagnostic output. If the program name has not been set,
    getprogname() will return
    NULL.
setprogname() sets the name of the current
    program to be the last pathname component of the name
    argument. It should be invoked at the start of the program, using the
    argv[0] passed into the program's
    main() function. A pointer into the string pointed
    to by the name argument is kept as the program name.
    Therefore, the string pointed to by name should not be
    modified during the rest of the program's operation.
A program's name can only be set once, and in
    NetBSD that is actually done by program start-up
    code that is run before main() is called. Therefore,
    in NetBSD, calling
    setprogname() explicitly has no effect. However,
    portable programs that wish to use getprogname()
    should call setprogname() from
    main(). On operating systems where
    getprogname() and
    setprogname() are implemented via a portability
    library, this call is needed to make the name available.
getprogname and setprogname
  function calls appeared in NetBSD 1.6.
getprogname() is supplied by the
  invoking process and should not be trusted by setuid or setgid programs.
| May 21, 2011 | NetBSD 10.0 |