GETPROGNAME(3)

NAME
getprogname, setprogname - get/set the name of the current program

SYNOPSIS
#include <stdlib.h>
const char *
getprogname(void);
void
setprogname(const char *name);

DESCRIPTION
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 output.

The setprogname() function sets the name of the program to be the last path component of the name argument. Internally, only the pointer to the given string is kept as the program name, so it should not be modified and the storage for the string must remain valid for the rest of the program's lifetime.

SEE ALSO
err(3), setproctitle(3)

HISTORY
The getprogname() and setprogname() functions first appeared in OpenBSD 5.4 as function-based wrappers around the 4.4BSD __progname interface.

CAVEATS
The string returned by getprogname() is supplied by the invoking process and should not be trusted by setuid or setgid programs.