/*
 * LBRDEF.H - define librarian constants, displacements and the
 *	control table structure
 *	VMS V3.2
 */
/*	from STARLET.MLB $LBRDEF	*/
#define	LBR$C_ADDMOD	0x00000001  
#define	LBR$C_CREATE   	0x00000000  
#define	LBR$C_DEFENTALL	0x0000012C  
#define	LBR$C_DELMOD   	0x00000002  
#define	LBR$C_DEXTQ    	0x00000032  
#define	LBR$C_FLSHBFSIZ	0x00000001  
#define	LBR$C_FLUSHALL 	0x00000000  
#define	LBR$C_FLUSHDATA	0x00000001  
#define	LBR$C_HASHSIZE 	0x00000200  
#define	LBR$C_MAXCTL   	0x00000010  
#define	LBR$C_MAXFUNC  	0x00000002  
#define	LBR$C_MAXHDRSIZ	0x00000080  
#define	LBR$C_MAXIDXRD 	0x00000014  
#define	LBR$C_MAXKEYLEN	0x00000080  
#define	LBR$C_MAXLUHREC	0x00008000  
#define	LBR$C_MAXREAD  	0x00000032  
#define	LBR$C_MAXRECSIZ	0x00000800  
#define	LBR$C_MEMXTRA  	0x00000032  
#define	LBR$C_MINREAD  	0x00000002  
#define	LBR$C_PAGESIZE 	0x00000200  
#define	LBR$C_PUTBUFSIZ	0x0000001E  
#define	LBR$C_READ     	0x00000001  
#define	LBR$C_REPMOD   	0x00000003  
#define	LBR$C_RETRYOPEN	0x0000001E  
#define	LBR$C_RETRYWAIT	0x00000001  
#define	LBR$C_TEXTPAGE 	0x000001FC  
#define	LBR$C_TYP_DECMX	0x00000005  
#define	LBR$C_TYP_HLP  	0x00000003  
#define	LBR$C_TYP_MLB  	0x00000002  
#define	LBR$C_TYP_OBJ  	0x00000001  
#define	LBR$C_TYP_RDEC 	0x0000007F  
#define	LBR$C_TYP_SHSTB	0x00000005  
#define	LBR$C_TYP_TXT  	0x00000004  
#define	LBR$C_TYP_UNK  	0x00000000  
#define	LBR$C_TYP_USRHI	0x000000FF  
#define	LBR$C_TYP_USRLW	0x00000080  
#define	LBR$C_UPDATE   	0x00000002  
#define	LBR$L_AU_CTLTBL 0x00000004  
#define	LBR$L_AU_FLAGS  0x00000008  
#define	LBR$L_AU_KEYNAM 0x0000000C  
#define	LBR$L_CL_CTLTBL 0x00000004  
#define	LBR$L_DD_CTLTBL 0x00000004  
#define	LBR$L_DD_TXTRFA 0x00000008  
#define	LBR$L_DK_CTLTBL 0x00000004  
#define	LBR$L_DK_KEYNAM 0x00000008  
#define	LBR$L_GH_CTLTBL 0x00000004  
#define	LBR$L_GH_RETARY 0x00000008  
#define	LBR$L_GI_CTLTBL 0x00000004  
#define	LBR$L_GI_IDXNUM 0x00000008  
#define	LBR$L_GI_USRTN  0x0000000C  
#define	LBR$L_GR_BUFDES 0x00000008  
#define	LBR$L_GR_BUFLEN 0x0000000C  
#define	LBR$L_GR_CTLTBL 0x00000004  
#define	LBR$L_GU_CTLTBL 0x00000004  
#define	LBR$L_GU_KEYADR 0x00000004  
#define	LBR$L_GU_TXTRFA 0x00000008  
#define	LBR$L_GU_USRTN  0x00000008  
#define	LBR$L_IC_CTLTBL 0x00000004  
#define	LBR$L_IC_FUNC   0x00000008  
#define	LBR$L_IC_TYPE   0x0000000C  
#define	LBR$L_IK_CTLTBL 0x00000004  
#define	LBR$L_IK_KEYNAM 0x00000008  
#define	LBR$L_IK_TXTRFA 0x0000000C  
#define	LBR$L_LK_CTLTBL 0x00000004  
#define	LBR$L_LK_KEYNAM 0x00000008  
#define	LBR$L_LK_TXTRFA 0x0000000C  
#define	LBR$L_OP_CREOPT 0x0000000C  
#define	LBR$L_OP_CTLTBL 0x00000004  
#define	LBR$L_OP_DNS    0x00000010  
#define	LBR$L_OP_FNS    0x00000008  
#define	LBR$L_OP_RLFNA  0x00000014  
#define	LBR$L_OP_RNS    0x00000018  
#define	LBR$L_OP_RNSLEN 0x0000001C  
#define	LBR$L_PE_CTLTBL 0x00000004  
#define	LBR$L_PR_BUFDES 0x00000008  
#define	LBR$L_PR_CTLTBL 0x00000004  
#define	LBR$L_PR_TXTRFA 0x0000000C  
#define	LBR$L_RK_CTLTBL 0x00000004  
#define	LBR$L_RK_KEYNAM 0x00000008  
#define	LBR$L_RK_NEWRFA 0x00000010  
#define	LBR$L_RK_OLDRFA 0x0000000C  
#define	LBR$L_SI_CTLTBL 0x00000004  
#define	LBR$L_SI_IDXNUM 0x00000008  
#define	LBR$L_SR_CTLTBL 0x00000004  
#define	LBR$L_SR_IDXNUM 0x00000008  
#define	LBR$L_SR_RFA    0x0000000C  
#define	LBR$L_SR_USRTN  0x00000010  
#define	LBR$L_SU_KEYDES 0x00000004  
#define	LBR$L_SU_TXTRFA 0x00000008  
#define	LBR$L_UU_UPDESC 0x00000004  
/*	from STARLET.MLB $LBRCTLTBL	*/
#define	LBRC$_CTLTBLID	0xcb
#define	LBR$V_LOCATE	0
#define	LBR$M_LOCATE	1
#define	LBR$V_OPEN	1
#define	LBR$M_OPEN	2
#define	LBR$C_LENGTH	0x1e
#define	LBR$K_LENGTH	0x1e

struct	LBRCTLTBL	{
	char	lbr$b_id;
	char	lbr$b_tblsiz;
	char	lbr$b_type;
	char	lbr$b_func;
	char	xxx_spare[2];
	long	lbr$l_usrflg;
	long	lbr$l_ctxptr;
	long	lbr$l_curidx;
	long	lbr$l_usrnam;
	long	lbr$l_oldhdrptr;
	};
/*
 * end of LBRDEF.H
 */
