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

FreeBSD Manual Pages


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 in-
		   forms the library that the application will take responsi-
		   bility 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	ob-

     [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),

BSD			       October 22, 2007				   BSD


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

home | help