Sun Microsystems, Inc.
spacer | | |  
black dot
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
ELF Library Functionself32_getehdr(3ELF)


 elf32_getehdr, elf32_newehdr, elf64_getehdr, elf64_newehdr - retrieve class-dependent object file header


cc [ flag ... ] file ... -lelf [ library ... ]
#include <libelf.h>
Elf32_Ehdr *elf32_getehdr(Elf *elf);
 Elf32_Ehdr *elf32_newehdr(Elf *elf);
 Elf64_Ehdr *elf64_getehdr(Elf *elf);
 Elf64_Ehdr *elf64_newehdr(Elf *elf);



For a 32-bit class file, elf32_getehdr() returns a pointer to an ELF header, if one is available for the ELF descriptor elf. If no header exists for the descriptor, elf32_newehdr() allocates a clean one, but it otherwise behaves the same as elf32_getehdr(). It does not allocate a new header if one exists already. If no header exists for elf32_getehdr(), one cannot be created for elf32_newehdr(), a system error occurs, the file is not a 32-bit class file, or elf is null, both functions return a null pointer.

For the 64-bit class, replace 32 with 64 as appropriate.

The header includes the following members:

unsigned char	e_ident[EI_NIDENT];
Elf32_Half	e_type;
Elf32_Half	e_machine;
Elf32_Word	e_version;
Elf32_Addr	e_entry;
Elf32_Off	e_phoff;
Elf32_Off	e_shoff;
Elf32_Word	e_flags;
Elf32_Half	e_ehsize;
Elf32_Half	e_phentsize;
Elf32_Half	e_phnum;
Elf32_Half	e_shentsize;
Elf32_Half	e_shnum;
Elf32_Half	e_shstrndx;

elf32_newehdr() automatically sets the ELF_F_DIRTY bit. See elf_flagdata(3ELF). A program may use elf_getident() to inspect the identification bytes from a file.



See attributes(5) for descriptions of the following attributes:

Interface StabilityStable



elf(3ELF), elf_begin(3ELF), elf_flagdata(3ELF), elf_getident(3ELF), libelf(3LIB), attributes(5)

SunOS 5.9Go To TopLast Changed 11 Jul 2001

Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.