ELF32\_FSIZE(3) Libelf Programmer's Manual ELF32\_FSIZE(3)

# [NAME](#NAME)

elf32\_fsize, elf64\_fsize - calculate the file size of an ELF data structure

# [SYNOPSIS](#SYNOPSIS)

```
#include <libelf.h>
size_t elf32_fsize(Elf_Type type, size_t count, unsigned int version);
size_t elf64_fsize(Elf_Type type, size_t count, unsigned int version);
```

# [DESCRIPTION](#DESCRIPTION)

Given an **Elf\_Type** representation of a core ELF structure as well as the number of items, return the number of bytes needed for the on-disk representation in a 32-bit or 64-bit ELF file. The on-disk and in-memory representations of **Elf\_Type** are assumed to be the same. See [**libelf**(3)](/man/os/elfutils/libelf.3) for more information regarding **Elf\_Type**.

# [PARAMETERS](#PARAMETERS)

[*type*](#type)

The ELF data structure type for which the file size is to be calculated.

[*count*](#count)

The number of elements of the specified type.

[*version*](#version)

The ELF version. This should be set to **EV\_CURRENT**, which is the only valid value.

# [RETURN VALUE](#RETURN_VALUE)

The size in bytes of the specified count and type of data structure. If version is not set to **EV\_CURRENT** or *type* is not a valid **Elf\_Type**, return 0 and set a libelf error code. Integer overflow can occur if the size of *type* multiplied by *count* is greater than **SIZE\_MAX**.

# [SEE ALSO](#SEE_ALSO)

[**elf\_errno**(3)](/man/os/elfutils/elf_errno.3), [**libelf**(3)](/man/os/elfutils/libelf.3), [**elf**(5)](/man/os/elfutils/elf.5)

# [ATTRIBUTES](#ATTRIBUTES)

For an explanation of the terms used in this section, see [**attributes**(7)](/man/os/elfutils/attributes.7).

**Interface** **Attribute** **Value** elf32\_fsize (), elf64\_fsize () Thread safety MT-Safe

# [REPORTING BUGS](#REPORTING_BUGS)

Report bugs to &lt;elfutils-devel@sourceware.org&gt; or https://sourceware.org/bugzilla/.

2024-08-14 Libelf

---

Document: elf64_fsize(3) from elfutils 0.197-r0 (Chainguard OS)
Source: https://sourceware.org/git/elfutils.git
