ELF_GETDATA(3)
π ELF_GETDATA π
okay bestie, welcome to elf_getdata from the Libelf Programmer's Manual β she's a libelf function and she's here to hand you the data, no cap β¨
β¨ NAME β¨
elf_getdata β get the washed data of a section π§Όπ¦
πΈ SYNOPSIS πΈ
#include <libelf.h>
Elf_Data * elf_getdata (Elf_Scn *scn, Elf_Data *data);
π DESCRIPTION π
so the elf_getdata() function is literally your girl for retrieving the data buffers of the section scn. π
ngl there can be more than one buffer in there β but only if the user explicitly added them. when a file gets read, libelf keeps it simple and creates exactly one data buffer. one. single. icon. π
- wanna get the first buffer in the list? just pass a null pointer in the parameter
data. periodt. - wanna get the next data buffer? pass the value that was previously returned in the
dataparameter. iykyk π - and if there are no more buffers left in the list? you get a null pointer back. bye bestie π
β οΈ okay important: ifdatais not a null pointer, it must be a descriptor for a buffer associated with the sectionscn. if it's not, you get a null pointer returned. no cap.
and to make error handling easier for you (so thoughtful fr fr), elf_getdata also returns a null pointer if the scn parameter is a null pointer. π«Ά
π SIGN-OFF π
that's the whole page, bestie β from the Libelf era, dated 2017-08-17, filed under ELF_GETDATA(3). slay, go forth and get your data πβ¨π§
π¦ where this page comes from
- alpine 3.22: elfutils-doc 0.193-r0 Β· GPL-3.0-or-later AND ( GPL-2.0-or-later OR LGPL-3.0-or-later )
- alpine 3.23: elfutils-doc 0.194-r0 Β· GPL-3.0-or-later AND ( GPL-2.0-or-later OR LGPL-3.0-or-later )
- alpine 3.24: elfutils-doc 0.195-r0 Β· GPL-3.0-or-later AND ( GPL-2.0-or-later OR LGPL-3.0-or-later )
- arch rolling: libelf 0.196-1
- arch rolling: libelf 0.197-1 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- centos-stream 10: elfutils-libelf-devel 0.197-1.el10 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- centos-stream 9: elfutils-libelf-devel 0.197-1.el9 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- centos-stream 9: elfutils-libelf-devel 0.197-1.el9 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- debian bookworm: libelf-dev 0.188-2.1 Β· GPL-3.0-or-later
- debian trixie: libelf-dev 0.192-4 Β· GPL-3.0-or-later
- fedora 43: elfutils-libelf-devel 0.193-3.fc43 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- fedora 43: elfutils-libelf-devel 0.193-3.fc43 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- fedora 43: elfutils-libelf-devel 0.196-1.fc43
- fedora 43: elfutils-libelf-devel 0.196-1.fc43
- fedora 43: elfutils-libelf-devel 0.197-1.fc43 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- fedora 43: elfutils-libelf-devel 0.197-1.fc43 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- fedora 44: elfutils-libelf-devel 0.194-5.fc44 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- fedora 44: elfutils-libelf-devel 0.194-5.fc44 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- fedora 44: elfutils-libelf-devel 0.196-1.fc44
- fedora 44: elfutils-libelf-devel 0.196-1.fc44
- fedora 44: elfutils-libelf-devel 0.197-1.fc44 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- fedora 44: elfutils-libelf-devel 0.197-1.fc44 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- nixos 26.05: elfutils 0.194
- nixpkgs unstable: elfutils 0.195
- opensuse-leap 16.0: libelf-devel 0.192-160000.3.1 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- opensuse-leap 16.0: libelf-devel 0.192-160000.3.1 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- opensuse-leap 16.0: libelf-devel 0.192-160000.3.1 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- opensuse-leap 16.0: libelf-devel 0.192-160000.3.1 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- ubuntu jammy: libelf-dev 0.186-1build1
- ubuntu jammy: libelf-dev 0.186-1ubuntu0.1
- ubuntu noble: libelf-dev 0.190-1.1build4 Β· GPL-3.0-or-later
- ubuntu noble: libelf-dev 0.190-1.1ubuntu0.1 Β· GPL-3.0-or-later
- ubuntu questing: libelf-dev 0.193-1
- ubuntu resolute: libelf-dev 0.194-4 Β· GPL-3.0-or-later
- ubuntu stonking: libelf-dev 0.196-1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms