#include "defs.h" pwrite(f) { REG INT i; Lseek(f, 0L, 0); header->h_limit = limit; header->h_board = board; header->h_packs = packs; header->h_chips = chips; header->h_nets = nets; header->h_Enets = Enets; header->h_vgnum = vgnum; for(i=0; i<=SS; i++) { header->h_vgpins[i] = vgpins[i]; } header->h_lbound = lbound; write(f, adr(header), HDRSIZ); write(f, adr(board), lbound - adr(board)); Lseek(file, limit+HDRSIZ, 0); scansym(symbol) { switch (symbol->type) { case UNUSED: case STYPE: break; case KTYPE: case CHIP: case CLINK: case SIGNAL: case IOC: if (symbol->value.v_adr) symbol->value.v_adr += fdelta; } write(f, adr(symbol), sizeof symbol); } }