DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T d

⟦642276dd3⟧ TextFile

    Length: 2491 (0x9bb)
    Types: TextFile
    Names: »dsa_apply.c«

Derivation

└─⟦3d0c2be1b⟧ Bits:30001254 ISODE-5.0 Tape
    └─⟦eba4602b1⟧ »./isode-5.0.tar.Z« 
        └─⟦d3ac74d73⟧ 
            └─⟦this⟧ »isode-5.0/quipu/dsa_apply.c« 

TextFile

/* dsa_apply.c - Map ROS operations to internal directory operations */

#ifndef lint
static char *rcsid = "$Header: /f/osi/quipu/RCS/dsa_apply.c,v 6.0 89/03/18 23:41:27 mrose Rel $";
#endif

/*
 * $Header: /f/osi/quipu/RCS/dsa_apply.c,v 6.0 89/03/18 23:41:27 mrose Rel $
 *
 *
 * $Log:	dsa_apply.c,v $
 * Revision 6.0  89/03/18  23:41:27  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.
 *
 */


#include "quipu/util.h"
#include "quipu/common.h"
#include "quipu/dsargument.h"

extern LLog * log_dsap;
#ifndef NO_STATS
extern LLog * log_stat;
#endif

int       dsa_apply(arg, err, res, orig, base, local, refer)
struct DSArgument   *arg;
struct DSError      *err;
struct DSResult     *res;
DN                  orig;
DN                  base;
struct ds_search_task	**local;
struct ds_search_task	**refer;
{
    int                 dsa_ret;

    DLOG (log_dsap,LLOG_TRACE,( "Apply operation"));

    switch(arg->arg_type)
    {
    case OP_READ:
	dsa_ret = do_ds_read(&(arg->arg_rd), err, &(res->res_rd), orig, base);
    break;

    case OP_COMPARE:
	dsa_ret = do_ds_compare(&(arg->arg_cm), err, &(res->res_cm), orig, base);
    break;

    case OP_ABANDON:
	LLOG(log_dsap, LLOG_FATAL, ("Abandon being applied!"));
	dsa_ret = do_ds_abandon(&(arg->arg_ab), err);
    break;

    case OP_LIST:
	dsa_ret = do_ds_list(&(arg->arg_ls), err, &(res->res_ls), orig, base);
    break;

    case OP_SEARCH:
	dsa_ret = do_ds_search(&(arg->arg_sr), err, &(res->res_sr), orig, base, local, refer);
    break;

    case OP_ADDENTRY:
	dsa_ret = do_ds_addentry(&(arg->arg_ad), err, orig, base);
    break;

    case OP_REMOVEENTRY:
	dsa_ret = do_ds_removeentry(&(arg->arg_rm), err, orig, base);
    break;

    case OP_MODIFYENTRY:
	dsa_ret = do_ds_modifyentry(&(arg->arg_me), err, orig, base);
    break;

    case OP_MODIFYRDN:
	dsa_ret = do_ds_modifyrdn(&(arg->arg_mr), err, orig, base);
    break;

    case OP_GETEDB:
	dsa_ret = do_get_edb (&(arg->arg_ge), err, &(res->res_ge), orig);
    break;

    default:
	LLOG (log_dsap,LLOG_EXCEPTIONS,( "Unknown operation type!"));
    break;
    }

#ifndef NO_STATS
	if ((dsa_ret != DS_OK) && (dsa_ret != DS_CONTINUE))
		LLOG (log_stat,LLOG_NOTICE,("Operation failed"));
#endif

    return(dsa_ret);
}