static void imp_hotsparepool( set_t setno, mddb_recid_t recid ) { hot_spare_pool_ond_t *hsp_ond; mddb_recid_t *hsp_recid, *hs_recid; int i; uint_t *hsp_selfid; mddb_setrecprivate(recid, MD_PRV_GOTIT); hsp_ond = (hot_spare_pool_ond_t *)mddb_getrecaddr(recid); hsp_recid = &(hsp_ond->hsp_record_id); hsp_selfid = &(hsp_ond->hsp_self_id); /* * Fixup the pool and hotspares */ *hsp_recid = MAKERECID(setno, DBID(*hsp_recid)); *hsp_selfid = MAKERECID(setno, DBID(*hsp_selfid)); for (i = 0; i < hsp_ond->hsp_nhotspares; i++) { hs_recid = &(hsp_ond->hsp_hotspares[i]); *hs_recid = MAKERECID(setno, DBID(*hs_recid)); } }
classdef::classdef(TOK b) { base = CLASS; csu = b; memtbl = new table(CTBLSIZE,0,0); k_tbl = 0;//SYM DBID(); }
expr::expr(TOK ba, Pexpr a, Pexpr b) { DBCHECK(); base = ba; e1 = a; e2 = b; DBID(); }
stmt::stmt(TOK ba, loc ll, Pstmt a) { DBCHECK(); base = ba; where = ll; s=a; memtbl = 0; k_tbl = 0;//SYM DBID(); }
basetype::basetype(TOK b, Pname n) { switch (b) { case 0: break; case TYPEDEF: b_typedef = 1; break; case INLINE: b_inline = 1; break; case VIRTUAL: b_virtual = 1; break; case CONST: b_const = 1; break; case UNSIGNED: b_unsigned = 1; break; case FRIEND: case OVERLOAD: case EXTERN: case STATIC: case AUTO: case REGISTER: b_sto = b; break; case SHORT: b_short = 1; break; case LONG: b_long = 1; break; case LLONG: b_long = 2; break; case ANY: case ZTYPE: case VOID: case CHAR: case INT: case FLOAT: case LDOUBLE: case DOUBLE: base = b; break; case TYPE: case COBJ: case EOBJ: case FIELD: case ASM: base = b; b_name = n; break; case SIGNED: // error('w',"\"%k\" not implemented (ignored)",b); break; case VOLATILE: error('w',"\"%k\" not implemented (ignored)",b); break; default: error('i',"badBT:%k",b); } DBID(); }
fct::fct(Ptype t, Pname arg, TOK known) { base = FCT; nargs_known = known; returns = t; argtype = arg; DBID(); if (arg==0 || arg->base==ELIST) return; //error('d',"fct::fct %d sig %d",this,f_signature); register Pname n; Pname pn = 0; for (n=arg; n; pn=n,n=n->n_list) { if( n->n_sto==EXTERN ) error("cannot specify extern linkage for anA"); if( n->n_sto==STATIC ) error("cannot specify static forA%n",arg); switch (n->tp->skiptypedefs()->base) { case VOID: argtype = 0; nargs_known = 1; if(n->n_initializer) error("voidFA"); else if (n->string) error("voidFA%n",n); else if (nargs || n->n_list) { error("voidFA"); nargs_known = 0; } nargs = 0; break; case CLASS: case ENUM: error("%k defined inAL (will not be in scope at point of call)",n->tp->base); if (n == argtype) argtype = n->n_list; else pn->n_list = n->n_list; break; default: nargs++; } } }
static void imp_hotspare( set_t setno, mddb_recid_t recid ) { mddb_de_ic_t *dep; mddb_rb32_t *rbp; hot_spare_t *hs64; hot_spare32_od_t *hs32; mddb_recid_t *hs_recid; mddb_setrecprivate(recid, MD_PRV_GOTIT); dep = mddb_getrecdep(recid); rbp = dep->de_rb; switch (rbp->rb_revision) { case MDDB_REV_RB: case MDDB_REV_RBFN: /* * 32 bit hotspare */ hs32 = (hot_spare32_od_t *)mddb_getrecaddr(recid); hs_recid = &(hs32->hs_record_id); break; case MDDB_REV_RB64: case MDDB_REV_RB64FN: hs64 = (hot_spare_t *)mddb_getrecaddr(recid); hs_recid = &(hs64->hs_record_id); break; } /* * Fixup the setno */ *hs_recid = MAKERECID(setno, DBID(*hs_recid)); }