GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  GELF_NEWEHDR (3)

NAME

elf32_newehdr, elf64_newehdr, gelf_newehdr - retrieve or allocate the object file header

CONTENTS

Library
Synopsis
Description
Return Values
Errors
See Also

LIBRARY


.Lb libelf

SYNOPSIS


.In libelf.h Elf32_Ehdr * elf32_newehdr Elf *elf Elf64_Ehdr * elf64_newehdr Elf *elf
.In gelf.h void * gelf_newehdr Elf *elf int elfclass

DESCRIPTION

These functions retrieve the ELF header from the ELF descriptor elf, allocating a new header if needed. File data structures are translated to their in-memory representations as described in elf(3).

Function elf32_newehdr returns a pointer to a 32 bit
.Vt Elf32_Ehdr structure. Function elf64_newehdr returns a pointer to a 64 bit
.Vt Elf64_Ehdr structure.

When argument elfclass has value ELFCLASS32, function gelf_newehdr returns the value returned by elf32_newehdr elf. When argument elfclass has value ELFCLASS64 it returns the value returned by elf64_newehdr elf.

If a fresh header structure is allocated, the members of the structure are initialized as follows:
e_ident[EI_MAG0..EI_MAG3]
  Identification bytes at offsets EI_MAG0, EI_MAG1, EI_MAG2 and EI_MAG3 are set to the ELF signature.
e_ident[EI_CLASS]
  The identification byte at offset EI_CLASS is set to the ELF class associated with the function being called or to argument elfclass for function gelf_newehdr.
e_ident[EI_DATA]
  The identification byte at offset EI_DATA is set to ELFDATANONE.
e_ident[EI_VERSION]
  The identification byte at offset EI_VERSION is set to the ELF library’s operating version set by a prior call to elf_version(3).
e_machine
  is set to EM_NONE.
e_type
  is set to ELF_K_NONE.
e_version
  is set to the ELF library’s operating version set by a prior call to elf_version(3).

Other members of the header are set to zero. The application is responsible for changing these values as needed before calling elf_update.

If successful, these three functions set the ELF_F_DIRTY flag on ELF descriptor elf.

RETURN VALUES

These functions return a pointer to a translated header descriptor if successful, or NULL on failure.

ERRORS

These functions can fail with the following errors:
[ELF_E_ARGUMENT] The argument elf was null.
[ELF_E_ARGUMENT] Argument elf was not a descriptor for an ELF object.
[ELF_E_ARGUMENT] Argument elfclass had an unsupported value.
[ELF_E_ARGUMENT] The class of the ELF descriptor elf did not match that of the requested operation.
[ELF_E_ARGUMENT] For function gelf_newehdr, the class of argument elf was not ELFCLASSNONE and did not match the argument elfclass.
[ELF_E_CLASS] The ELF class of descriptor elf did not match that of the API function being called.
[ELF_E_HEADER] A malformed ELF header was detected.
[ELF_E_RESOURCE] An out of memory condition was detected during execution.
[ELF_E_SECTION] The ELF descriptor in argument elf did not adhere to the conventions used for extended numbering.
[ELF_E_VERSION] The ELF descriptor elf had an unsupported ELF version number.

SEE ALSO

elf(3), elf32_getehdr(3), elf64_getehdr(3), elf_flagdata(3), elf_getident(3), elf_update(3), elf_version(3), gelf(3), gelf_getehdr(3), elf(5)
Search for    or go to Top of page |  Section 3 |  Main Index


Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.