Category : C Source Code
Archive   : VH_JARGO.ZIP
Filename : VH.H

 
Output of file : VH.H contained in archive : VH_JARGO.ZIP
/* vh.h --- interface to display-independent retrieval code */

#define PATHLEN 256 /* maximum filename size */
#define BTSMAX 100 /* backtrack stack size */
#define NOPLACE (-1) /* out-of-bounds for screen coordinate */
#define NOWHERE (-1L) /* invalid file position */
#define LNSZ 256 /* maximum text line width */
#define MAXWIDTH 256 /* maximum screen width */
#define ITEMSMAX 2400 /* max index items per document */

#ifndef UNIX
typedef long daddr_t;
#else
#if !defined(AOS)
#include
#endif /* !defined(AOS) */
#include
#endif /* */

#ifndef SEEK_SET /* AOS is bogus */
#define SEEK_SET 0
#define SEEK_END 2
#endif

/* index of last line on screen available for text display */
#ifdef POPUP
#define LASTLINE (LINES - 1)
#else
#define LASTLINE (LINES - 2)
#endif /* POPUP */

/* this structure appears at the beginning of each index */
typedef struct
{
long magic; /* magic number, distinguishes file type */
int nfiles; /* count of text files in the database */
/* multi-files isn't implemented yet */
}
vhhdr;

/* this structure represents a select region */
typedef struct
{
int xl, yl, xr, yr;
}
region;

/*
* FILEINFO -- everything we need to keep context of text and index
*/
typedef struct fileinfo
{
FILE *fp; /* file pointer */
daddr_t endpos; /* end file pos (== file length) */
daddr_t toppos; /* pos of new top line on screen */
daddr_t dsptoppos; /* pos of current top line on screen */
daddr_t dspnextpos; /* pos of line after last line on screen */
daddr_t lastpagetoppos; /* pos of top line of last page */
daddr_t hitpos; /* pos where string search hit */
region sel; /* selected region on screen (if any) */
int ythumb; /* current thumb row */
int btscnt; /* backtrack stack current count */
daddr_t bts[BTSMAX]; /* backtrack stack of file positions */
region selbts[BTSMAX]; /* backtrack stack of link selections */
}
FILEINFO;

/* this function must be defined for vh.c to compile */
extern void gettext(); /* fetch text from terminal screen */

/* entry points of vh.c */
extern void chkindex(); /* check for pathologies in file */
extern void mkindex(); /* generate index for file */
extern char *headword(); /* is given line a headword? */
extern bool initbrowse(); /* initialize browse */
extern void setlastpage(); /* set lastpagetoppos members */
extern daddr_t iflink(); /* test for presence of link */
extern daddr_t getnextln(); /* get next line */
extern daddr_t getprevln(); /* get previous line */
extern daddr_t xlocate(); /* go to term by name */
extern daddr_t ilocate(); /* incremental-locate term */
extern daddr_t ffind(); /* find string in file */
extern daddr_t ifind(); /* incremental-find string in file */
extern daddr_t jrandom(); /* return offset of random entry */
extern region findnextsel(); /* find next possible selection */
extern region findprevsel(); /* find previous possible selection */
extern void enqueue(); /* stack a location */
extern void dequeue(); /* unstack a location */
extern FILEINFO vhi; /* file info for index */
extern FILEINFO *vht; /* file info for text */

#if defined(__TURBOC__) && defined(FFGETS)
extern char *ffgets(); /* faster fgets */
#define fgets(s,n,f) ffgets((s), (n), (f))
#endif /* defined(__TURBOC__) && defined(FFGETS) */

/* vh.h ends here */


  3 Responses to “Category : C Source Code
Archive   : VH_JARGO.ZIP
Filename : VH.H

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/