Provided by: libelf-dev_0.194-1_amd64 bug

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

       ┌─────────────────────────────────────────────────────────────────────────────┬───────────────┬─────────┐
       │ InterfaceAttributeValue   │
       ├─────────────────────────────────────────────────────────────────────────────┼───────────────┼─────────┤
       │ 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)