1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
//! EK Das Paging Parameters
//!
//! ```text
//! C$ Disclaimer
//! C
//! C THIS SOFTWARE AND ANY RELATED MATERIALS WERE CREATED BY THE
//! C CALIFORNIA INSTITUTE OF TECHNOLOGY (CALTECH) UNDER A U.S.
//! C GOVERNMENT CONTRACT WITH THE NATIONAL AERONAUTICS AND SPACE
//! C ADMINISTRATION (NASA). THE SOFTWARE IS TECHNOLOGY AND SOFTWARE
//! C PUBLICLY AVAILABLE UNDER U.S. EXPORT LAWS AND IS PROVIDED "AS-IS"
//! C TO THE RECIPIENT WITHOUT WARRANTY OF ANY KIND, INCLUDING ANY
//! C WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A
//! C PARTICULAR USE OR PURPOSE (AS SET FORTH IN UNITED STATES UCC
//! C SECTIONS 2312-2313) OR FOR ANY PURPOSE WHATSOEVER, FOR THE
//! C SOFTWARE AND RELATED MATERIALS, HOWEVER USED.
//! C
//! C IN NO EVENT SHALL CALTECH, ITS JET PROPULSION LABORATORY, OR NASA
//! C BE LIABLE FOR ANY DAMAGES AND/OR COSTS, INCLUDING, BUT NOT
//! C LIMITED TO, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND,
//! C INCLUDING ECONOMIC DAMAGE OR INJURY TO PROPERTY AND LOST PROFITS,
//! C REGARDLESS OF WHETHER CALTECH, JPL, OR NASA BE ADVISED, HAVE
//! C REASON TO KNOW, OR, IN FACT, SHALL KNOW OF THE POSSIBILITY.
//! C
//! C RECIPIENT BEARS ALL RISK RELATING TO QUALITY AND PERFORMANCE OF
//! C THE SOFTWARE AND ANY RELATED MATERIALS, AND AGREES TO INDEMNIFY
//! C CALTECH AND NASA FOR ALL THIRD-PARTY CLAIMS RESULTING FROM THE
//! C ACTIONS OF RECIPIENT IN THE USE OF THE SOFTWARE.
//! C
//! C
//! C Include Section: EK Das Paging Parameters
//! C
//! C ekpage.inc Version 4 25-AUG-1995 (NJB)
//! C
//! C
//! C
//! C The EK DAS paging system makes use of the integer portion
//! C of an EK file's DAS address space to store the few numbers
//! C required to describe the system's state. The allocation
//! C of DAS integer addresses is shown below.
//! C
//! C
//! C DAS integer array
//! C
//! C +--------------------------------------------+
//! C | EK architecture code | Address = 1
//! C +--------------------------------------------+
//! C | Character page size (in DAS words) |
//! C +--------------------------------------------+
//! C | Character page base address |
//! C +--------------------------------------------+
//! C | Number of character pages in file |
//! C +--------------------------------------------+
//! C | Number of character pages on free list |
//! C +--------------------------------------------+
//! C | Character free list head pointer | Address = 6
//! C +--------------------------------------------+
//! C | | Addresses =
//! C | Metadata for d.p. pages | 7--11
//! C | |
//! C +--------------------------------------------+
//! C | | Addresses =
//! C | Metadata for integer pages | 12--16
//! C | |
//! C +--------------------------------------------+
//! C .
//! C .
//! C .
//! C +--------------------------------------------+
//! C | | End Address =
//! C | Unused space | integer page
//! C | | end
//! C +--------------------------------------------+
//! C | | Start Address =
//! C | First integer page | integer page
//! C | | base
//! C +--------------------------------------------+
//! C .
//! C .
//! C .
//! C +--------------------------------------------+
//! C | |
//! C | Last integer page |
//! C | |
//! C +--------------------------------------------+
//! C
//! C The following parameters indicate positions of elements in the
//! C paging system metadata array:
//! C
//! C
//! INTEGER EPARCH
//! PARAMETER ( EPARCH = 1 )
//!
//! C
//! C Number of metadata items per data type:
//! C
//! INTEGER EPNIPT
//! PARAMETER ( EPNIPT = 5 )
//!
//! C
//! C Character metadata indices:
//! C
//! INTEGER EPPSZC
//! PARAMETER ( EPPSZC = EPARCH + 1 )
//!
//! INTEGER EPBASC
//! PARAMETER ( EPBASC = EPPSZC + 1 )
//!
//! INTEGER EPNPC
//! PARAMETER ( EPNPC = EPBASC + 1 )
//!
//! INTEGER EPNFPC
//! PARAMETER ( EPNFPC = EPNPC + 1 )
//!
//! INTEGER EPFPC
//! PARAMETER ( EPFPC = EPNFPC + 1 )
//!
//! C
//! C Double precision metadata indices:
//! C
//! INTEGER EPPSZD
//! PARAMETER ( EPPSZD = EPPSZC + EPNIPT )
//!
//! INTEGER EPBASD
//! PARAMETER ( EPBASD = EPPSZD + 1 )
//!
//! INTEGER EPNPD
//! PARAMETER ( EPNPD = EPBASD + 1 )
//!
//! INTEGER EPNFPD
//! PARAMETER ( EPNFPD = EPNPD + 1 )
//!
//! INTEGER EPFPD
//! PARAMETER ( EPFPD = EPNFPD + 1 )
//!
//! C
//! C Integer metadata indices:
//! C
//! INTEGER EPPSZI
//! PARAMETER ( EPPSZI = EPPSZD + EPNIPT )
//!
//! INTEGER EPBASI
//! PARAMETER ( EPBASI = EPPSZI + 1 )
//!
//! INTEGER EPNPI
//! PARAMETER ( EPNPI = EPBASI + 1 )
//!
//! INTEGER EPNFPI
//! PARAMETER ( EPNFPI = EPNPI + 1 )
//!
//! INTEGER EPFPI
//! PARAMETER ( EPFPI = EPNFPI + 1 )
//!
//! C
//! C Size of metadata area:
//! C
//! INTEGER EPMDSZ
//! PARAMETER ( EPMDSZ = 1 + 3*EPNIPT )
//!
//! C
//! C Page sizes, in units of DAS words of the appropriate type:
//! C
//! INTEGER PGSIZC
//! PARAMETER ( PGSIZC = 1024 )
//!
//! INTEGER PGSIZD
//! PARAMETER ( PGSIZD = 128 )
//!
//! INTEGER PGSIZI
//! PARAMETER ( PGSIZI = 256 )
//!
//! C
//! C Default page base addresses:
//! C
//! INTEGER PGBASC
//! PARAMETER ( PGBASC = 0 )
//!
//! INTEGER PGBASD
//! PARAMETER ( PGBASD = 0 )
//!
//! INTEGER PGBASI
//! PARAMETER ( PGBASI = 256 )
//!
//!
//! C
//! C End Include Section: EK Das Paging Parameters
//! C
//! ```
pub const EPARCH: i32 = 1;
pub const EPNIPT: i32 = 5;
pub const EPPSZC: i32 = ;
pub const EPBASC: i32 = ;
pub const EPNPC: i32 = ;
pub const EPNFPC: i32 = ;
pub const EPFPC: i32 = ;
pub const EPPSZD: i32 = ;
pub const EPBASD: i32 = ;
pub const EPNPD: i32 = ;
pub const EPNFPD: i32 = ;
pub const EPFPD: i32 = ;
pub const EPPSZI: i32 = ;
pub const EPBASI: i32 = ;
pub const EPNPI: i32 = ;
pub const EPNFPI: i32 = ;
pub const EPFPI: i32 = ;
pub const EPMDSZ: i32 = ;
pub const PGSIZC: i32 = 1024;
pub const PGSIZD: i32 = 128;
pub const PGSIZI: i32 = 256;
pub const PGBASC: i32 = 0;
pub const PGBASD: i32 = 0;
pub const PGBASI: i32 = 256;