GELF_NEWEHDR(3) Libelf Programmer's Manual GELF_NEWEHDR(3) NAME gelf_newehdr - allocate and initialize a new ELF file header SYNOPSIS #include void *gelf_newehdr(Elf *elf, int class); DESCRIPTION gelf_newehdr() allocates and initializes a new ELF header for elf, if a header does not already exist. When a new ELF header is created, all of its fields are zero-initialized. The caller must specify the ELF class via class, which must be either: ELFCLASS32 Request a 32-bit ELF file header. ELFCLASS64 Request a 64-bit ELF file header. PARAMETERS elf Pointer to an ELF descriptor of kind ELF_K_ELF. class The requested ELF class for the new header. Must be ELFCLASS32 or ELFCLASS64. RETURN VALUE On success, gelf_newehdr() will return a non-zero value. The ELF header of elf can be retrieved using gelf_getehdr(). elf32_getehdr() or elf64_getehdr() can also be used depending on the ELF class specified by class. On failure, NULL is returned and elf_errno is set. If elf is NULL then NULL is returned without setting elf_errno. In other libelf implementations the gelf_newehdr() return value may be a different type. SEE ALSO elf32_getehdr() elf64_getehdr() gelf_getehdr(3), gelf_update_ehdr(3), libelf(3), elf(5) ATTRIBUTES +--------------------------------------------+---------------+---------+ |Interface | Attribute | Value | +--------------------------------------------+---------------+---------+ |gelf_newehdr () | Thread safety | MT-Safe | +--------------------------------------------+---------------+---------+ REPORTING BUGS Report bugs to or https://sourceware.org/bugzilla/. Libelf 2025-09-17 GELF_NEWEHDR(3)