Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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;
}