STAUX(3X) STAUX(3X)
NAME
staux - routines that provide scalar interfaces to
auxiliaries
SYNOPSIS
#include <syms.h>
long stauxbtadd(bt)
long bt;
long stauxbtsize(iaux,width)
long iaux;
long width;
long stauxisymadd (isym)
long isym;
long stauxrndxadd (rfd,index)
long rfd;
long index;
long stauxrndxadd (idn)
long idn;
void staddtq (iaux,tq)
long iaux;
long tq;
long sttqhighaux(iaux)
long iaux;
void stshifttq (iaux, tq)
int iaux;
int tq;
long stiauxcopyty (ifd, psym)
long ifd;
pSYMR psym;
void stchangeaux (iaux, aux)
long iaux;
AUXU aux;
void stchangeauxrndx (iaux, rfd, index)
long iaux;
long rfd;
long index;
DESCRIPTION
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
Page 1 (last mod. 8/20/87)
STAUX(3X) STAUX(3X)
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.
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
Page 2 (last mod. 8/20/87)
STAUX(3X) STAUX(3X)
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.
AUTHOR
Mark I. Himelstein
SEE ALSO
stfd(3x), sym.h(5), stsupport.h(5)
BUGS
The interface will added to incrementally, as needed.
ORIGIN
MIPS Computer Systems
Page 3 (last mod. 8/20/87)