|
|
Power 6/32 Unix version 1.21
/* $Header: /var/lib/cvsd/repos/cci/cci/usr/src/usr.bin/cdb/transBsd/sym.c,v 1.1.1.1 2019/07/28 12:25:33 root Exp $ */
/* (C) Copyright 1985 Third Eye Software, Inc. - All Rights Reserved */
#include "tes42.h"
/* I S Y M F S Y M */
export int IsymFSym (sym)
pSYMR sym;
{
return (sym - vrgSym);
} /* IsymFSym */
/* S Y M F I S Y M */
export pSYMR SymFIsym (isym)
int isym;
{
return (vrgSym + isym);
} /* SymFIsym */
/* S Y M F I N S E R T */
export pSYMR SymFInsert ()
{
register pSYMR sym;
static SYMR asymZeroes;
if (visymMac >= visymMax)
panic ("symbol overrrun");
visym = visymMac++;
sym = vrgSym + visym;
*sym = asymZeroes;
return (sym);
} /* SymFInsert */
/* D E L E T E S Y M */
export void DeleteSym (sym)
pSYMR sym;
{
long isym;
if (sym >= vrgSym + visymMac)
panic ("illegal symbol delete");
visymMac--;
for (isym = IsymFSym(sym); isym < visymMac; isym++)
vrgSym[isym] = vrgSym[isym+1];
} /* DeleteSym */
/* S Y M F G L O B A L */
export pSYMR SymFGlobal()
{
pSYMR sym;
static SYMR asymZeroes;
if (visymGlMac >= visymGlMax)
panic("sym table overrun");
visymGlobal = visymGlMac++;
sym = vrgSymGlobal + visymGlobal;
*sym = asymZeroes;
return(sym);
} /* SymFGlobal */
/* E X I S T I N G S Y M F S B P R O C */
export pSYMR ExistingSymFSbProc (iss)
register int iss;
{
register pPDR pd= vrgPd + vipd;
register pPDR pd0= vrgPd;
register pSYMR rgSym= vrgSym;
while (pd >= pd0 && rgSym [pd->isym].iss != iss)
pd--;
return (pd >= pd0 ? (rgSym + pd->isym) : symNil);
} /* ExistingSymFSbProc */
/* E X I S T I N G S Y M F G L O B A L */
export pSYMR ExistingSymFGlobal (sym)
pSYMR sym;
{
register pSYMR sym1;
for (sym1 = vrgSymGlobal+visymGlMac;
(sym1 >= vrgSymGlobal) && (sym1->iss != sym->iss); sym1--)
;
return( (sym1 >= vrgSymGlobal) ? sym1 : symNil);
} /* ExistingSymFGlobal */
/* E X I S T I N G F D S Y M F I S S */
export pSYMR ExistingFdSymFIss (iss)
register int iss;
{
register pSYMR sym1 = vrgSym + visym;
register pSYMR symFile = vsymFile;
while ( (sym1 > symFile) && (sym1->iss != iss))
sym1--;
return( (sym1 > symFile) ? sym1 : symNil);
} /* ExistingFdSymFIss */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.