Annotation of 42BSD/ingres/source/iutil/accintern.h, revision 1.1.1.1

1.1       root        1: /*
                      2: **  ACCINTERN.H -- internal declarations for the access methods
                      3: **
                      4: **     Nothing in here should be needed for the outside world.
                      5: **
                      6: **     Version:
                      7: **             @(#)accintern.h 7.1     2/5/81
                      8: */
                      9: 
                     10: # include      <access.h>
                     11: 
                     12: 
                     13: # define       NACCBUFS        3               /* number of access method buffers */
                     14: 
                     15: 
                     16: /* the following is the access methods buffer */
                     17: struct accbuf
                     18: {
                     19:        /* this stuff is actually stored in the relation */
                     20:        long            mainpg;         /* next main page (0 - eof) */
                     21:        long            ovflopg;        /* next ovflo page (0 - none) */
                     22:        short           nxtlino;        /* next avail line no for this page */
                     23:        char            firstup[PGSIZE - 12];   /* tuple space */
                     24:        short           linetab[1];     /* line table at end of buffer - grows down */
                     25:                                        /* linetab[lineno] is offset into
                     26:                                        ** the buffer for that line; linetab[nxtlino]
                     27:                                        ** is free space pointer */
                     28: 
                     29:        /* this stuff is not stored in the relation */
                     30:        long            rel_tupid;      /* unique relation id */
                     31:        long            thispage;       /* page number of the current page */
                     32:        int             filedesc;       /* file descriptor for this reln */
                     33:        struct accbuf   *modf;          /* use time link list forward pointer */
                     34:        struct accbuf   *modb;          /* back pointer */
                     35:        int             bufstatus;      /* various bits defined below */
                     36: };
                     37: 
                     38: /* The following assignments are status bits for accbuf.bufstatus */
                     39: # define       BUF_DIRTY       001     /* page has been changed */
                     40: # define       BUF_LOCKED      002     /* page has a page lock on it */
                     41: # define       BUF_DIRECT      004     /* this is a page from isam direct */
                     42: 
                     43: /* access method buffer typed differently for various internal operations */
                     44: struct
                     45: {
                     46:        char    acc_buf[NACCBUFS];
                     47: };
                     48: 
                     49: /* pointers to maintain the buffer */
                     50: extern struct accbuf   *Acc_head;      /* head of the LRU list */
                     51: extern struct accbuf   *Acc_tail;      /* tail of the LRU list */
                     52: extern struct accbuf   Acc_buf[NACCBUFS];      /* the buffers themselves */
                     53: 
                     54: 
                     55: /*
                     56: **  PGTUPLE -- btree index key (a tid and an index key)
                     57: */
                     58: 
                     59: struct pgtuple
                     60: {
                     61:        struct tup_id   childtid;               /* the pointer comes before */
                     62:        char            childtup[MAXTUP];
                     63: };
                     64: 
                     65: 
                     66: /*
                     67: **     Global values used by everything
                     68: */
                     69: 
                     70: extern char    *Acctuple;              /* pointer to canonical tuple */
                     71: extern char    Accanon[MAXTUP];        /* canonical tuple buffer */
                     72: 
                     73: /*
                     74: **  In-line expansion of trace flags.
                     75: */
                     76: 
                     77: extern short   *tT;
                     78: # ifndef PDP11
                     79: # ifndef tTf
                     80: # define tTf(a, b)     ((b < 0) ? tT[a] : (tT[a] & (1 << b)))
                     81: # endif tTf
                     82: # endif PDP11

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.