elf_strptr(S-osr5)
elf_strptr --
make a string pointer
Syntax
cc [flag . . . ] file . . . -lelf [library] . . .
#include <libelf.h>
char *elf_strptr(Elf *elf, size_t section, size_t offset);
Description
elf_strptr(S-osr5)
converts a string section
offset
to a string pointer.
elf
identifies the file that the string section is in, and
section
gives the section table index for the strings.
elf_strptr( )
normally returns a pointer to a string.
Return values
elf_strptr( )
returns a pointer to a string or NULL.
It returns a null pointer under the following conditions:
-
elf is null
-
section is invalid
or is not a section of type SHT_STRTAB
-
the section data cannot be obtained
-
offset is invalid
-
an error occurs
Diagnostics
Error conditions are identified through the routine
elf_error(S-osr5).
Examples
A prototype for retrieving section names appears below.
The file header specifies the section name string table
in the
e_shstrndx
member.
The following code loops through the sections, printing
their names.
if ((ehdr = elf32_getehdr(elf)) == 0)
{
/* handle the error */
return;
}
ndx = ehdr->e_shstrndx;
scn = 0;
while ((scn = elf_nextscn(elf, scn)) != 0)
{
char *name = 0;
if ((shdr = elf32_getshdr(scn)) != 0)
name = elf_strptr(elf, ndx, (size_t)shdr->sh_name);
printf("'%s'\n", name? name: "(null)");
}
Warning
A program may call
elf_getdata(S-osr5)
to retrieve an entire string table section.
For some applications, that would be both
more efficient and more convenient than using
elf_strptr( ).
See also
elf(S-osr5),
elf_getdata(S-osr5),
elf_getshdr(S-osr5),
elf_xlate(S-osr5)
Standards conformance
elf_strptr(S-osr5)
is not part of any currently supported standard;
it was developed by UNIX System Laboratories, Inc.
and is maintained by The SCO Group.
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 02 June 2005