File:  [CSRG BSD Unix] / 43BSDReno / contrib / isode-beta / h / quipu / dsargument.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 16:12:56 2018 UTC (8 years, 1 month ago) by root
Branches: MAIN, BSD
CVS tags: HEAD, BSD43reno
BSD 4.3reno

/* dsargument.h - structures for argument and result */

/*
 * $Header: /var/lib/cvsd/repos/CSRG/43BSDReno/contrib/isode-beta/h/quipu/dsargument.h,v 1.1.1.1 2018/04/24 16:12:56 root Exp $
 *
 *
 * $Log: dsargument.h,v $
 * Revision 1.1.1.1  2018/04/24 16:12:56  root
 * BSD 4.3reno
 *
 * Revision 7.1  90/07/09  14:38:30  mrose
 * sync
 * 
 * Revision 7.0  89/11/23  21:56:32  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.
 *
 */


#ifndef QUIPUDSARG
#define QUIPUDSARG

#include "quipu/entry.h"	/* for getedb stuff */

/* CN_CTX values used by high level decoders */
#define CN_CTX_UNKNOWN		  0
#define CN_CTX_X500_DAP		  1
#define CN_CTX_X500_DSP		  2
#define CN_CTX_QUIPU_DSP	  3


struct DSArgument {
   int arg_type;
#define OP_READ 1
#define OP_COMPARE 2
#define OP_ABANDON 3
#define OP_LIST 4
#define OP_SEARCH 5
#define OP_ADDENTRY 6
#define OP_REMOVEENTRY 7
#define OP_MODIFYENTRY 8
#define OP_MODIFYRDN 9
#define OP_GETEDB 10
#define ds_recog_op(a) ((a >= OP_READ) && (a <= OP_MODIFYRDN))
#define qu_recog_op(a) ((a >= OP_READ) && (a <= OP_GETEDB))
   union {
       struct ds_read_arg arg_un_read;
       struct ds_compare_arg arg_un_compare;
       struct ds_abandon_arg arg_un_abandon;
       struct ds_list_arg arg_un_list;
       struct ds_search_arg arg_un_search;
       struct ds_addentry_arg arg_un_addentry;
       struct ds_removeentry_arg arg_un_removeentry;
       struct ds_modifyentry_arg arg_un_modifyentry;
       struct ds_modifyrdn_arg arg_un_modifyrdn;
       struct getedb_arg arg_un_getedb;
   } arg_un;
#define arg_rd arg_un.arg_un_read
#define arg_cm arg_un.arg_un_compare
#define arg_ab arg_un.arg_un_abandon
#define arg_ls arg_un.arg_un_list
#define arg_sr arg_un.arg_un_search
#define arg_ad arg_un.arg_un_addentry
#define arg_rm arg_un.arg_un_removeentry
#define arg_me arg_un.arg_un_modifyentry
#define arg_mr arg_un.arg_un_modifyrdn
#define arg_ge arg_un.arg_un_getedb
};

struct DSResult {
    int result_type;    /* same values as for DSArgument                */
    union {
       struct ds_read_result result_un_read;
       struct ds_compare_result result_un_compare;
       struct ds_list_result result_un_list;
       struct ds_search_result result_un_search;
       struct getedb_result result_un_getedb;
    } result_un;
#define res_rd result_un.result_un_read
#define res_cm result_un.result_un_compare
#define res_ls result_un.result_un_list
#define res_sr result_un.result_un_search
#define res_ge result_un.result_un_getedb
};

typedef struct cross_ref
    {
	DN			  xref_dn;
	struct access_point	* xref_ap;
	struct cross_ref	* xref_next;
    } CrossRefs;
#define NULLXREF ((struct cross_ref *) NULL)

typedef struct chain_arg
    {
	DN				  cha_originator;
	DN				  cha_target;
	struct op_progress		  cha_progress;
	struct trace_info		* cha_trace;
	char				  cha_aliasderef;
	int				  cha_aliasedrdns;
	char				  cha_entryonly;
	int				  cha_returnrefs;
	int				  cha_reftype;
	PE				  cha_domaininfo;
	char				* cha_timelimit;
    } * ChainingArg;

typedef struct chain_res
    {
	PE				  chr_domaininfo;
	struct cross_ref		* chr_crossrefs;
    } * ChainingRes;

typedef struct ds_op_arg
    {
	struct chain_arg	dca_charg;
	struct DSArgument	dca_dsarg;
    } OPArgument;

typedef struct ds_op_res
    {
	struct chain_res	dcr_chres;
	struct DSResult	dcr_dsres;
    } OPResult;

#endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.