explain_program_name(3)

explain_program_name3

Manipulate the program name

Usage

#include <libexplain/libexplain.h>

const char *explain_program_name_get(void);
void explain_program_name_set(const char *name);
void explain_program_name_assemble(int yesno);

Overview

These functions may be used to manipulate libexplain's idea of the command name of the current process, and whether or not that name is included in error messages.

explain_program_name_get

const char *explain_program_name_get(void);

The explain_program_name_get function may be used to obtain the command name of the calling process. Depending on how capable /proc is on your system, or, failing that, how capable lsof(1) is on your system, this may or may not produce a sensible result. It works well on Linux.

Returns:

pointer to string containing the command name (no slashes) of the calling process.

explain_program_name_set

void explain_program_name_set(const char *name);

The explain_program_name_set function may be used to set the libexplain libraries' idea of the command name of the calling process, setting the string to be returned by the explain_program_name_get(3) function. This overrides the automatic behavior, which can be quite desirable in commands that can be invoked with more than one name, e.g. if they are a hard link synonym.

This also sets the option to include the program name in all of the error messages issued by the explain_*_or_die(3) functions.

name

The name of the calling process. Only the basename will be used if a path containing slashes is given.

explain_program_name_assemble

void explain_program_name_assemble(int yesno);

The explain_program_name_assemble function is used to control whether or not the name of the calling process is to be included in error messages issued by the explain_*_or_die(3) functions. If not explicitly set, is controlled by the EXPLAIN_OPTIONS environment variable, or defaults to true if not set there either.

yesno

non‐zero (true) to have program name included, zero (false) to have program name excluded.

Releases

6 releases since Debian 7 (Wheezy); the text changed 1 time.

  1. 7
  2. 9–13

Author

Written by Peter Miller <[email protected]>

From libexplain-dev 1.4.D001-16 in Debian 13 (Trixie). Parsed by carta from the page's man source.