1 03/08/85  system_info_
  2 
  3 
  4 The system_info_ subroutine allows the user to obtain information
  5 concerning system parameters.  All entry points that accept more than
  6 one argument count their arguments and only return values for the
  7 number of arguments given.  Certain arguments, such as the price
  8 arrays, must be dimensioned as shown.
  9 
 10 
 11 Entry points in system_info_:
 12    (List is generated by the help command)
 13 
 14 
 15 :Entry:  abs_chn:  03/08/85 system_info_$abs_chn
 16 
 17 
 18 Function:  This entry point returns the event channel and process ID
 19 for the process that is running the absentee user manager.
 20 
 21 
 22 Syntax:
 23 declare system_info_$abs_chn entry (fixed bin(71), bit(36) aligned);
 24 call system_info_$abs_chn (ec, p_id);
 25 
 26 
 27 Arguments:
 28 ec
 29    is the event channel over which signals to absentee_user_manager_
 30    should be sent.  (Output)
 31 p_id
 32    is the process ID of the absentee manager process (currently the
 33    initializer).  (Output)
 34 
 35 
 36 :Entry:  abs_prices:  03/08/85 system_info_$abs_prices
 37 
 38 
 39 Function:  This entry point returns the prices for CPU and real time
 40 for each absentee queue.
 41 
 42 
 43 Syntax:
 44 declare system_info_$abs_prices entry ((4) float bin, (4) float bin);
 45 call system_info_$abs_prices (cpurate, realrate);
 46 
 47 
 48 Arguments:
 49 cpurate
 50    is the price per CPU hour for absentee queues 1 to 4.  (Output)
 51 realrate
 52    is the memory unit rate for absentee queues 1 to 4.  (Output)
 53 
 54 
 55 :Entry:  access_ceiling:  03/08/85 system_info_$access_ceiling
 56 
 57 
 58 Function:  This entry point returns the system_high access
 59 authorization or class.
 60 
 61 
 62 Syntax:
 63 declare system_info_$access_ceiling entry (bit(72) aligned);
 64 call system_info_$access_ceiling (ceil);
 65 
 66 
 67 Arguments:
 68 ceil
 69    is the access ceiling.  (Output)
 70 
 71 
 72 :Entry:  category_names:  03/08/85 system_info_$category_names
 73 
 74 
 75 Function:  This entry point returns the 32-character long names and the
 76 eight-character short names for the access categories.
 77 
 78 
 79 Syntax:
 80 declare system_info_$category_names entry (dim(18) char(32), dim(18)
 81      char(8));
 82 call system_info_$category_names (long, short);
 83 
 84 
 85 Arguments:
 86 long
 87    is an array of the long level names.  (Output)
 88 short
 89    is an array of the short level names.  (Output)
 90 
 91 
 92 :Entry: default_absentee_queue: 03/08/85 system_info_$default_absentee_queue
 93 
 94 
 95 Function:  This entry point returns the number of the default absentee
 96 queue used for submission of absentee jobs by the enter_abs_request,
 97 pl1_abs, fortran_abs, etc., commands.
 98 
 99 
