Annotation of 43BSDReno/contrib/isode-beta/h/quipu/attr.h, revision 1.1.1.1

1.1       root        1: /* attr.h - directory service interface definition */
                      2: 
                      3: /*
                      4:  * $Header: /f/osi/h/quipu/RCS/attr.h,v 7.1 90/07/09 14:38:15 mrose Exp $
                      5:  *
                      6:  *
                      7:  * $Log:       attr.h,v $
                      8:  * Revision 7.1  90/07/09  14:38:15  mrose
                      9:  * sync
                     10:  * 
                     11:  * Revision 7.0  89/11/23  21:56:21  mrose
                     12:  * Release 6.0
                     13:  * 
                     14:  */
                     15: 
                     16: /*
                     17:  *                               NOTICE
                     18:  *
                     19:  *    Acquisition, use, and distribution of this module and related
                     20:  *    materials are subject to the restrictions of a license agreement.
                     21:  *    Consult the Preface in the User's Manual for the full terms of
                     22:  *    this agreement.
                     23:  *
                     24:  */
                     25: 
                     26: 
                     27: #ifndef QUIPUATTR
                     28: #define QUIPUATTR
                     29: 
                     30: #include "quipu/oid.h"
                     31: #include "manifest.h"
                     32: 
                     33: #ifndef TRUE
                     34: #define FALSE 0
                     35: #define TRUE 1
                     36: #endif
                     37: 
                     38:        /* FIRST SECTION DEFINES STRUCTURES FOR ADDRESSING */
                     39: 
                     40: typedef oid_table_attr * attrType;
                     41: typedef oid_table_attr * AttributeType;
                     42: 
                     43: #define NULLAttrT (AttributeType) NULL
                     44: #define AttrT_alloc()
                     45: /*
                     46: #define AttrT_cmp(x,y) (x ? ( y ? ( x == y ? 0 : ( x > y ? 1 : -1 )) : 1) : -1)
                     47: */
                     48: #define AttrT_cmp(x,y) ( x == y ? 0 : ( x > y ? 1 : -1 ))
                     49: #define AttrT_decode(x) 
                     50: #define AttrT_free(x) 
                     51: #define AttrT_cpy(x) x
                     52: #define grab_oid(x)  (x ? x->oa_ot.ot_oid : NULLOID)
                     53: 
                     54: AttributeType AttrT_new();
                     55: 
                     56: 
                     57: #define str2AttrT(x) AttrT_new(x)
                     58: 
                     59: typedef struct {
                     60:        short    av_syntax;             /* Specifies the syntax of the      */
                     61:                                        /* attribute  that follows.         */
                     62:        caddr_t  av_struct;
                     63: } attrVal, * AttributeValue;
                     64: 
                     65: #define AV_WRITE_FILE          256
                     66: #define AV_FILE                        128
                     67: #define MAX_AV_SYNTAX          100
                     68: 
                     69: #define NULLAttrV (AttributeValue) NULL
                     70: #define AttrV_alloc()   (AttributeValue) smalloc (sizeof (attrVal));
                     71: 
                     72: AttributeValue AttrV_cpy();
                     73: AttributeValue str_at2AttrV();
                     74: AttributeValue str2AttrV();
                     75: short str2syntax();
                     76: short add_attribute_syntax ();
                     77: 
                     78: struct file_syntax {
                     79:        short   fs_real_syntax;
                     80:        char *  fs_name;
                     81:        char    fs_mode;
                     82:        char    fs_ref;
                     83:        AttributeValue fs_attr;
                     84: }; 
                     85: #define FS_DEFAULT 0x01        /* default file name */
                     86: #define FS_CREATE  0x02                /* created thus remove file */
                     87: 
                     88: #define EDBOUT  1
                     89: #define FILEOUT 2   /* for writing to files only */
                     90: #define READOUT 3
                     91: #define DIROUT  4   /* for dn and rdn print only */
                     92: #define        RDNOUT  5
                     93: #define        UFNOUT  6   /* user-friendly naming */
                     94: 
                     95: #define ps_print(ps,data) (void)ps_write(ps,(PElementData)data,strlen(data))
                     96: 
                     97: typedef struct {
                     98:        char *  s_sntx;         /* String defining syntax */
                     99:        IFP     s_encode;       
                    100:        IFP     s_decode;
                    101:        IFP     s_parse;
                    102:        IFP     s_print;
                    103:        IFP     s_copy;
                    104:        IFP     s_compare;
                    105:        IFP     s_free; 
                    106:        char *  s_pe_print;     /* process to handle raw PE */
                    107:        IFP     s_approx;       /* approx match routine */
                    108:        char    s_multiline;    /* if true print each value on new line */
                    109: } sntx_table;
                    110: 
                    111: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.