|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T e
Length: 5918 (0x171e)
Types: TextFile
Names: »entry.h«
└─⟦3d0c2be1b⟧ Bits:30001254 ISODE-5.0 Tape
└─⟦eba4602b1⟧ »./isode-5.0.tar.Z«
└─⟦d3ac74d73⟧
└─⟦this⟧ »isode-5.0/h/quipu/entry.h«
/* entry.h - */
/*
* $Header: /f/osi/h/quipu/RCS/entry.h,v 6.0 89/03/18 23:32:56 mrose Rel $
*
*
* $Log: entry.h,v $
* Revision 6.0 89/03/18 23:32:56 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.
*
*/
#ifndef QUIPUENTRY
#define QUIPUENTRY
#include "quipu/attrvalue.h"
#include "quipu/dsp.h"
struct acl_attr {
struct oid_seq *aa_types;
struct acl_info *aa_acl;
struct acl_attr *aa_next;
};
#define NULLACL_ATTR ((struct acl_attr *)0)
#define acl_attr_alloc() (struct acl_attr *) smalloc (sizeof (struct acl_attr));
struct acl_attr * acl_attr_cpy();
struct acl { /* represents ACL */
struct acl_info *ac_child;
struct acl_info *ac_entry;
struct acl_info *ac_default;
struct acl_attr *ac_attributes;
};
#define acl_alloc() (struct acl *) smalloc (sizeof (struct acl));
struct acl * acl_cpy();
struct acl * str2acl();
/* Entry is the structure which is used to hold the DIT in core */
typedef struct entry {
/* First components refer to the entry */
/* itself */
RDN e_name;
Attr_Sequence e_attributes; /* the attributes of the entry */
/* ALL attributes held, including the */
/* special ones */
AV_Sequence e_oc_avseq; /* object class of the entry */
char e_leaf; /* TRUE if entry is leaf */
char e_complete; /* TRUE if all attributes present */
int e_data; /* Info on data in entry */
#define E_DATA_MASTER 1
#define E_TYPE_SLAVE 2
#define E_TYPE_CACHE_FROM_MASTER 3
#define E_TYPE_CONSTRUCTOR 4
/* structures referring to special */
/* attributes in the entry */
char *e_passwd; /* password is null terminated string */
AV_Sequence e_struct;
/* schema for the level below */
struct acl *e_acl; /* The ACL for the entry */
/* Now some info for special entries */
DN e_alias; /* if present, entry is alias */
struct dsa_info *e_dsainfo; /* only present if entry represents DSA */
/* Second block refer to children of */
/* entry */
char e_allchildrenpresent;
/* set TRUE or FALSE */
char *e_edbversion;
/* only present for non leaf - non-cache */
/* this refers to all the child entries */
/* NULL if edb is not held */
AV_Sequence e_master; /* Master DSA(s) of EDB */
AV_Sequence e_slave; /* Slave DSAs of EDB */
/* Final block is the linkage of the */
/* structure to the tree */
struct entry *e_sibling; /*across the tree */
struct entry *e_parent;
struct entry *e_child;
char e_lock; /* TRUE if EDB locked -> no write to disk */
} entry, *Entry;
#define NULLENTRY ((Entry)0)
#define entry_alloc() (Entry) calloc (1,sizeof(entry));
Entry getentry_block();
Entry directory_load();
Entry find_entry ();
Entry find_master_entry ();
Entry really_find_entry ();
Entry local_find_entry ();
Entry get_default_entry ();
struct oid_seq {
OID oid_oid;
struct oid_seq *oid_next;
};
#define NULLOIDSEQ ((struct oid_seq*) 0)
#define oid_seq_alloc() (struct oid_seq *) smalloc (sizeof (struct oid_seq))
struct oid_seq * oid_seq_cpy();
struct oid_seq * oid_seq_merge();
struct tree_struct { /* represents TreeStructure */
objectclass *tree_object;
};
#define NULLTREE ((struct tree_struct *)0)
#define tree_struct_alloc() (struct tree_struct *) smalloc (sizeof (struct tree_struct))
struct tree_struct * tree_struct_cpy ();
struct tree_struct * str2schema ();
struct dn_seq {
DN dns_dn;
struct dn_seq *dns_next;
};
#define NULLDNSEQ ((struct dn_seq *) 0)
#define dn_seq_alloc() (struct dn_seq *) smalloc (sizeof (struct dn_seq))
struct dn_seq *dn_seq_cpy();
struct dn_seq *str2dnseq();
struct dsa_info { /* represents DSA information */
/* UpdateInfoSyntax */
struct PSAPaddr *dsa_addr; /* type from ISODE */
/* might need to allow for multiple */
/* addresses, but not now */
/* also OR Address */
/* leave for now */
/* List of EDBs handled */
/* by this dsa */
AV_Sequence dsa_attr;
char * dsa_version;
};
#define NULLDSA ((struct dsa_info *)0)
#define dsa_info_alloc() (struct dsa_info *) smalloc (sizeof (struct dsa_info));
struct edb_info { /* represent EDBInfo */
DN edb_name;
DN edb_getfrom; /* DSA I get EDBupdates from */
struct dn_seq *edb_sendto; /* where I send EDB updates to */
struct dn_seq *edb_allowed; /* Who is allowed updates */
};
#define NULLEDB ((struct edb_info *) 0)
#define edb_info_alloc() (struct edb_info *) smalloc (sizeof (struct edb_info));
struct edb_info * edb_info_cpy ();
struct edb_info * str2update ();
DN get_copy_dn ();
struct getedb_arg {
DN ga_entry;
char * ga_version;
struct getedb_arg * get_next;
};
#define NULL_GETARG (struct getedb_arg *) NULL
struct getedb_result {
char * gr_version;
Entry gr_edb;
struct getedb_result * gr_next;
};
#define NULL_GETRESULT (struct getedb_result *) NULL
#endif