Annotation of 3BSD/sys/h/cmap.h, revision 1.1.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.