DataMuseum.dk

Presents historical artifacts from the history of:

RC9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: @ T s

⟦46ae21b3f⟧ TextFile

    Length: 6466 (0x1942)
    Types: TextFile
    Notes: @(#)stsupport.h 13.2 (RC International) 12/12/90 */
    Names: »stsupport.h«

Derivation

└─⟦50656ff4a⟧ Bits:30010538 TX 3.1 Coldstart
    └─⟦bbf173f5c⟧ »0004« 
        └─⟦this⟧ »./usr/include/cmplrs/stsupport.h« 
└─⟦50656ff4a⟧ Bits:30010538 TX 3.1 Coldstart
    └─⟦c6f24efe5⟧ »0007« 
        └─⟦this⟧ »comp3.0/bsd/usr/include/cmplrs/stsupport.h« 

TextFile

/*	@(#)stsupport.h	13.2 (RC International) 12/12/90	*/

/* --------------------------------------------------------- */
/* | Copyright (c) 1986, 1989 MIPS Computer Systems, Inc.  | */
/* | All Rights Reserved.                                  | */
/* --------------------------------------------------------- */
/* $Header: stsupport.h,v 2010.4.1.6 90/02/22 19:51:14 bettina Exp $ */
/*
 * Author	Mark I. Himelstein
 * Date Started	5/15/85
 * Purpose	provide support to uc to produce mips symbol tables.
 */
#ifndef __CMPLRS_STSUPPORT_H
#define __CMPLRS_STSUPPORT_H

#ifdef LANGUAGE_C
AUXU _auxtemp;
#define AUXINT(c) ((_auxtemp.isym = c), _auxtemp)


/* the following struct frames the FDR dtructure and is used at runtime
 *	to access the objects in the FDR with pointers (since the FDR
 *	only has indeces.
 */
typedef struct {
	pFDR	pfd;		/* file descriptor for this file */
	pSYMR	psym;		/* symbols for this file */
	long	csymMax;	/* max allocated */
	pAUXU	paux;		/* auxiliaries for this file */
	long	cauxMax;	/* max allocated */
	char	*pss;		/* strings space for this file */
	long	cbssMax;	/* max bytes allowed in ss */
	pOPTR	popt;		/* optimization table for this file */
	long	coptMax;	/* max allocated */
	pLINER	pline;		/* lines for this file */
	long	clineMax;	/* max allocated */
	pRFDT	prfd;		/* file indirect for this file */
	long	crfdMax;	/* max allocated */
	pPDR	ppd;		/* procedure descriptor tables */
	long	cpdMax;		/* max allocated */
	long	freadin;	/* set if read in */
	} CFDR, *pCFDR;
#define cbCFDR sizeof (CFDR)
#define cfdNil ((pCFDR) 0)
#define icfdNil -1


/* the following struct embodies the HDRR dtructure and is used at runtime
 *	to access the objects in the HDRR with pointers (since the HDRR
 *	only has indeces.
 */
typedef struct {
	long	fappend;	/* are we appending to this beast ? */
	pCFDR	pcfd;		/* the compile time file descriptors */
	pFDR	pfd;		/* all of the file descriptors in this cu */
	long	cfd;		/* count of file descriptors */
	long	cfdMax;		/* max file descriptors */
	pSYMR	psym;		/* the symbols for this cu */
	pEXTR	pext;		/* externals for this cu */
	long	cext;		/* number of externals */
	long	cextMax;	/* max currently allowed */
	char	*pssext;	/* string space for externals */
	long	cbssext;	/* # of bytes in ss */
	long	cbssextMax;	/* # of bytes allowed in ss */
	pAUXU	paux;		/* auxiliaries for this cu */
	char	*pss;		/* string space for this cu */
	pDNR	pdn;		/* dense number table for this cu */
	long	cdn;		/* number of dn's */
	long	cdnMax;		/* max currently allowed */
	pOPTR	popt;		/* optimization table for this cu */
	pLINER	pline;		/* lines for this cu */
	pRFDT	prfd;		/* file indirect for this cu */
	pPDR	ppd;		/* procedure descriptor tables */
	int	flags;		/* which has been read in already */
	int	fswap;		/* do dubtables need to be swapped */
	HDRR	hdr;		/* header from disk */
	} CHDRR, *pCHDRR;
#define cbCHDRR sizeof (CHDRR)
#define chdrNil ((pCHDRR) 0)
#define ichdrNil -1
#endif LANGUAGE_C

/* constants and macros */

#define ST_FILESINIT	25 	/* initial number of files */
#define ST_STRTABINIT	512 	/* initial number of bytes in strring space */
#define ST_EXTINIT	32	/* initial number of symbols/file */
#define ST_SYMINIT	64	/* initial number of symbols/file */
#define ST_AUXINIT	64	/* initial number of auxiliaries/file */
#define ST_LINEINIT	512	/* initial number of auxiliaries/file */
#define ST_PDINIT	32	/* initial number of procedures in one file */
#define ST_DNINIT	128	/* initial # of dense numbers */
#define ST_FDISS	1	/* we expect a fd's iss to be this */
#define ST_IDNINIT	2	/* start the dense num tab with this entry */
#define ST_PROCTIROFFSET 1	/* offset from aux of proc's tir */
#define ST_RELOC	1	/* this sym has been reloced already */

#ifdef LANGUAGE_FORTRAN
#define ST_EXTIFD	0x7fffffff	/* ifd for externals */
#define ST_RFDESCAPE	0xfff	/* rndx.rfd escape says next aux is rfd */
#define ST_ANONINDEX	0xfffff /* rndx.index for anonymous names */
#endif

#ifdef LANGUAGE_C
#define ST_EXTIFD	0x7fffffff	/* ifd for externals */
#define ST_RFDESCAPE	0xfff	/* rndx.rfd escape says next aux is rfd */
#define ST_ANONINDEX	0xfffff /* rndx.index for anonymous names */
#define ST_PEXTS	0x01	/* mask, if set externals */
#define ST_PSYMS	0x02	/* mask, if set symbols */
#define ST_PLINES	0x04	/* mask, if set lines */
#define ST_PHEADER	0x08	/* mask, if set headers */
#define ST_PDNS		0x10	/* mask, if set dense numbers */
#define ST_POPTS	0x20	/* mask, if set optimization entries */
#define ST_PRFDS	0x40	/* mask, if set file indirect entries */
#define ST_PSSS		0x80	/* mask, if set string space */
#define ST_PPDS		0x100	/* mask, if set proc descriptors */
#define ST_PFDS		0x200	/* mask, if set file descriptors */
#define ST_PAUXS	0x400	/* mask, if set auxiliaries */
#define ST_PSSEXTS	0x800	/* mask, if set external string space */
#endif LANGUAGE_C

#ifdef LANGUAGE_PASCAL
#define ST_EXTIFD	16#7fffffff	/* ifd for externals */
#define ST_RFDESCAPE	16#fff	/* rndx.rfd escape says next aux is rfd */
#define ST_ANONINDEX	16#fffff /* rndx.index for anonymous names */
#define ST_PEXTS	16#01	/* mask, if set externals */
#define ST_PSYMS	16#02	/* mask, if set symbols */
#define ST_PLINES	16#04	/* mask, if set lines */
#define ST_HEADER	16#08	/* mask, if set header */
#define ST_PDNS		16#10	/* mask, if set dense numbers */
#define ST_POPTS	16#20	/* mask, if set optimization entries */
#define ST_PRFDS	16#40	/* mask, if set file indirect entries */
#define ST_PSSS		16#80	/* mask, if set string space */
#define ST_PPDS		16#100	/* mask, if set proc descriptors */
#define ST_PFDS		16#200	/* mask, if set file descriptors */
#define ST_PAUXS	16#400	/* mask, if set auxiliaries */
#define ST_PSSEXTS	16#800	/* mask, if set external string space */
#endif LANGUAGE_PASCAL

#define ST_FCOMPLEXBT(bt) ((bt == btStruct) || (bt == btUnion) || (bt == btTypedef) || (bt == btEnum))
#define valueNil	0
#define export

/*
 * Constants to describe aux types used in swap_aux( , ,type);
 */
#define ST_AUX_TIR	0
#define ST_AUX_RNDXR	1
#define ST_AUX_DNLOW	2
#define ST_AUX_DNMAC	3
#define ST_AUX_ISYM	4
#define ST_AUX_ISS	5
#define ST_AUX_WIDTH	6

/* $Log:	stsupport.h,v $
 * Revision 2010.4.1.6  90/02/22  19:51:14  bettina
 * 2.10 F1
 * 
 * Revision 2010.4.1.5  89/11/29  22:39:10  bettina
 * 2.10 BETA2
 * 
 * Revision 2010.3  89/09/26  23:53:12  lai
 * updated wrapper
 * 
 * Revision 2010.2  89/09/26  22:16:29  lai
 * added wrapper and $LOG
 * 
*/
#endif