|
|
1.1 ! root 1: /* bit fields strike again!! there seems to be an indirection problem */ ! 2: ! 3: struct cmap ! 4: { ! 5: unsigned int c_next:13, /* index of next free list entry */ ! 6: c_prev:13, /* index of previous (6700 for 8Mb) */ ! 7: c_lock:1, /* locked for raw i/o or pagein */ ! 8: c_want:1, /* wanted */ ! 9: c_page:16, /* virtual page number in segment */ ! 10: c_hlink:13, /* hash link for <blkno,mdev> */ ! 11: c_intrans:1, /* intransit bit */ ! 12: c_free:1, /* on the free list */ ! 13: c_gone:1, /* associated page has been released */ ! 14: c_type:2, /* type CSYS or CTEXT or CSTACK or CDATA */ ! 15: c_blkno:20, /* disk block this is a copy of */ ! 16: c_ndx:10, /* index of owner proc or text */ ! 17: c_mdev:6; /* which mounted dev this is from (NMOUNT) */ ! 18: }; ! 19: ! 20: extern struct cmap *cmap; ! 21: ! 22: foo(i) ! 23: register i; ! 24: { ! 25: cmap[i-1].c_next = i; ! 26: } ! 27:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.