GETPROGNAME(3) | Library Functions Manual | GETPROGNAME(3)

# NAME

`getprogname`, `setprogname` — get or 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.

February 22, 2023 | Debian