NAME¶
explain_program_name - manipulate the program name
SYNOPSIS¶
#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);
DESCRIPTION¶
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.
COPYRIGHT¶
libexplain version 0.52
Copyright (C) 2008 Peter Miller
AUTHOR¶
Written by Peter Miller <pmiller@opensource.org.au>