|
|
1.1 root 1: /* commonarg.h - directory operation common arguments */
2:
3: /*
4: * $Header: /f/osi/h/quipu/RCS/commonarg.h,v 7.0 89/11/23 21:56:25 mrose Rel $
5: *
6: *
7: * $Log: commonarg.h,v $
8: * Revision 7.0 89/11/23 21:56:25 mrose
9: * Release 6.0
10: *
11: */
12:
13: /*
14: * NOTICE
15: *
16: * Acquisition, use, and distribution of this module and related
17: * materials are subject to the restrictions of a license agreement.
18: * Consult the Preface in the User's Manual for the full terms of
19: * this agreement.
20: *
21: */
22:
23:
24: #ifndef COMMONARG
25: #define COMMONARG
26:
27: #include "quipu/attrvalue.h"
28: #include "quipu/dsp.h"
29: #include "quipu/authen.h"
30:
31: struct security_parms {
32: struct certificate_list *sp_path;
33: DN sp_name;
34: char *sp_time;
35: struct random_number *sp_random;
36: char sp_target;
37: };
38:
39: typedef struct extension
40: {
41: int ext_id;
42: int ext_critical;
43: PE ext_item;
44: struct extension * ext_next;
45: } *Extension;
46: #define NULLEXT ((Extension) 0)
47: #define ext_alloc() (Extension) smalloc(sizeof(struct extension))
48:
49: typedef struct common_args { /* Common arguments for operations */
50: ServiceControl ca_servicecontrol;
51: DN ca_requestor;
52: struct op_progress ca_progress;
53: int ca_aliased_rdns;
54: #define CA_NO_ALIASDEREFERENCED -1
55: struct security_parms * ca_security;
56: struct signature * ca_sig;
57: struct extension * ca_extensions;
58: } common_args, CommonArgs;
59: #define NULL_COMMONARG ((struct common_args *) NULL)
60:
61:
62: typedef struct common_results {
63: DN cr_requestor;
64: /* Secuity stuff to go here. The */
65: /* is not relevant until this is added */
66: char cr_aliasdereferenced;
67: /* set to TRUE or FALSE */
68: } common_results, CommonResults;
69:
70:
71: typedef struct entrystruct { /* Represents EntryInformation */
72: DN ent_dn;
73: Attr_Sequence ent_attr;
74: int ent_iscopy;
75: #define INFO_MASTER 0x001
76: #define INFO_COPY 0x002
77: /* This is the only info derivable by */
78: /* protocol */
79: /* INCA also distingusihes local cached */
80: #define INFO_CACHE 0x003
81: time_t ent_age;
82: /* age of chaced info */
83: struct entrystruct *ent_next;
84: } entrystruct, EntryInfo;
85:
86: #define NULLENTRYINFO ((EntryInfo *) 0)
87: #define entryinfo_alloc() (EntryInfo *) smalloc(sizeof(EntryInfo))
88: #define entryinfo_cmp(x,y) (((dn_cmp (x.ent_dn ,y.ent_dn) == OK) && (as_cmp (x.ent_attr ,y.ent_attr) == OK)) ? OK : NOTOK)
89:
90: typedef struct entryinfoselection {
91: /* Rerpesents EntryInformationSelection */
92: char eis_allattributes;
93: /* if set to TRUE, all attributes */
94: /* returned, if not as per next arg */
95: Attr_Sequence eis_select;
96: /* Sequence of attributes used to show */
97: /* which TYPES are wanted */
98: char eis_infotypes;
99: #define EIS_ATTRIBUTETYPESONLY 0
100: #define EIS_ATTRIBUTESANDVALUES 1
101: }entryinfoselection, EntryInfoSelection;
102:
103: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.