DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T a

⟦807af4a9f⟧ TextFile

    Length: 3614 (0xe1e)
    Types: TextFile
    Names: »attrvalue.h«

Derivation

└─⟦3d0c2be1b⟧ Bits:30001254 ISODE-5.0 Tape
    └─⟦eba4602b1⟧ »./isode-5.0.tar.Z« 
        └─⟦d3ac74d73⟧ 
            └─⟦this⟧ »isode-5.0/h/quipu/attrvalue.h« 

TextFile

/* 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