|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T d
Length: 3763 (0xeb3) Types: TextFile Names: »dsarg_dec.c«
└─⟦3d0c2be1b⟧ Bits:30001254 ISODE-5.0 Tape └─⟦eba4602b1⟧ »./isode-5.0.tar.Z« └─⟦d3ac74d73⟧ └─⟦this⟧ »isode-5.0/dsap/x500as/dsarg_dec.c«
/* dsarg_dec.c - ds argument decoder */ #ifndef lint static char *rcsid = "$Header: /f/osi/dsap/x500as/RCS/dsarg_dec.c,v 6.0 89/03/18 23:29:39 mrose Rel $"; #endif /* * $Header: /f/osi/dsap/x500as/RCS/dsarg_dec.c,v 6.0 89/03/18 23:29:39 mrose Rel $ * * * $Log: dsarg_dec.c,v $ * Revision 6.0 89/03/18 23:29:39 mrose * Release 5.0 * */ /* * NOTICE * * Acquisition, use, and distribution of this module and related * materials are subject to the restrictions of a license agreement. * Consult the Preface in the User's Manual for the full terms of * this agreement. * */ /* LINTLIBRARY */ #include "psap.h" #include "quipu/util.h" #include "quipu/common.h" #include "quipu/dsargument.h" extern LLog * log_dsap; int decode_OPArgument(dsp, pe, type, arg) int dsp; PE pe; int type; struct ds_op_arg *arg; { int success; if(dsp) { success = decode_DSPArgument(pe, type, arg); } else { success = decode_DAPArgument(pe, type, &(arg->dca_dsarg)); } return(success); } int decode_DAPArgument(pe,type,arg) PE pe; int type; struct DSArgument *arg; { int success; switch(arg->arg_type = type) { case OP_READ : success = decode_DAS_ReadArgument(pe,1,NULLIP,NULLVP,&(arg->arg_rd)); break; case OP_COMPARE : success = decode_DAS_CompareArgument(pe,1,NULLIP,NULLVP,&(arg->arg_cm)); break; case OP_ABANDON : success = decode_DAS_AbandonArgument(pe,1,NULLIP,NULLVP,&(arg->arg_ab)); break; case OP_LIST : success = decode_DAS_ListArgument(pe,1,NULLIP,NULLVP,&(arg->arg_ls)); break; case OP_SEARCH : success = decode_DAS_SearchArgument(pe,1,NULLIP,NULLVP,&(arg->arg_sr)); break; case OP_ADDENTRY : success = decode_DAS_AddEntryArgument(pe,1,NULLIP,NULLVP,&(arg->arg_ad)); break; case OP_REMOVEENTRY : success = decode_DAS_RemoveEntryArgument(pe,1,NULLIP,NULLVP,&(arg->arg_rm)); break; case OP_MODIFYENTRY : success = decode_DAS_ModifyEntryArgument(pe,1,NULLIP,NULLVP,&(arg->arg_me)); break; case OP_MODIFYRDN : success = decode_DAS_ModifyRDNArgument(pe,1,NULLIP,NULLVP,&(arg->arg_mr)); break; case OP_GETEDB : success = decode_Quipu_GetEntryDataBlockArgument(pe,1,NULLIP,NULLVP,&(arg->arg_ge)); break; default: success = NOTOK; arg->arg_type = 0; LLOG(log_dsap, LLOG_EXCEPTIONS, ("decode_DAPArg OP %d unknown!", type)); break; } return(success); } int decode_DSPArgument(pe,type,arg) PE pe; int type; struct ds_op_arg *arg; { int success; switch(arg->dca_dsarg.arg_type = type) { case OP_READ : success = decode_DO_ChainedReadArgument(pe,1,NULLIP,NULLVP,arg); break; case OP_COMPARE : success = decode_DO_ChainedCompareArgument(pe,1,NULLIP,NULLVP,arg); break; case OP_ABANDON : success = decode_DAS_AbandonArgument(pe,1,NULLIP,NULLVP,&(arg->dca_dsarg.arg_ab)); break; case OP_LIST : success = decode_DO_ChainedListArgument(pe,1,NULLIP,NULLVP,arg); break; case OP_SEARCH : success = decode_DO_ChainedSearchArgument(pe,1,NULLIP,NULLVP,arg); break; case OP_ADDENTRY : success = decode_DO_ChainedAddEntryArgument(pe,1,NULLIP,NULLVP,arg); break; case OP_REMOVEENTRY : success = decode_DO_ChainedRemoveEntryArgument(pe,1,NULLIP,NULLVP,arg); break; case OP_MODIFYENTRY : success = decode_DO_ChainedModifyEntryArgument(pe,1,NULLIP,NULLVP,arg); break; case OP_MODIFYRDN : success = decode_DO_ChainedModifyRDNArgument(pe,1,NULLIP,NULLVP,arg); break; default: success = NOTOK; arg->dca_dsarg.arg_type = 0; LLOG(log_dsap, LLOG_EXCEPTIONS, ("decode_DSPArg OP %d unknown!", type)); break; } return(success); }