/*
 * Definition file (home made) for callable librarian.
 * Verify this by examining the vms macros $credef, $lbrdef, and $lbrctltbl
 */

struct lbr$credef {
    long	cre$l_type;
    long	cre$l_keylen;
    long	cre$l_alloc;
    long	cre$l_idxmax;
    long	cre$l_uhdmax;
    long	cre$l_entall;
    long	cre$l_luhmax;
#define			CRE$C_VMSV2	2
#define			CRE$C_VMSV3	3
    long	cre$l_vertyp;
#define			CRE$V_NOCASECMP		0
#define			CRE$M_NOCASECMP		1
#define			CRE$V_NOCASENTR		1
#define			CRE$M_NOCASENTR		2
#define			CRE$V_UPCASNTRY		2
#define			CRE$M_UPCASNTRY		4
#define			CRE$C_HLPCASING		6
#define			CRE$C_OBJCASING		3
#define			CRE$C_MAXTXTCAS		0
    long	cre$l_idxopt;
    long	unknown[11];
};

#define	CRE$C_LENGTH	(sizeof (struct lbr$credef))
#define	CRE$K_LENGTH	(sizeof (struct lbr$credef))

/*
 * The following define values to be stuffed in lbr$credef
 */

#define	LBR$C_TYP_UNK		0
#define	LBR$C_TYP_OBJ		1
#define	LBR$C_TYP_MLB		2
#define	LBR$C_TYP_HLP		3
#define	LBR$C_TYP_TXT		4
#define	LBR$C_TYP_SHSTB		5
#define	LBR$C_TYP_DECMX		5
#define	LBR$C_TYP_RDEC		127
#define	LBR$C_TYP_USRLW		128
#define	LBR$C_TYP_USRHI		255

#define	LBR$C_FLUSHDATA		1
#define	LBR$C_FLUSHALL		0

#define	LBR$C_CREATE		0
#define	LBR$C_READ		1
#define	LBR$C_UPDATE		2
