- NetBSD Manual Pages
GETPROGNAME(3) NetBSD Library Functions Manual GETPROGNAME(3)
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.
getprogname, setprogname -- get/set the name of the current program
Standard C Library (libc, -lc)
const char *
setprogname(const char *name);
These utility functions get and set the current program's name as used by
various error-reporting functions.
getprogname() returns the name of the current program. This function is
typically useful when generating error messages or other diagnostic out-
put. If the program name has not been set, getprogname() will return
setprogname() sets the name of the current program to be the last path-
name component of the name argument. It should be invoked at the start
of the program, using the argv passed into the program's main() func-
tion. 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.
The getprogname and setprogname function calls appeared in NetBSD 1.6.
The string returned by getprogname() is supplied by the invoking process
and should not be trusted by setuid or setgid programs.
NetBSD 9.99 May 21, 2011 NetBSD 9.99