GELF_CHECKSUM(3)

GELF_CHECKSUM(3) | Library Functions Manual | GELF_CHECKSUM(3)

# NAME

`elf32_checksum`, `elf64_checksum`, `gelf_checksum` —
return the checksum of an ELF object

# LIBRARY

ELF Access Library (libelf, -lelf)

# SYNOPSIS

`#include <libelf.h>`

long
`elf32_checksum`(Elf *elf);

long
`elf64_checksum`(Elf *elf);

`#include <gelf.h>`

long
`gelf_checksum`(Elf *elf);

# DESCRIPTION

These functions return a simple checksum of the ELF object described by their argument elf. The checksum is computed in way that allows its value to remain unchanged in presence of modifications to the ELF object by utilities like strip(1).

Function `elf32_checksum`() returns a checksum for an ELF descriptor elf of class `ELFCLASS32`.

Function `elf64_checksum`() returns a checksum for an ELF descriptor elf of class `ELFCLASS64`.

Function `gelf_checksum`() provides a class-independent way retrieving the checksum for ELF object elf.

# RETURN VALUES

These functions return the checksum of the ELF object, or zero in case an error was encountered.

# ERRORS

These functions may fail with the following errors:

[`ELF_E_ARGUMENT`]
  Argument elf was NULL.
[`ELF_E_ARGUMENT`]
  Argument elf was not a descriptor for an ELF file.
[`ELF_E_ARGUMENT`]
  The ELF descriptor elf was not opened for reading or updating.
[`ELF_E_CLASS`]
  For functions `elf32_checksum`() and `elf64_checksum`(), ELF descriptor elf did not match the class of the called function.
[`ELF_E_HEADER`]
  The ELF object specified by argument elf had a malformed executable header.
[`ELF_E_RESOURCE`]
  An out of memory condition was detected during processing.
[`ELF_E_SECTION`]
  The ELF object specified by argument elf contained a section with a malformed section header.
[`ELF_E_VERSION`]
  The ELF object was of an unsupported version.

# SEE ALSO

strip(1), elf(3), gelf(3)

August 29, 2006 | NetBSD 9.3