ELF_ERRMSG(3ELF) ELF Library Functions ELF_ERRMSG(3ELF)
NAME
elf_errmsg, elf_errno - error handling
SYNOPSIS
cc [
flag ... ]
file ...
-lelf [
library ... ]
#include <libelf.h>
const char *elf_errmsg(
int err);
int elf_errno(
void);
DESCRIPTION
If an
ELF library function fails, a program can call
elf_errno() to
retrieve the library's internal error number. As a side effect, this
function resets the internal error number to
0, which indicates no
error.
The
elf_errmsg() function takes an error number,
err, and returns a
null-terminated error message (with no trailing new-line) that
describes the problem. A zero
err retrieves a message for the most
recent error. If no error has occurred, the return value is a null
pointer (not a pointer to the null string). Using
err of
-1 also
retrieves the most recent error, except it guarantees a non-null
return value, even when no error has occurred. If no message is
available for the given number,
elf_errmsg() returns a pointer to an
appropriate message. This function does not have the side effect of
clearing the internal error number.
EXAMPLES
Example 1: A sample program of calling the elf_errmsg() function.
The following fragment clears the internal error number and checks it
later for errors. Unless an error occurs after the first call to
elf_errno(), the next call will return
0.
(void)elf_errno(); /* processing ... */ while (more_to_do) { if ((err = elf_errno()) != 0) { /* print msg */ msg = elf_errmsg(err); } }ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Stable |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
SEE ALSO
elf(3ELF),
libelf(3LIB),
attributes(7) July 11, 2001 ELF_ERRMSG(3ELF)