LDGETAUX(3X) LDGETAUX(3X)
ldgetaux - retrieve an auxiliary entry, given an index
#include <stdio.h>
#include <filehdr.h>
#include <sym.h>
#include <ldfcn.h>
pAUXU ldgetaux(LDFILE * ldptr, int iaux );
ldgetaux 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 the aux.
If the auxiliary cannot be retrieved, ldgetaux returns NULL (defined in
<stdio.h>) for an object file. This occurs when:
o the auxiliary table cannot be found
o 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 indexNil and
ldgetaux should not be called.
The program must be loaded with the object file access routine library
libmld.a.
ldclose(3X), ldopen(3X), ldtbseek(3X), ldtbread(3X), ldfcn(4).
PPPPaaaaggggeeee 1111 [ Back ]
|