Annotation of 3BSD/sys/h/cmap.h, revision 1.1

1.1     ! root        1: /*     cmap.h  2.1     1/5/80  */
        !             2: 
        !             3: /*
        !             4:  * core map entry
        !             5:  *
        !             6:  * N.B.: sizeof (struct cmap) is well known in cmap.m
        !             7:  */
        !             8: struct cmap
        !             9: {
        !            10: unsigned int   c_next:14,      /* index of next free list entry */
        !            11:                c_page:17,      /* virtual page number in segment */
        !            12:                c_intrans:1,    /* intransit bit */
        !            13:                c_prev:14,      /* index of previous free list entry */
        !            14:                c_ndx:10,       /* index of owner proc or text */
        !            15:                c_flag:8;       /* flags */
        !            16: };
        !            17: 
        !            18: #define        CMHEAD  0
        !            19: 
        !            20: #ifdef KERNEL
        !            21: extern struct cmap *cmap;
        !            22: extern struct cmap *ecmap;
        !            23: int    firstfree, maxfree;
        !            24: #endif
        !            25: 
        !            26: /* bits defined in c_flag */
        !            27: 
        !            28: #define        MTEXT           0x01            /* belongs to shared text segment */
        !            29: #define        MDATA           0x02            /* belongs to data segment */
        !            30: #define        MSTACK          0x04            /* belongs to stack segment */
        !            31: #define        MSYS            0x08            /* allocated to u area */
        !            32: #define        MGONE           0x10            /* associated page has been released */
        !            33: #define        MFREE           0x20            /* on the free list */
        !            34: #define        MLOCK           0x40            /* locked for raw i/o or pagein */
        !            35: #define        MWANT           0x80            /* wanted */
        !            36: 
        !            37: #define        pgtocm(x)       ((((x)-firstfree) / CLSIZE) + 1)
        !            38: #define        cmtopg(x)       ((((x)-1) * CLSIZE) + firstfree)

unix.superglobalmegacorp.com

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