|
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 g
Length: 2379 (0x94b) Types: TextFile Names: »getedb.c«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0 └─⟦35176feda⟧ »EurOpenD22/isode/isode-6.tar.Z« └─⟦de7628f85⟧ └─⟦this⟧ »isode-6.0/dsap/net/getedb.c«
/* getedb - quipu added operation */ #ifndef lint static char *rcsid = "$Header: /f/osi/dsap/net/RCS/getedb.c,v 7.1 89/12/19 16:19:35 mrose Exp $"; #endif /* * $Header: /f/osi/dsap/net/RCS/getedb.c,v 7.1 89/12/19 16:19:35 mrose Exp $ * * * $Log: getedb.c,v $ * Revision 7.1 89/12/19 16:19:35 mrose * sync * * Revision 7.0 89/11/23 21:48:20 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 "rosap.h" #include "quipu/util.h" #include "quipu/connection.h" getedb (arg, error, result, ad) struct getedb_arg *arg; struct getedb_result *result; struct DSError *error; int ad; { #ifdef REMOVE_FOR_6_0 PE rda_pe; PE resp_pe; int resp_type; int inv_ret; int id = 1; if(encode_Quipu_GetEntryDataBlockArgument(&rda_pe,1,NULLIP,NULLVP,arg) != OK) { return(DS_ERROR_LOCAL); } switch(inv_ret = dap_invoke (ad,&id,OP_GETEDB, rda_pe, &resp_type, &resp_pe)) { case DS_OK: if(decode_Quipu_GetEntryDataBlockResult(resp_pe,1,NULLIP,NULLCP,result) == OK) { if(resp_pe != NULLPE) pe_free (resp_pe); return(DS_OK); } else { if(resp_pe != NULLPE) pe_free (resp_pe); return(DS_ERROR_PROVIDER); } case DS_ERROR_REMOTE: if(decode_OPError(resp_pe, resp_type, error) == OK) { if(resp_pe != NULLPE) pe_free(resp_pe); return(DS_ERROR_REMOTE); } else { if(resp_pe != NULLPE) pe_free(resp_pe); return(DS_ERROR_PROVIDER); } case DS_ERROR_ABANDONED: /* RoIntr caused successful abandon */ error->dse_type = DSE_INTR_ABANDONED; return(DS_ERROR_ABANDONED); case DS_ERROR_ABANDON_FAILED: /* RoIntr caused unsuccessful abandon */ error->dse_type = DSE_INTR_ABANDON_FAILED; return(DS_ERROR_ABANDON_FAILED); case DS_ERROR_PROVIDER: if (resp_type == ROS_INTERRUPTED) { error->dse_type = DSE_INTRERROR; return (inv_ret); } /* fall */ default: error->dse_type = DSE_REMOTEERROR; return(inv_ret); } #else extern LLog * log_dsap; LLOG (log_dsap,LLOG_EXCEPTIONS,("*** DAP getedb call***")); #endif }