ELF_ERROR(3E)ELF_ERROR(3E)


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 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 that 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();
          while (more_to_do)
          {
               /* processing ... */
               if ((err = elf_errno()) != 0)
               {
                    msg = elf_errmsg(err);
                    /* print msg */
               }
          }

SEE ALSO
     elf(3E), elf_version(3E)