|
|
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.