STAUX(3X) STAUX(3X)
staux - routines that provide scalar interfaces to auxiliaries
#include <syms.h>
long st_auxbtadd(long bt);
long st_auxbtsize(long iaux, long width);
long st_auxisymadd(long isym);
long st_auxrndxadd(long rfd, long index);
long st_auxrndxadd(long idn);
void st_addtq(long iaux, long tq);
long st_tqhigh_aux(long iaux);
void st_shifttq(int iaux, int tq);
long st_iaux_copyty(long ifd, pSYMR psym);
void st_changeaux(long iaux, AUXU aux);
void st_changeauxrndx(long iaux, long rfd, long index);
Auxiliary entries are unions with a fixed length of four bytes per entry.
Much information is packed within the auxiliaries. Rather than have the
compiler front-ends handle each type of auxiliary entry directly, the
following set of routines provide a high-level scalar interface to the
auxiliaries:
st_auxbtadd
Adds a type information record (TIR) to the auxiliaries. It sets
the basic type (bt) to the argument and all other fields to zero.
The index to this auxiliary entry is returned.
st_auxbtsize
Sets the bit in the TIR, pointed to by the iaux argument. This
argument says the basic type is a bit field and adds an auxiliary
with its width in bits.
st_auxisymadd
Adds an index into the symbol table (or any other scalar) to the
auxiliaries. It sets the value to the argument that will occupy all
four bytes. The index to this auxiliary entry is returned.
Page 1
STAUX(3X) STAUX(3X)
st_auxrndxadd
Adds a relative index, RNDXR, to the auxiliaries. It sets the rfd
and index to their respective arguments. The index to this
auxiliary entry is returned.
st_auxrndxadd_idn
Works the same as st_auxrndxadd except that RNDXR is referenced by
an index into the dense number table.
st_iaux_copyty
Copies the type from the specified file (ifd) for the specified
symbol into the auxiliary table for the current file. It returns
the index to the new aux.
st_shifttq
Shifts in the specified type qualifier, tq (see sym.h), into the
auxiliary entry TIR, which is specified by the `iaux' index into the
current file. The current type qualifiers shift up one tq so that
the first tq (tq0) is free for the new entry.
st_addtq
Adds a type qualifier in the highest or most significant non-tqNil
type qualifier.
st_tqhigh_iaux
Returns the most significant type qualifier given an index into the
files aux table.
st_changeaux
Changes the iauxth aux in the current file's auxiliary table to aux.
st_changeauxrndx
Converts the relative index (RNDXR) auxiliary, which is specified by
iaux, to the specified arguments.
The programs must be loaded with the object file access routine library
libmld.a.
stfd(3x), syms(4).
The interface will added to incrementally, as needed.
PPPPaaaaggggeeee 2222 [ Back ]
|