staux(3)staux(3)NAMEstaux - routines that provide scalar interfaces to auxiliaries
SYNOPSIS
#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 );
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 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 rel‐
ative 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 ref‐
erenced 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.
RESTRICTIONS
The interface will be added to incrementally, as needed.
SEE ALSOstfd(3)staux(3)