Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ldgetaux(3) — OSF/1 3.0 αXP

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ldclose(3)

ldopen(3)

ldtbseek(3)

ldtbread(3)

ldfcn(4)

ldgetaux(3)  —  Subroutines

NAME

ldgetaux − Retrieves 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

The ldgetaux routine 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:

       •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 SYMR 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