Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
ELF_FLAGDATA(3)	       FreeBSD 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 Parsing 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 flag bits on data struc-
     tures associated with an ELF file.

     Arguments data, elf and scn denote	the data structures whose status bits
     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 bits to be cleared.

     ELF_C_SET	The argument flags specifies the bits to be set.

     The argument flags	is allowed to have the following bits 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 respon-
		   sibility 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	bits 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 flag bits	set.

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

     [ELF_E_SEQUENCE]  Function	elf_flagehdr() was called without an exe-
		       cutable 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),

FreeBSD	11.0			August 10, 2006			  FreeBSD 11.0


Want to link to this manual page? Use this URL:

home | help