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