|
|
BSD 4.3
/*
** ACCINTERN.H -- internal declarations for the access methods
**
** Nothing in here should be needed for the outside world.
**
** Version:
** @(#)accintern.h 8.1 12/31/84
*/
# include <access.h>
# define NACCBUFS 3 /* number of access method buffers */
/* the following is the access methods buffer */
struct accbuf
{
/* this stuff is actually stored in the relation */
long mainpg; /* next main page (0 - eof) */
long ovflopg; /* next ovflo page (0 - none) */
short nxtlino; /* next avail line no for this page */
char firstup[PGSIZE - 12]; /* tuple space */
short linetab[1]; /* line table at end of buffer - grows down */
/* linetab[lineno] is offset into
** the buffer for that line; linetab[nxtlino]
** is free space pointer */
/* this stuff is not stored in the relation */
long rel_tupid; /* unique relation id */
long thispage; /* page number of the current page */
int filedesc; /* file descriptor for this reln */
struct accbuf *modf; /* use time link list forward pointer */
struct accbuf *modb; /* back pointer */
int bufstatus; /* various bits defined below */
};
/* The following assignments are status bits for accbuf.bufstatus */
# define BUF_DIRTY 001 /* page has been changed */
# define BUF_LOCKED 002 /* page has a page lock on it */
# define BUF_DIRECT 004 /* this is a page from isam direct */
/* access method buffer typed differently for various internal operations */
struct
{
char acc_buf[NACCBUFS];
};
/* pointers to maintain the buffer */
extern struct accbuf *Acc_head; /* head of the LRU list */
extern struct accbuf *Acc_tail; /* tail of the LRU list */
extern struct accbuf Acc_buf[NACCBUFS]; /* the buffers themselves */
/*
** PGTUPLE -- btree index key (a tid and an index key)
*/
struct pgtuple
{
struct tup_id childtid; /* the pointer comes before */
char childtup[MAXTUP];
};
/*
** Global values used by everything
*/
extern char *Acctuple; /* pointer to canonical tuple */
extern char Accanon[MAXTUP]; /* canonical tuple buffer */
/*
** In-line expansion of trace flags.
*/
extern short *tT;
# ifndef PDP11
# ifndef tTf
# define tTf(a, b) ((b < 0) ? tT[a] : (tT[a] & (1 << b)))
# endif tTf
# endif PDP11
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.