DB_STATUS adi_fidesc( ADF_CB *adf_scb, ADI_FI_ID adi_fid, ADI_FI_DESC **adi_fdesc) { ADI_FI_DESC *fi; *adi_fdesc = (ADI_FI_DESC *) NULL; /* return NULL if not found */ if ( adi_fid < (ADI_FI_ID) 0 || adi_fid > Adf_globs->Adi_fi_biggest || (fi = (ADI_FI_DESC *)Adf_globs->Adi_fi_lkup[ ADI_LK_MAP_MACRO(adi_fid) ].adi_fi) == NULL ) return (adu_error(adf_scb, E_AD2010_BAD_FIID, 0)); *adi_fdesc = fi; return (E_DB_OK); }
VOID adu_prinstr( ADI_FI_ID *instr) { ADI_OPRATION *op; ADI_OP_ID adi_oid; ADI_FI_DESC *fi; ADI_FI_ID adi_fid = *instr; if (adi_fid < 0) { /* print out the special CX instruction. */ switch (adi_fid) { case ADE_AND: TRdisplay("ADE_AND"); break; case ADE_OR: TRdisplay("ADE_OR"); break; case ADE_NOT: TRdisplay("ADE_NOT"); break; case ADE_MECOPY: TRdisplay("ADE_MECOPY"); break; case ADE_AGBGN: TRdisplay("ADE_AGBGN"); break; case ADE_AGEND: TRdisplay("ADE_AGEND"); break; case ADE_KEYBLD: TRdisplay("ADE_KEYBLD"); break; case ADE_CALCLEN: TRdisplay("ADE_CALCLEN"); break; case ADE_COMPARE: TRdisplay("ADE_COMPARE"); break; case ADE_NAGEND: TRdisplay("ADE_NAGEND"); break; case ADE_PMQUEL: TRdisplay("ADE_PMQUEL"); break; case ADE_NO_PMQUEL: TRdisplay("ADE_NO_PMQUEL"); break; case ADE_PMFLIPFLOP: TRdisplay("ADE_PMFLIPFLOP"); break; case ADE_PMENCODE: TRdisplay("ADE_PMENCODE"); break; case ADE_BYCOMPARE: TRdisplay("ADE_BYCOMPARE"); break; case ADE_0CXI_IGNORE: TRdisplay("ADE_0CXI_IGNORE"); break; case ADE_1CXI_SET_SKIP: TRdisplay("ADE_1CXI_SET_SKIP"); break; case ADE_3CXI_CMP_SET_SKIP: TRdisplay("ADE_3CXI_CMP_SET_SKIP"); break; case ADE_4CXI_CMP_SET_SKIP: TRdisplay("ADE_4CXI_CMP_SET_SKIP"); break; case ADE_2CXI_SKIP: TRdisplay("ADE_2CXI_SKIP"); break; case ADE_REDEEM: TRdisplay("ADE_REDEEM"); break; default: TRdisplay("< unknown CX instr %d >", (i4)adi_fid); break; } return; } /* get the fi_desc for this fiid */ fi = (ADI_FI_DESC *) NULL; if (adi_fid >= (ADI_FI_ID) 0 && adi_fid <= Adf_globs->Adi_fi_biggest) { fi = (ADI_FI_DESC *) Adf_globs->Adi_fi_lkup[ADI_LK_MAP_MACRO((i4) adi_fid)].adi_fi; } /* get the op id from the fi_desc */ if (fi == NULL) { TRdisplay("< unknown fiid %d >", (i4) adi_fid); return; } else { adi_oid = fi->adi_fiopid; } /* get the opname from the opid */ for (op = &Adf_globs->Adi_operations[0]; op->adi_opid != ADI_NOOP; op++) { if (op->adi_opid == adi_oid) { TRdisplay(op->adi_opname.adi_opname); return; } } TRdisplay("< unknown operator %d>", adi_oid); return; }