The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

gelf (3)
  • gelf (3) ( Solaris man: Библиотечные вызовы )
  • >> gelf (3) ( FreeBSD man: Библиотечные вызовы )

  • BSD mandoc
     

    NAME

    GElf
    
     - class-independent API for ELF manipulation
    
     
    

    LIBRARY

    Lb libelf
    
     
    

    SYNOPSIS

       #include <gelf.h>
     

    DESCRIPTION

    This manual page describes a class independent API for manipulating ELF objects. This API allows an application to operate on ELF descriptors without needing to the know the ELF class of the descriptor.

    The GElf API may be used alongside the ELF API without restriction.  

    GElf Data Structures

    The GElf API defines the following class-independent data structures:

    Vt GElf_Addr
    A representation of ELF addresses.
    Vt GElf_Dyn
    A class-independent representation of ELF .dynamic section entries.
    Vt GElf_Ehdr
    A class-independent representation of an ELF Executable Header.
    Vt GElf_Half
    An unsigned 16 bit quantity.
    Vt GElf_Off
    A class-independent representation of a ELF offset.
    Vt GElf_Phdr
    A class-independent representation of an ELF Program Header Table entry.
    Vt GElf_Rel
    A class-independent representation of an ELF relocation entry.
    Vt GElf_Rela
    A class-independent representation of an ELF relocation entry with addend.
    Vt GElf_Shdr
    A class-independent representation of an ELF Section Header Table entry.
    Vt GElf_Sword
    A signed 32 bit quantity.
    Vt GElf_Sxword
    A signed 64 bit quantity.
    Vt GElf_Sym
    A class-independent representation of an ELF symbol table entry.
    Vt GElf_Word
    An unsigned 32 bit quantity.
    Vt GElf_Xword
    An unsigned 64 bit quantity.

    These data structures are sized to be compatible with the corresponding 64 bit ELF structures, and have the same internal structure as their 64 bit class-dependent counterparts. Class-dependent ELF structures are described in elf(5).  

    GElf Programming Model

    GElf functions always return a copy of the underlying (class-dependent) ELF data structure. The programming model with GElf is as follows:

    1. An application will retrieve data from an ELF descriptor using a gelf_get_ (*);
      function. This will copy out data into a private Vt GElf_* data structure.
    2. The application will work with its private copy of the GElf structure.
    3. Once done, the application copies the new values back to the underlying ELF data structure using the gelf_update_ (*);
      functions.
    4. The application will then use the elf_flag (*);
      APIs to indicate to the ELF library that an ELF data structure is dirty.

    When updating an underlying 32 bit ELF data structure, the GElf routines will signal an error if a GElf value is out of range for the underlying ELF data type.  

    Namespace use

    The GElf interface uses the following symbols:

    GElf_*
    Class-independent data types.
    gelf_*
    For functions defined in the API set.

     

    GElf Programming APIs This section provides an overview of the GElf programming APIs.

    Further information is provided in the manual page of each function listed here.

    "Allocating ELF Data Structures"

    Fn gelf_newehdr
    Allocate a new ELF Executable Header.
    Fn gelf_newphdr
    Allocate a new ELF Program Header Table.

    "Data Translation"

    Fn gelf_xlatetof
    Translate the native representation of an ELF data structure to its file representation.
    Fn gelf_xlatetom
    Translate from the file representation of an ELF data structure to a native representation.

    "Retrieving ELF Data"

    Fn gelf_getdyn
    Retrieve an ELF .dynamic table entry.
    Fn gelf_getehdr
    Retrieve an ELF Executable Header from the underlying ELF descriptor.
    Fn gelf_getphdr
    Retrieve an ELF Program Header Table entry from the underlying ELF descriptor.
    Fn gelf_getrel
    Retrieve an ELF relocation entry.
    Fn gelf_getrela
    Retrieve an ELF relocation entry with addend.
    Fn gelf_getshdr
    Retrieve an ELF Section Header Table entry from the underlying ELF descriptor.
    Fn gelf_getsym
    Retrieve an ELF symbol table entry.

    Queries

    Fn gelf_checksum
    Retrieves the ELF checksum for an ELF descriptor.
    Fn gelf_fsize
    Retrieves the size of the file representation of an ELF type.
    Fn gelf_getclass
    Retrieves the ELF class of an ELF descriptor.

    "Updating ELF Data"

    Fn gelf_update_dyn
    Copy back an ELF .dynamic Table entry.
    Fn gelf_update_phdr
    Copy back an ELF Program Header Table entry.
    Fn gelf_update_rel
    Copy back an ELF relocation entry.
    Fn gelf_update_rela
    Copy back an ELF relocation with addend entry.
    Fn gelf_update_shdr
    Copy back an ELF Section Header Table entry.
    Fn gelf_update_sym
    Copy back an ELF symbol table entry.

     

    SEE ALSO

    elf(3), elf(5)  

    HISTORY

    The GELF(3) API first appeared in System V Release 4. This implementation of the API first appeared in Fx 7.0 .  

    AUTHORS

    The GElf API was implemented by An Joseph Koshy Aq jkoshy@FreeBSD.org .


     

    Index

    NAME
    LIBRARY
    SYNOPSIS
    DESCRIPTION
    GElf Data Structures
    GElf Programming Model
    Namespace use
    GElf Programming APIs
    SEE ALSO
    HISTORY
    AUTHORS


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру