LDTBREAD(3X) LDTBREAD(3X)
ldtbread - read an indexed symbol table entry of a common object file
#include <stdio.h>
#include <filehdr.h>
#include <syms.h>
#include <ldfcn.h>
int ldtbread (ldptr, symindex, symbol)
LDFILE *ldptr;
long symindex;
pSYMR symbol;
ldtbread reads the symbol table entry specified by symindex of the common
object file currently associated with ldptr into the area of memory
beginning at symbol.
ldtbread returns SUCCESS or FAILURE. If symindex is greater than the
number of symbols in the object file or if it cannot read the specified
symbol table entry, ldtbread fails.
The local and external symbols are concatenated into a linear list.
Symbols are accessible from symnum zero to
SYMHEADER(ldptr).isymMax+SYMHEADER(ldptr).iextMax. The index and iss
fields of the SYMR are made absolute (rather than file relative) so that
routines ldgetname(3X), ldgetaux(3X), and ldtbread (this routine) proceed
normally given those indices. Only the ``sym'' part of externals is
returned.
NOTE: The first symbol in the symbol table has an index of zero.
The program must allocate space big enough for a SYMR and point the pSYMR
argument at the space before calling ldtbread.
The program must be loaded with the object file access routine library
libmld.a.
ldclose(3X), ldgetname(3X), ldopen(3X), ldtbseek(3X), ldfcn(4).
PPPPaaaaggggeeee 1111 [ Back ]
|