|
|
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);
}