Annotation of cci/usr/src/usr.bin/cdb/transBsd/sym.c, revision 1.1.1.1

1.1       root        1: /* $Header: sym.c,v 1.1 86/03/24 16:19:22 rcs Exp $ */
                      2: /* (C) Copyright 1985 Third Eye Software, Inc. - All Rights Reserved */
                      3: 
                      4: #include "tes42.h"
                      5: 
                      6: 
                      7: /* I S Y M   F   S Y M */
                      8: 
                      9: export int IsymFSym (sym)
                     10: pSYMR  sym;
                     11: {
                     12:     return (sym - vrgSym);
                     13: } /* IsymFSym */
                     14: 
                     15: 
                     16: /* S Y M   F   I S Y M */
                     17: 
                     18: export pSYMR SymFIsym (isym)
                     19: int    isym;
                     20: {
                     21:     return (vrgSym + isym);
                     22: } /* SymFIsym */
                     23: 
                     24: 
                     25: 
                     26: /* S Y M   F   I N S E R T */
                     27: 
                     28: export pSYMR SymFInsert ()
                     29: {
                     30:     register pSYMR     sym;
                     31:     static SYMR                asymZeroes;
                     32: 
                     33:     if (visymMac >= visymMax)
                     34:        panic ("symbol overrrun");
                     35:     visym = visymMac++;
                     36:     sym = vrgSym + visym;
                     37: 
                     38:     *sym = asymZeroes;
                     39: 
                     40:     return (sym);
                     41: } /* SymFInsert */
                     42: 
                     43: 
                     44: /* D E L E T E   S Y M */
                     45: 
                     46: export void DeleteSym (sym)
                     47: pSYMR  sym;
                     48: {
                     49:     long       isym;
                     50: 
                     51:     if (sym >= vrgSym + visymMac)
                     52:        panic ("illegal symbol delete");
                     53: 
                     54:     visymMac--;
                     55:     for (isym = IsymFSym(sym); isym < visymMac; isym++)
                     56:        vrgSym[isym] = vrgSym[isym+1];
                     57: } /* DeleteSym */
                     58: 
                     59: 
                     60: /* S Y M   F   G L O B A L */
                     61: 
                     62: export pSYMR SymFGlobal()
                     63: {
                     64:     pSYMR      sym;
                     65:     static SYMR        asymZeroes;
                     66:     
                     67:     if (visymGlMac >= visymGlMax)
                     68:        panic("sym table overrun");
                     69: 
                     70:     visymGlobal = visymGlMac++;
                     71:     sym = vrgSymGlobal + visymGlobal;
                     72: 
                     73:     *sym = asymZeroes;
                     74: 
                     75:     return(sym);
                     76: } /* SymFGlobal */
                     77: 
                     78: 
                     79: /* E X I S T I N G   S Y M   F   S B    P R O C */
                     80: 
                     81: export pSYMR ExistingSymFSbProc (iss)
                     82: register int iss;
                     83: {
                     84:     register pPDR      pd= vrgPd + vipd;
                     85:     register pPDR      pd0= vrgPd;
                     86:     register pSYMR     rgSym= vrgSym;
                     87: 
                     88:     while (pd >= pd0 && rgSym [pd->isym].iss != iss)
                     89:            pd--;
                     90: 
                     91:     return (pd >= pd0 ? (rgSym + pd->isym) : symNil);
                     92: 
                     93: } /* ExistingSymFSbProc */
                     94: 
                     95: 
                     96: /* E X I S T I N G   S Y M   F   G L O B A L */
                     97: 
                     98: export pSYMR ExistingSymFGlobal (sym)
                     99: pSYMR  sym;
                    100: {
                    101:     register pSYMR     sym1;
                    102: 
                    103:     for (sym1 = vrgSymGlobal+visymGlMac;
                    104:                (sym1 >= vrgSymGlobal) && (sym1->iss != sym->iss); sym1--)
                    105:        ;
                    106: 
                    107:     return( (sym1 >= vrgSymGlobal) ? sym1 : symNil);
                    108: } /* ExistingSymFGlobal */
                    109: 
                    110: 
                    111: /* E X I S T I N G   F D  S Y M   F   I S S */
                    112: 
                    113: export pSYMR ExistingFdSymFIss (iss)
                    114: register int   iss;
                    115: {
                    116:     register pSYMR     sym1 = vrgSym + visym;
                    117:     register pSYMR     symFile = vsymFile;
                    118: 
                    119:     while ( (sym1 > symFile) && (sym1->iss != iss))
                    120:        sym1--;
                    121: 
                    122:     return( (sym1 > symFile) ? sym1 : symNil);
                    123: } /* ExistingFdSymFIss */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.