/* Copyright (c) 1980 Regents of the University of California */
/* static char sccsid[] = "@(#)pc3.h 1.5 7/29/82"; */
char *name
; /* pointer to string table */
short desc
; /* symbol description */
int lookup
; /* whether new or old */
struct { /* for a symbol, */
struct symbol
*fromp
; /* its defining .p file */
struct symbol
*fromi
; /* its defining .i file */
long iline
; /* the .i file line */
struct symbol
*rfilep
; /* its resolving file */
long rline
; /* resolving file line */
time_t modtime
; /* for a file, its st_mtime */
* struct for an argument .o file.
* old archive magic for error detection.
* this is used to trim pointers into the range of a mod of a prime.
#define SHORT_ABS( n ) ( n & 077777 )
* a prime number which gets sizeof( struct symboltableinfo )
* up to a multiple of BUFSIZ.
* number of entries used in this symbol table,
* a chain to the next symbol table,
* and the entries. (pointers to struct symbols.)
struct symboltableinfo
*chain
;
struct symbol
*entry
[ SYMBOLPRIME
];
* if new struct symbols are needed,
* allocate this much space and hack it up into struct symbols.
#define SYMBOLALLOC BUFSIZ
* a prime number which gets sizeof( struct stringtableinfo )
* up to a multiple of BUFSIZ.
* number of entries used in this string table,
* a chain to the next string table,
* and the entries. (pointers to the character table.)
struct stringtableinfo
*chain
;
char *entry
[ STRINGPRIME
];
* if more character table space is needed,
* allocate this much and hack it up into strings.
* an enumeration for error types
* an enumeration for lookups
struct symbol
*entersymbol();
struct symbol
*symbolalloc();