#include <stdio.h> #include <filehdr.h> #include <syms.h> #include <ldfcn.h>
int ldtbread (ldptr, symindex, symbol) LDFILE *ldptr ; long symindex ; pSYMR *symbol ;
The ldtbread routine 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.
It 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 symbol index 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 the routines ldgetname(3), ldgetaux(3), and ldtbread proceed normally given those indices. Only the SYMR part of the external symbol structure is returned.
NOTE: The first symbol in the symbol table has an index of zero.
The program must be loaded with the object file access routine library libmld.a.
ldclose(3), ldgetname(3), ldopen(3), ldtbseek(3), ldgetname(3), ldfcn(4). delim off