100 Syntax:
101 declare system_info_$default_absentee_queue entry (fixed bin);
102 call system_info_$default_absentee_queue (default_q);
103 
104 
105 Arguments:
106 default_q
107    is the default absentee queue.  (Output)
108 
109 
110 :Entry:  device_prices:  03/08/85 system_info_$device_prices
111 
112 
113 Function:  This entry point returns the per-shift prices for system
114 device usage.
115 
116 
117 Syntax:
118 declare system_info_$device_prices entry (fixed bin, ptr);
119 call system_info_$device_prices (ndev, dev_ptr);
120 
121 
122 Arguments:
123 ndev
124    is the number of devices with prices.  (Output)
125 dev_ptr
126    points to an array where device prices are stored.  (Input)
127 
128 
129 Notes:  In the above entry point, the user must provide the following
130 array (in his storage) for device prices:
131    dcl 1 dvt(16)                 based (dev_ptr) aligned,
132          2 device_id             char(8),
133          2 device_price          (0:7) float bin;
134 
135 
136    Structure elements:
137    dvt
138       is the user structure.  Only the first ndev of the 16 is filled
139       in.
140    device_id
141       is the name of the device.
142    device_price
143       is the per-hour, per-shift price for the device.
144 
145 
146 :Entry:  installation_id:  03/08/85 system_info_$installation_id
147 
148 
149 Function:  This entry point returns the 32-character installation
150 identifier that is typed in the header of the how_many_users command
151 when the -long control argument is specified.
152 
153 
154 Syntax:
155 declare system_info_$installation_id entry (char(*));
156 call system_info_$installation_id (id);
157 
158 
159 Arguments:
160 id
161    is the installation identifier.  (Output)
162 
163 
164 :Entry:  io_prices:  03/08/85 system_info_$io_prices
165 
166 
167 Function:  This entry point returns the prices for unit processing for
168 each I/O daemon queue.
169 
170 
171 Syntax:
172 declare system_info_$io_prices entry ((4) float bin);
173 call system_info_$io_prices (rp);
174 
175 
176 Arguments:
177 rp
178    is the price per 1000 lines for each I/O daemon queue.  (Output)
179 
180 
181 :Entry:  last_shutdown:  03/08/85 system_info_$last_shutdown
182 
183 
184 Function:  This entry point returns the clock time of the last shutdown
185 or crash and an eight-character string giving the ERF (error report
186 form) number of the last crash (blank if the last shutdown was not a
187 crash).
188 
189 
190 Syntax:
191 declare system_info_$last_shutdown entry (fixed bin(71), char(*));
192 call system_info_$last_shutdown (time, erfno);
193 
194 
195 Arguments:
196 time
197    is the clock time of the last shutdown.  (Output)
198 erfno
199    is the ERF number of the last crash, or blank.  (Output)
200 
201 
202 :Entry:  level_names:  03/08/85 system_info_$level_names
203 
204 
205 Function:  This entry point returns the 32-character long names and
206 eight-character short names for sensitivity levels.
207 
208 
209 Syntax:
210 declare system_info_$level_names entry (dim(0:7) char(32), dim(0:7)
211      char(8));
212 call system_info_$level_names (long, short);
213 
214 
215 Arguments:
216 long
217    is an array of the long level names.  (Output)
218 short
219    is an array of the short level names.  (Output)
220 
221 
222 :Entry:  max_rs_number:  03/08/85 system_info_$max_rs_number
223 
224 
225 Function:  This entry point returns the largest valid rate structure
226 number.
227 
228 
229 Syntax:
230 declare system_info_$max_rs_number entry (fixed bin(17));
231 call system_info_$max_rs_number (rs_number);
232 
233 
234 Arguments:
235 rs_number
236    is the largest valid rate structure number.  If it is zero, there
237    are no rate structures defined, other than the default one in
238    installation_parms.  (Output)
239 
240 
241 :Entry:  next_shift_change:  03/08/85 system_info_$next_shift_change
242 
243 
244 Function:  This entry point returns the number of the current shift,
245 the time it started, the time it will end, and the number of the next
246 shift.
247 
248 
249 Syntax:
250 declare system_info_$next_shift_change entry (fixed bin, fixed bin(71),
251      fixed bin, fixed bin(71);
252 call system_info_$next_shift_change (now_shift, change_time, new_shift,
253      start_time);
254 
255 
256 Arguments:
257 now_shift
258    is the current shift number.  (Output)
259 change_time
260    is the time the shift changes.  (Output)
261 new_shift
262    is the shift after change_time.  (Output)
263 start_time
264    is the time the current shift started.  (Output)
265 
266 
267 :Entry:  next_shutdown:  03/08/85 system_info_$next_shutdown
268 
269 
270 Function:  This entry point returns the time of the next scheduled
271 shutdown, the reason for the shutdown, and the time when the system
272 will return, if these data are available.
273 
274 
275 Syntax:
276 declare system_info_$next_shutdown entry (fixed bin(71), char(*),
277      fixed bin(71));
278 call system_info_$next_shutdown (td, rsn, tn);
279 
280 
281 Arguments:
282 td
283    is the time of the next scheduled shutdown.  If none is scheduled,
284    this is 0.  (Output)
285 rsn
286    is the reason for the next shutdown (a maximum of 32 characters).
287    If it is not known, it is blank.  (Output)
288 tn
289    is the time the system will return.  If it is not known, it is 0.
290    (Output)
291 
292 
293 :Entry:  prices:  03/08/85 system_info_$prices
294 
295 
296 Function:  This entry point returns the per-shift prices for
297 interactive use.
298 
299 
300 Syntax:
301 declare system_info_$prices entry ((0:7) float bin, (0:7) float bin,
302      (0:7) float bin, (0:7) float bin, float bin, float bin);
303 call system_info_$prices (cpu, log, prc, cor, dsk, reg);
304 
305 
306 Arguments:
307 cpu
308    is the CPU-hour rate per shift.  (Output)
309 log
310    is the connect-hour rate per shift.  (Output)
311 prc
312    is the process-hour rate per shift.  (Output)
313 cor
314    is the page-second rate for main memory per shift.  (Output)
315 dsk
316    is the page-second rate for secondary storage.  (Output)
317 reg
318    is the registration fee per user per month.  (Output)
319 
320 
321 :Entry:  resource_price:  03/08/85 system_info_$resource_price
322 
323 
324 Function:
325  This entry point returns the price of a specified resource.
326 
327 
328 Syntax:
329 declare system_info_$resource_price entry (char(*), float bin, fixed
330      bin (35));
331 call system_info_$resource_price entry (name, price, code);
332 
333 
334 Arguments:
335 name
336    is the name of the resource.  (Input)
337 price
338    is the price of the resource in dollars per unit.  (Output)
339 code
340    is a standard status code.  It will be error_table_$noentry if the
341    resource is not in the price list.  (Output)
342 
343 
344 :Entry:  rs_name:  03/08/85 system_info_$rs_name
345 
346 
347 Function:  This entry point returns the rate structure name
348 corresponding to a rate structure number.
349 
350 
351 Syntax:
352 declare system_info_$rs_name entry (fixed bin(17), char(*),
353      fixed bin(35));
354 call system_info_$rs_name (rs_number, rs_name, code);
355 
356 
357 Arguments:
358 rs_number
359    is the number of a rate structure.  (Input)
360 rs_name
361    is the name corresponding to rs_number.  (The name can be up to 32
362    characters long.)  (Output)
363 code
364    is zero if no error occurred, or error_table_$noentry if rs_number
365    is not the number of a defined rate structure.  (Output)
366 
367 
368 :Entry:  rs_number:  03/08/85 system_info_$rs_number
369 
370 
371 Function:  This entry point returns the rate structure number
372 corresponding to a rate structure name.
373 
374 
375 Syntax:
376 declare system_info_$rs_number entry (char(*), fixed bin(17),
377      fixed bin(35));
378 call system_info_$rs_number (rs_name, rs_number, code);
379 
380 
381 Arguments:
382 rs_name
383    is the name of a rate structure.  (Input)
384 rs_number
385    is the number corresponding to rs_name.  (Output)
386 code
387    is zero if no error occurred, or error_table_$noentry if rs_name is
388    not the name of a rate structure.  (Output)
389 
390 
391 :Entry:  shift_table:  03/08/85 system_info_$shift_table
392 
393 
394 Function:  This entry point returns the local shift definition table of
395 the system.
396 
397 
398 Syntax:
399 declare system_info_$shift_table entry ((336) fixed bin);
400 call system_info_$shift_table (stt);
401 
402 
403 Arguments:
404 stt
405    is a table of shifts, indexed by half-hour within the week e.g.,
406    stt(1) gives the shift for 0000-0030 Mondays.  (Output)
407 
408 
409 :Entry:  trusted_path:  03/08/85 system_info_$trusted_path
410 
411 
412 Function:  This entry point returns bit flags indicating which trusted
413 path facilities are required by the site.  At present, only one,
414 "login" is implemented under the control of the "trusted_path_login"
415 installation parameter, to disable the use of logout -hold and new_proc
416 -authorization.
417 
418 
419 Syntax:
420 declare system_info_$trusted_path entry () returns (bit (36) aligned;
421 string (trusted_path) = system_info_$trusted_path ();
422 declare 1 trusted_path
423              2 login bit(1) unaligned,
424              2 pad bit(35) unaligned;
425 
426 
427 Arguments:
428 trusted_path_login
429    indicates the state of the "trusted_path_login" installation
430    parameter.
431 
432 
433 :Entry:  sysid:  03/08/85 system_info_$sysid
434 
435 
436 Function:  This entry point returns the eight-character system
437 identifier that is typed in the header of the who command and at
438 dial-up time.
439 
440 
441 Syntax:
442 declare system_info_$sysid entry (char(*));
443 call system_info_$sysid (sys);
444 
445 
446 Arguments:
447 sys
448    is the system identifier that identifies the current system.
449    (Output) Normally this is the Multics Release number (eg, MR10.1).
450 
451 
452 :Entry:  timeup:  03/08/85 system_info_$timeup
453 
454 
455 Function:  This entry point returns the time at which the system was
456 last started up.
457 
458 
459 Syntax:
460 declare system_info_$timeup entry (fixed bin(71));
461 call system_info_$timeup (tu);
462 
463 
464 Arguments:
465 tu
466    is when the system came up.  (Output)
467 
468 
469 :Entry:  titles:  03/08/85 system_info_$titles
470 
471 
472 Function:  This entry point returns several character strings that more
473 formally identify the installation.
474 
475 
476 Syntax:
477 declare system_info_$titles entry (char(*), char(*), char(*), char(*));
478 call system_info_$titles (c, d, cc, dd);
479 
480 
481 Arguments:
482 c
483    is the company or institution name (a maximum of 64 characters).
484    (Output)
485 d
486    is the department or division name (a maximum of 64 characters).
487    (Output)
488 cc
489    is the company name, double spaced (a maximum of 120 characters).
490    (Output)
491 dd
492    is the department name, double spaced (a maximum of 120 characters).
493    (Output)
494 
495 
496 :Entry:  users:  03/08/85 system_info_$users
497 
498 
499 Function:  This entry point returns the current and maximum number of
500 load units and users.
501 
502 
503 Syntax:
504 declare system_info_$users entry (fixed bin, fixed bin, fixed bin,
505      fixed bin);
506 call system_info_$users (mn, nn, mu, nu);
507 
508 
509 Arguments:
510 mn
511    is the maximum number of users.  (Output)
512 nn
513    is the current number of users.  (Output)
514 mu
515    is the maximum number of load units (times 10).  (Output)
516 nu
517    is the current number of load units (times 10).  (Output)
518 
519 
520 :Entry:  version_id:  03/08/85 system_info_$version_id
521 
522 
523 Function:  This entry point returns the eight-character version
524 identifier that is written on the hardcore system tape currently
525 running.  This might be set to "37-19.3", which is an internal version
526 number.  This information is different from the information that is
527 obtained with the system_info_$sysid entry point.
528 
529 
530 Syntax:
531 declare system_info$_version_id entry (char(*));
532 call system_info_$version_id (vers);
533 
534 
535 Arguments:
536 vers
537    is the version identifier that identifies the current version of the
538    system.  (Output)