Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ staux(3X) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

stfd(3x)

syms(4)



STAUX(3X)                                                            STAUX(3X)



NAME
     staux - routines that provide scalar interfaces to auxiliaries

SYNOPSIS
     #include <syms.h>

     long stauxbtadd(long bt);

     long stauxbtsize(long iaux, long width);

     long stauxisymadd(long isym);

     long stauxrndxadd(long rfd, long index);

     long stauxrndxadd(long idn);

     void staddtq(long iaux, long tq);

     long sttqhighaux(long iaux);

     void stshifttq(int iaux, int tq);

     long stiauxcopyty(long ifd, pSYMR psym);

     void stchangeaux(long iaux, AUXU aux);

     void stchangeauxrndx(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:

     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.

SEE ALSO
     stfd(3x), syms(4).

BUGS
     The interface will added to incrementally, as needed.












                                                                        Page 2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026