ldgetaux(3x) — RISC
Name
ldgetaux − retrieve an auxiliary entry, given an index
Syntax
#include <stdio.h>
#include <filehdr.h>
#include <sym.h>
#include <ldfcn.h>
pAUXU ldgetaux (ldptr, iaux)
LDFILE ldptr;
long iaux;
Description
The ldgetaux function returns a pointer to an auxiliary table entry associated with iaux. The AUXU is contained in a static buffer. Because the buffer can be overwritten by later calls to ldgetaux, it must be copied by the caller if the aux is to be saved or changed.
Note that auxiliary entries are not swapped as this routine cannot detect what manifestation of the AUXU union is retrieved. If LDAUXSWAP(ldptr, ldf) is non-zero, a further call to swap_aux is required. Before calling the swap_aux routine, the caller should copy
If the auxiliary cannot be retrieved, ldgetaux returns null (defined in <stdio.h>) for an object file. This occurs in the following instances:
•The auxiliary table cannot be found
•The iaux offset into the auxiliary table is beyond the end of the table
Typically, ldgetaux is called immediately after a successful call to ldtbread to retrieve the data type information associated with the symbol table entry filled by ldtbread. The index field of the symbol, pSYMR, is the iaux when data type information is required. If the data type information for a symbol is not present, the index field is indexNi and ldgetaux should not be called.
See Also
intro(3x), ldclose(3x), ldopen(3x), ldtbseek(3x), ldtbread(3x), ldfcn(5).