[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    elf_errmsg(3E) manual page Table of Contents

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);

MT-Level

Unsafe

Description

If an ELF library function fails, a program may call elf_errno() to retrieve the library’s internal error number. As a side effect, this function resets the internal error number to zero, which indicates no error.

elf_errmsg() 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

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 zero.


(void)elf_errno();
/* processing ... */
while (more_to_do)
{
    if ((err = elf_errno()) != 0)
    {
        /* print msg */
        msg = elf_errmsg(err);
    }
}

See Also

elf(3E)


Table of Contents