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

# [NAME](#NAME)

elf32\_getphdr, elf64\_getphdr - retrieve the program header table for a 32-bit or 64-bit ELF object file

# [SYNOPSIS](#SYNOPSIS)

```
#include <libelf.h>
Elf32_Phdr *elf32_getphdr(Elf *elf);
Elf64_Phdr *elf64_getphdr(Elf *elf);
```

# [DESCRIPTION](#DESCRIPTION)

Retrieve the program header table for the given ELF descriptor *elf*. The number of elements in the program header table can be retrieved with **elf32\_getphdrnum** and **elf64\_getphdrnum**. **elf32\_newphdr** and **elf64\_newphdr** change the size of the program header table or to delete it. If changing an element of the program header table, you must call elf\_flagphdr with **ELF\_C\_SET** and **ELF\_F\_DIRTY** in order to write the new data to disk.

# [PARAMETERS](#PARAMETERS)

[*elf*](#elf)

ELF descriptor from which to retrieve the program header table.

# [RETURN VALUE](#RETURN_VALUE)

On success, return a pointer to the program header table. Return NULL if there is no program header. On failure, return NULL and set a libelf error code.

# [SEE ALSO](#SEE_ALSO)

[**elf32\_newphdr**(3)](/man/os/elfutils/elf32_newphdr.3), [**elf\_errno**(3)](/man/os/elfutils/elf_errno.3), [**elf\_getphdrnum**(3)](/man/os/elfutils/elf_getphdrnum.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\_getphdr (), elf64\_getphdr () 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_getphdr(3) from elfutils 0.197-r0 (Chainguard OS)
Source: https://sourceware.org/git/elfutils.git
