---
name: "elf64_getehdr"
section: "3"
platform: "linux"
package: "libelf"
version: "0.197-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/elf64_getehdr"
---

# elf64\_getehdr(3)

retrieve the ELF header for a 64-bit ELF descriptor

## NAME

elf64\_getehdr - retrieve the ELF header for a 64-bit ELF descriptor

## SYNOPSIS

```
#include <libelf.h>
Elf64_Ehdr *elf64_getehdr(Elf *elf);
```

## DESCRIPTION

**elf64\_getehdr** retrieves the ELF header for the given 64-bit ELF descriptor *elf.* The ELF header contains crucial metadata about the ELF file, such as the type, machine, version, entry point, program header table offset, and section header table offset. See [**elf**(5)](/elf/5.md) for more information regarding the ELF header.

## PARAMETERS

- *elf*

  Pointer to the ELF descriptor from which to retrieve the ELF header.

## RETURN VALUE

On success, **elf64\_getehdr** returns a pointer to the **Elf64\_Ehdr** structure. If the ELF descriptor is invalid or not a 64-bit ELF, it returns NULL and sets an error code retrievable by [**elf\_errno**(3)](/elf_errno/3.md).

## SEE ALSO

[**elf32\_getehdr**(3)](/elf32_getehdr/3.md), [**elf\_begin**(3)](/elf_begin/3.md), [**elf\_errno**(3)](/elf_errno/3.md), [**elf**(5)](/elf/5.md)

## REPORTING BUGS

Report bugs to \<elfutils-devel@sourceware.org\> or https://sourceware.org/bugzilla/.
