Commit | Line | Data |
---|---|---|
6bafdb92 C |
1 | /* text.h 4.4 81/03/09 */ |
2 | ||
3 | /* | |
4 | * Text structure. | |
5 | * One allocated per pure | |
6 | * procedure on swap device. | |
7 | * Manipulated by text.c | |
8 | */ | |
9 | #define NXDAD 12 /* param.h:MAXTSIZ / dmap.h:DMTEXT */ | |
10 | ||
11 | struct text | |
12 | { | |
13 | swblk_t x_daddr[NXDAD]; /* disk addresses of DMTEXT-page segments */ | |
14 | swblk_t x_ptdaddr; /* disk address of page table */ | |
15 | size_t x_size; /* size (clicks) */ | |
16 | struct proc *x_caddr; /* ptr to linked proc, if loaded */ | |
17 | struct inode *x_iptr; /* inode of prototype */ | |
18 | short x_rssize; | |
19 | short x_swrss; | |
20 | char x_count; /* reference count */ | |
21 | char x_ccount; /* number of loaded references */ | |
22 | char x_flag; /* traced, written flags */ | |
23 | char x_slptime; | |
24 | short x_poip; /* page out in progress count */ | |
25 | }; | |
26 | ||
27 | #ifdef KERNEL | |
28 | struct text *text, *textNTEXT; | |
29 | int ntext; | |
30 | #endif | |
31 | ||
32 | #define XTRC 01 /* Text may be written, exclusive use */ | |
33 | #define XWRIT 02 /* Text written into, must swap out */ | |
34 | #define XLOAD 04 /* Currently being read from file */ | |
35 | #define XLOCK 010 /* Being swapped in or out */ | |
36 | #define XWANT 020 /* Wanted for swapping */ | |
37 | #define XPAGI 040 /* Page in on demand from inode */ |