|
|
1.1 root 1: /* dsargument.h - structures for argument and result */
2:
3: /*
4: * $Header: /f/osi/h/quipu/RCS/dsargument.h,v 7.1 90/07/09 14:38:30 mrose Exp $
5: *
6: *
7: * $Log: dsargument.h,v $
8: * Revision 7.1 90/07/09 14:38:30 mrose
9: * sync
10: *
11: * Revision 7.0 89/11/23 21:56:32 mrose
12: * Release 6.0
13: *
14: */
15:
16: /*
17: * NOTICE
18: *
19: * Acquisition, use, and distribution of this module and related
20: * materials are subject to the restrictions of a license agreement.
21: * Consult the Preface in the User's Manual for the full terms of
22: * this agreement.
23: *
24: */
25:
26:
27: #ifndef QUIPUDSARG
28: #define QUIPUDSARG
29:
30: #include "quipu/entry.h" /* for getedb stuff */
31:
32: /* CN_CTX values used by high level decoders */
33: #define CN_CTX_UNKNOWN 0
34: #define CN_CTX_X500_DAP 1
35: #define CN_CTX_X500_DSP 2
36: #define CN_CTX_QUIPU_DSP 3
37:
38:
39: struct DSArgument {
40: int arg_type;
41: #define OP_READ 1
42: #define OP_COMPARE 2
43: #define OP_ABANDON 3
44: #define OP_LIST 4
45: #define OP_SEARCH 5
46: #define OP_ADDENTRY 6
47: #define OP_REMOVEENTRY 7
48: #define OP_MODIFYENTRY 8
49: #define OP_MODIFYRDN 9
50: #define OP_GETEDB 10
51: #define ds_recog_op(a) ((a >= OP_READ) && (a <= OP_MODIFYRDN))
52: #define qu_recog_op(a) ((a >= OP_READ) && (a <= OP_GETEDB))
53: union {
54: struct ds_read_arg arg_un_read;
55: struct ds_compare_arg arg_un_compare;
56: struct ds_abandon_arg arg_un_abandon;
57: struct ds_list_arg arg_un_list;
58: struct ds_search_arg arg_un_search;
59: struct ds_addentry_arg arg_un_addentry;
60: struct ds_removeentry_arg arg_un_removeentry;
61: struct ds_modifyentry_arg arg_un_modifyentry;
62: struct ds_modifyrdn_arg arg_un_modifyrdn;
63: struct getedb_arg arg_un_getedb;
64: } arg_un;
65: #define arg_rd arg_un.arg_un_read
66: #define arg_cm arg_un.arg_un_compare
67: #define arg_ab arg_un.arg_un_abandon
68: #define arg_ls arg_un.arg_un_list
69: #define arg_sr arg_un.arg_un_search
70: #define arg_ad arg_un.arg_un_addentry
71: #define arg_rm arg_un.arg_un_removeentry
72: #define arg_me arg_un.arg_un_modifyentry
73: #define arg_mr arg_un.arg_un_modifyrdn
74: #define arg_ge arg_un.arg_un_getedb
75: };
76:
77: struct DSResult {
78: int result_type; /* same values as for DSArgument */
79: union {
80: struct ds_read_result result_un_read;
81: struct ds_compare_result result_un_compare;
82: struct ds_list_result result_un_list;
83: struct ds_search_result result_un_search;
84: struct getedb_result result_un_getedb;
85: } result_un;
86: #define res_rd result_un.result_un_read
87: #define res_cm result_un.result_un_compare
88: #define res_ls result_un.result_un_list
89: #define res_sr result_un.result_un_search
90: #define res_ge result_un.result_un_getedb
91: };
92:
93: typedef struct cross_ref
94: {
95: DN xref_dn;
96: struct access_point * xref_ap;
97: struct cross_ref * xref_next;
98: } CrossRefs;
99: #define NULLXREF ((struct cross_ref *) NULL)
100:
101: typedef struct chain_arg
102: {
103: DN cha_originator;
104: DN cha_target;
105: struct op_progress cha_progress;
106: struct trace_info * cha_trace;
107: char cha_aliasderef;
108: int cha_aliasedrdns;
109: char cha_entryonly;
110: int cha_returnrefs;
111: int cha_reftype;
112: PE cha_domaininfo;
113: char * cha_timelimit;
114: } * ChainingArg;
115:
116: typedef struct chain_res
117: {
118: PE chr_domaininfo;
119: struct cross_ref * chr_crossrefs;
120: } * ChainingRes;
121:
122: typedef struct ds_op_arg
123: {
124: struct chain_arg dca_charg;
125: struct DSArgument dca_dsarg;
126: } OPArgument;
127:
128: typedef struct ds_op_res
129: {
130: struct chain_res dcr_chres;
131: struct DSResult dcr_dsres;
132: } OPResult;
133:
134: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.