xref: /csrg-svn/contrib/bib/src/bib.h (revision 16244)
113111Srrh /*
2*16244Srrh  *	@(#)bib.h	2.4	03/27/84
313111Srrh  */
412917Sgarrison /*   various arguments for bib and listrefs processors */
512917Sgarrison 
612917Sgarrison /* constants */
712917Sgarrison 
812917Sgarrison # define true  1
912917Sgarrison # define false 0
1012917Sgarrison # define err  -1
1112917Sgarrison # define REFSIZE 1024                /* maximum size of reference string    */
1215060Sgarrison # define MAXFIELD 512                /* maximum size of any field in referece*/
1312917Sgarrison 
1412917Sgarrison /* reference citation marker genrated in pass 1 */
1512917Sgarrison 
1612917Sgarrison # define CITEMARK (char) 02
1712917Sgarrison # define CITEEND  (char) 03
18*16244Srrh # define FMTSTART (char) 04
19*16244Srrh # define FMTEND   (char) 05
2012917Sgarrison 
2112917Sgarrison /* file names */
2212917Sgarrison 
2312917Sgarrison         /* output of invert, input file for references */
2412917Sgarrison # define INDXFILE "INDEX"
2512917Sgarrison         /* pass1 reference collection file */
2615904Srrh # define TMPREFFILE  "/tmp/bibrXXXXXX"
2712917Sgarrison         /* pass2 text collection file */
2815904Srrh # define TMPTEXTFILE "/tmp/bibpXXXXXX"
2912917Sgarrison         /* temp file used in invert */
3015904Srrh # define INVTEMPFILE "/tmp/invertXXXXXX"
3112917Sgarrison         /* common words */
3212917Sgarrison # define COMFILE "/usr/lib/bmac/common"
3312917Sgarrison         /* default system dictionary */
3412917Sgarrison # define SYSINDEX "/usr/dict/papers/INDEX"
3512917Sgarrison         /* where macro libraries live */
3612917Sgarrison # define BMACLIB "/usr/lib/bmac"
3712917Sgarrison         /* default style of references */
3812917Sgarrison # define DEFSTYLE "/usr/lib/bmac/bib.stdsn"
3912917Sgarrison 
4012917Sgarrison /* size limits */
4112917Sgarrison 
4212917Sgarrison 	/* maximum number of characters in common file */
4315060Sgarrison # define MAXCOMM 1000
4412917Sgarrison 
4512917Sgarrison char *malloc();
4615060Sgarrison 
4715060Sgarrison /* fix needed for systems where open [w]+ doesn't work */
4815060Sgarrison # ifdef READWRITE
4915060Sgarrison 
5015060Sgarrison # define READ 1
5115060Sgarrison # define WRITE 0
5215060Sgarrison 
5315060Sgarrison #endif
5415904Srrh    /*
5515904Srrh     *	Reference information
5615904Srrh     */
5715904Srrh    struct refinfo{
58*16244Srrh 	char	*ri_ref;	/* actual value, base value */
5915904Srrh 	char	*ri_cite;	/* citation string */
60*16244Srrh 	char	ri_disambig[2];	/* disambiguation string */
6115904Srrh 	int	ri_length;	/* length of reference string, plus null */
6215904Srrh 	long int ri_pos;	/* reference seek position */
6315904Srrh 	int	ri_n;		/* number of citation in pass1 */
6415904Srrh 	struct	refinfo	*ri_hp;	/* hash chain */
6515904Srrh    };
6615904Srrh    struct wordinfo{
6715904Srrh 	char	*wi_word;	/* actual word */
6815904Srrh 	char	*wi_def;	/* actual definition */
6915904Srrh 	int	wi_length;	/* word length */
7015904Srrh 	struct wordinfo *wi_hp;	/* hash chain */
7115904Srrh    };
7215904Srrh    int	strhash();
7315904Srrh #define HASHSIZE	509
7415904Srrh 
7515904Srrh #define reg register
76