|
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: 3939 (0xf63) Types: TextFile Names: »dsarg_dec.c«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0 └─⟦35176feda⟧ »EurOpenD22/isode/isode-6.tar.Z« └─⟦de7628f85⟧ └─⟦this⟧ »isode-6.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 7.0 89/11/23 21:50:31 mrose Rel $"; #endif /* * $Header: /f/osi/dsap/x500as/RCS/dsarg_dec.c,v 7.0 89/11/23 21:50:31 mrose Rel $ * * * $Log: dsarg_dec.c,v $ * Revision 7.0 89/11/23 21:50:31 mrose * Release 6.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(ctx, pe, type, arg) int ctx; PE pe; int type; struct ds_op_arg *arg; { int success; if(ctx == CN_CTX_X500_DAP) { success = decode_DAPArgument(pe, type, &(arg->dca_dsarg)); } else { success = decode_DSPArgument(pe, type, arg); } 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; #ifdef REMOVE_FOR_6_0 case OP_GETEDB : success = decode_Quipu_GetEntryDataBlockArgument(pe,1,NULLIP,NULLVP,&(arg->arg_ge)); break; #endif 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; case OP_GETEDB : success = decode_Quipu_GetEntryDataBlockArgument(pe,1,NULLIP,NULLVP,&(arg->dca_dsarg.arg_ge)); break; default: success = NOTOK; arg->dca_dsarg.arg_type = 0; LLOG(log_dsap, LLOG_EXCEPTIONS, ("decode_DSPArg OP %d unknown!", type)); break; } return(success); }