|
|
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 a
Length: 3614 (0xe1e)
Types: TextFile
Names: »attrvalue.h«
└─⟦3d0c2be1b⟧ Bits:30001254 ISODE-5.0 Tape
└─⟦eba4602b1⟧ »./isode-5.0.tar.Z«
└─⟦d3ac74d73⟧
└─⟦this⟧ »isode-5.0/h/quipu/attrvalue.h«
/* attrvalue.h - */
/*
* $Header: /f/osi/h/quipu/RCS/attrvalue.h,v 6.0 89/03/18 23:32:43 mrose Rel $
*
*
*
* $Log: attrvalue.h,v $
* Revision 6.0 89/03/18 23:32:43 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 ATTRVALUE
#define ATTRVALUE
#include "quipu/name.h"
#define SOUNDEXKEYSIZE 4
#define MAXSOUNDEXKEYS 6
#define NOSOUNDEX 0
#define SOUNDEX 1
typedef char Soundex;
/* Soundex array size will be */
/* SOUNDEXKEYSIZE by MAXSOUNDEXKEYS. */
/* Soundex structure is defined here */
/* so that DUA and DSA can use a common */
/* structure */
char ** AttrV_soundex_key ();
typedef struct avseqcomp { /* attribute may have multiple values */
/* respresents SET OF AttributeValue */
AttributeValue avseq_av;
Soundex avseq_soundex [MAXSOUNDEXKEYS][SOUNDEXKEYSIZE];
/* Component NOT for use by DUA */
struct avseqcomp *avseq_next;
} avseqcomp, *AV_Sequence;
#define NULLAV ((AV_Sequence) 0)
#define avs_comp_alloc() (AV_Sequence) smalloc(sizeof(avseqcomp))
#define avs_comp_fill(w,y) w->avseq_av = y
#define avs_cmp_comp(x,y,error) AttrV_cmp (x->avseq_av ,y->avseq_av,error)
AV_Sequence avs_comp_new ();
AV_Sequence avs_comp_cpy ();
AV_Sequence avs_cpy ();
AV_Sequence avs_merge ();
AV_Sequence str2avs ();
typedef struct attrcomp { /* A sequence of attributes */
/* represents Attribute */
/* and SET OF Attribute */
AttributeType attr_type;
AV_Sequence attr_value;
struct attrcomp *attr_link;
/* ACL is NOT for use by DUA */
/* this must be done by use of ACL */
/* attribute */
struct acl_info *attr_acl;
} attrcomp, *Attr_Sequence;
#define NULLATTR ((Attr_Sequence) 0)
#define as_comp_alloc() (Attr_Sequence) smalloc(sizeof(attrcomp))
#define as_comp_fill(x,y,z,w) x -> attr_type = y ; x -> attr_value = z ; x-> attr_acl = w
#define as_comp_cmp(x,y) (((oid_cmp (x->attr_type ,y->attr_type) == OK) && (avs_cmp (x->attr_value ,y->attr_value) == OK)) ? OK : NOTOK)
Attr_Sequence as_comp_new ();
Attr_Sequence as_comp_cpy ();
Attr_Sequence as_cpy ();
Attr_Sequence as_find_type ();
Attr_Sequence as_merge ();
Attr_Sequence str2as();
/* ACL is defined here as it is */
/* referenced. it is only used by */
/* DSA */
/* represents ACLInfo defined by INCA */
struct acl_info {
int acl_categories;
#define ACL_NONE 0
#define ACL_DETECT 1
#define ACL_COMPARE 2
#define ACL_READ 3
#define ACL_ADD 4
#define ACL_WRITE 5
int acl_selector_type;
#define ACL_ENTRY 0
#define ACL_OTHER 1
#define ACL_PREFIX 2
#define ACL_GROUP 3
struct dn_seq *acl_name; /* prefix and group only */
struct acl_info *acl_next;
};
#define NULLACL_INFO (struct acl_info *) NULL
#define acl_info_alloc() (struct acl_info *) smalloc (sizeof (struct acl_info))
#define acl_info_fill(w,x,y,z) w -> acl_categories = x ; \
w -> acl_selector_type = y; \
w -> acl_name = z;
struct acl_info *acl_info_new ();
struct acl_info *acl_info_cpy();
struct acl_info *acl_default();
#endif