Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(3x)

ldclose(3x)

ldopen(3x)

ldtbseek(3x)

ldtbread(3x)

ldfcn(5)

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). 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026