Minix Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
ELF_FLAGDATA(3)          BSD Library Functions Manual          ELF_FLAGDATA(3)

     elf_flagdata, elf_flagehdr, elf_flagelf, elf_flagphdr, elf_flagscn,
     elf_flagshdr -- manipulate flags associated with ELF(3) data structures

     ELF Access Library (libelf, -lelf)

     #include <libelf.h>

     unsigned int
     elf_flagdata(Elf_Data *data, Elf_Cmd cmd, unsigned int flags);

     unsigned int
     elf_flagehdr(Elf *elf, Elf_Cmd cmd, unsigned int flags);

     unsigned int
     elf_flagelf(Elf *elf, Elf_Cmd cmd, unsigned int flags);

     unsigned int
     elf_flagphdr(Elf *elf, Elf_Cmd cmd, unsigned int flags);

     unsigned int
     elf_flagscn(Elf_Scn *scn, Elf_Cmd cmd, unsigned int flags);

     unsigned int
     elf_flagshdr(Elf_Scn *scn, Elf_Cmd cmd, unsigned int flags);

     These functions are used to query, set or reset flags on data structures
     associated with an ELF file.

     Arguments data, elf and scn denote the data structures whose flags need
     to be changed.  These values are allowed to be NULL to simplify error
     handling in application code.

     Argument cmd may have the following values:

     ELF_C_CLR  The argument flags specifies the flags to be cleared.

     ELF_C_SET  The argument flags specifies the flags to be set.

     The argument flags is allowed to have the following flags set:

     ELF_F_DIRTY   Mark the associated data structure as needing to be written
                   back to the underlying file.  A subsequent call to
                   elf_update(3) will resynchronize the library's internal
                   data structures.

     ELF_F_LAYOUT  This flag is only valid with the elf_flagelf() API.  It
                   informs the library that the application will take
                   responsibility for the layout of the file and that the
                   library is not to insert any padding in between sections.

     Marking a given data structure as "dirty" affects all of its contained
     elements.  Thus marking an ELF descriptor elf with elf_flagelf(elf,
     ELF_C_SET, ELF_F_DIRTY) means that the entire contents of the descriptor
     are "dirty".

     Using a value of zero for argument flags will return the current set of
     flags for the data structure being queried.

     These functions return the updated flags is successful, and zero if an
     error is detected.

     These functions may fail with the following errors:

     [ELF_E_ARGUMENT]  An unsupported value was used for the cmd argument.

     [ELF_E_ARGUMENT]  Argument flags had unsupported flags set.

     [ELF_E_ARGUMENT]  The argument elf was not a descriptor for an ELF

     [ELF_E_SEQUENCE]  Function elf_flagehdr() was called without an
                       executable header being allocated.

     [ELF_E_SEQUENCE]  Function elf_flagphdr() was called without a program
                       header being allocated.

     elf(3), elf32_newehdr(3), elf32_newphdr(3), elf32_newshdr(3),
     elf64_newehdr(3), elf64_newphdr(3), elf64_newshdr(3), elf_newdata(3),
     elf_update(3), gelf(3), gelf_newehdr(3), gelf_newphdr(3),
     gelf_newshdr(3), gelf_update_dyn(3), gelf_update_move(3),
     gelf_update_rel(3), gelf_update_rela(3), gelf_update_sym(3),

BSD                            October 22, 2007                            BSD