Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ldgetaux(3) — OSF/1 X2.0-8 MIPS

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ldclose(3)

ldopen(3)

ldtbseek(3)

ldtbread(3)

ldfcn(4)

ldgetaux(3)  —  Subroutines

Digital

NAME

ldgetaux − retrieve an auxiliary entry, given an index

SYNOPSIS

#include <stdio.h>
#include <filehdr.h>
#include <sym.h>
#include <ldfcn.h>

pAUXU ldgetaux (ldptr, iaux)
LDFILE ldptr;
long iaux;

DESCRIPTION

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:

• 8 the auxiliary table cannot be found

• 8 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. 

RELATED INFORMATION

ldclose(3), ldopen(3), ldtbseek(3), ldtbread(3), ldfcn(4). 

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