Provided by: libelf-dev_0.194-1_amd64 

NAME
elf_getshdrnum, elf_getshnum - retrieve the number of section headers in an ELF file
SYNOPSIS
#include <libelf.h>
int elf_getshdrnum("Elf *elf", size_t *dst );
int elf_getshnum("Elf *elf", size_t *dst ); (deprecated)
DESCRIPTION
The elf_getshdrnum() function stores the number of section headers (sections) associated with the ELF
descriptor elf into the variable pointed to by dst.
It transparently handles both standard and extended section header counts. If the number of section
headers exceeds the representable range of the e_shnum field in the ELF header, the ELF specification
allows encoding the true count in section header 0’s sh_size field, and sets e_shnum to 0. This function
transparently handles that case.
The function elf_getshnum() is a deprecated alias for elf_getshdrnum() and should not be used in new code
(see HISTORY).
PARAMETERS
elf A pointer to an Elf descriptor opened with elf_begin(3). The descriptor must represent a file of
kind ELF_K_ELF . If NULL, the function returns -1 without setting elf_errno.
dst Pointer to a size_t variable. On success, the number of section headers is written here. Must not
be NULL.
RETURN VALUE
Returns 0 on success and stores the result in dst. Returns -1 on failure.
SEE ALSO
elf32_getshdr(3), elf64_getshdr(3), libelf(3), elf(5)
ATTRIBUTES
┌─────────────────────────────────────────────────────────────────────────────┬───────────────┬─────────┐
│ Interface │ Attribute │ Value │
├─────────────────────────────────────────────────────────────────────────────┼───────────────┼─────────┤
│ elf_getshdrnum(), elf_getshnum() │ Thread safety │ MT-Safe │
└─────────────────────────────────────────────────────────────────────────────┴───────────────┴─────────┘
REPORTING BUGS
Report bugs to <elfutils-devel@sourceware.org> or https://sourceware.org/bugzilla/.
HISTORY
elf_getshdrnum first appeared in elfutils 0.142. This function was added due to elf_getshnum return
value inconsistencies between different libelf implementations. elf_getshdrnum was introduced to ensure
that 0 is returned on success across all libelf implementations.
Libelf 2025-06-30 ELF_GETSHDRNUM(3)