Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ staux(3x) — 4D1 2.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

stfd(3x)

sym.h(5)

stsupport.h(5)



     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)



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