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: 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. 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. 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. 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. Works the same as st_auxrndxadd()
except that RNDXR is referenced by an index into the dense
number table. 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.
Shifts in the specified type qualifier, tq, 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. Adds a type qualifier in the highest or most significant
non-tqNil type qualifier. Returns the most significant
type qualifier given an index into the files aux
table. Changes the iauxth aux in the current file's auxiliary
table to aux. Converts the relative index (RNDXR)
auxiliary, which is specified by iaux, to the specified
arguments.
The interface will be added to incrementally, as needed.
stfd(3)
staux(3)
[ Back ] |