/* BEGIN INCLUDE FILE ... pdt.incl.pl1 */ /* Requires user_attributes.incl.pl1 */ /* Modified 740723 by PG to add AIM info */ /* Modified 750604 by T. Casey to add priority scheduler parameters */ /* Modified May 1976 by T. Casey to add cutoff warning thresholds and change version to 3 */ /* Modified May 1977 by John Gintell to add reqfile, projfile, and SAT to header */ /* Modified May 1978 by T. Casey to add pdir_quota to user entry */ /* Modified June 1978 by T. Casey to add rel ptr to pdt hash table */ /* Modified November 1978 by T. Casey to add max_(fore back)ground, n_(fore back)ground and abs_foreground_cpu_limit */ /* Modified October 1979 by T. Casey to add counters for interactive and disconnected processes. */ /* Modified Feb 1980 by M. B. Armstrong to implement multiple rate structures (UNCA). */ /* Modified May 1980 by R. McDonald to use iod cpu time field for page charging (UNCA) */ /* Modified December 1981 by E. N. Kittlitz for user_warn fields */ /* Modified January 1982 by E. N. Kittlitz for user_attributes.incl.pl1 changes */ /* Modified September 1982 by E. N. Kittlitz for default ring. */ /* Modified 1984-07-05 BIM for min authorization, version to 4 */ dcl (PDT_version init (4), /* version of this declaration */ PDT_header_lth init (256), /* length in words of PDT head */ PDT_entry_lth init (256), /* length in words of PDT entry */ PDT_project_name_length init (9), /* proper length of pdt.project_name */ PDT_person_id_length init (22) /* proper length of user.person_id */ ) fixed bin internal static options (constant); dcl 1 pdt based (pdtp) aligned, % include author; 2 max_size fixed bin, /* max number of entries table can grow */ 2 current_size fixed bin, /* current size of table (in entries) */ 2 version fixed bin, /* table version */ 2 freep fixed bin, /* relptr to begin of free chain */ 2 n_users fixed bin, /* number of entries actually used */ 2 project_name char (28), /* name of project */ 2 project_dir char (64), /* treename of project's directory */ 2 projfile_version fixed bin, 2 projentry bit (66*36), 2 pad3 (5) bit (36) aligned, 2 reqfile_version fixed bin, 2 reqentry bit (40*36), 2 pad4 (9) fixed bin, 2 sat_version fixed bin, 2 satentry bit (52*36), /* everything in sat.project from project.at on */ 2 pad5 (4) bit (36) aligned, 2 date_reqfile_copied fixed bin (71), 2 rs_number fixed bin (9) unsigned unaligned, /* rate structure number, easier than looking in satentry */ 2 pad2l bit (27) unaligned, 2 pad2 (16) fixed bin, /* make header 256 words long */ 2 ht_relp fixed bin (18) aligned, /* if nonzero, pdt has hash table at that loc */ 2 user (1019) aligned, /* the project definition table entries */ 3 pad (256) bit (36) aligned; /* each entry is 256 words long */ /* The hash table, if there is one, is right after the last user, and is described in hashst.incl.pl1 */ dcl 1 user based (pdtep) aligned, /* declaration of a single PDT entry */ 2 state fixed bin, /* 1 = normal, 2 = deleted 0 = free */ 2 lock bit (36), /* update lock */ 2 person_id char (24) aligned, /* login name of user */ 2 now_in fixed bin, /* count of users logged in on this entry */ 2 password char (8) aligned, /* password for anonymous user */ 2 at like user_attributes aligned, /* include user_attributes.incl.pl1 */ 2 initial_procedure char (64) aligned, /* initproc and subsystem name packed into one string */ 2 home_dir char (64) aligned, /* user's default working directory */ 2 bump_grace fixed bin, /* number of minutes he is protected */ 2 high_ring fixed bin, /* highest ring user may use */ 2 default_ring fixed bin (17) unal, /* ring user will start in */ 2 low_ring fixed bin (17) unal, /* lowest ring user may use */ 2 outer_module char (32), /* outer module used if user is interactive */ 2 lot_size fixed bin, /* size of linkage offset table */ 2 kst_size fixed bin, /* size of known segment table */ 2 cls_size fixed bin, /* size of combined linkage */ 2 uflags, /* various flags */ 3 dont_call_init_admin bit (1) unal, /* call overseer direct */ 3 ip_given bit (1) unal, /* ip_len gives length of initproc packed in initial_procedure */ 3 ss_given bit (1) unal, /* subsystem name is packed in initial_procedure */ 3 flagpad bit (33) unal, 2 ip_len fixed bin (17) unal, /* length of initproc name packed in initial_procedure */ 2 ss_len fixed bin (17) unal, /* length of subsystem name packed in initial_procedure */ 2 dollar_limit float bin, 2 dollar_charge float bin, /* total dollars spent this month */ 2 shift_limit (0: 7) float bin, 2 daton fixed bin (71), /* date user added to system */ 2 datof fixed bin (71), /* date user deleted */ 2 last_login_time fixed bin (71), /* time of last login */ 2 last_login_unit char (4), /* terminal id last used */ 2 last_login_type fixed bin (17) unal, /* terminal type */ 2 last_login_line_type fixed bin (17) unal, /* terminal line type */ 2 time_last_bump fixed bin (71), /* for bump-wait */ 2 last_update fixed bin (71), /* time of last transaction */ 2 logins fixed bin, /* number of logins */ 2 crashes fixed bin, /* sessions abnormally terminated */ 2 interactive (0: 7), /* interactive use, shifts 0-7 */ 3 charge float bin, /* total dollar charge this shift */ 3 xxx fixed bin, 3 cpu fixed bin (71), /* cpu usage in microseconds */ 3 core fixed bin (71), /* core demand in page-microseconds */ 3 connect fixed bin (71), /* total console time in microseconds */ 3 io_ops fixed bin (71), /* total i/o ops on terminal */ 2 absentee (4), /* absentee use, queues 1-4 */ 3 charge float bin, /* dollar charge this queue */ 3 jobs fixed bin, /* number of jobs submitted */ 3 cpu fixed bin (71), /* total cpu time in microseconds */ 3 memory fixed bin (71), /* total memory demand */ 2 iod (4), /* io daemon use, queues 1-4 */ 3 charge float bin, /* dollar charge this queue */ 3 pieces fixed bin, /* pieces of output requested */ 3 pad fixed bin (35), 3 pages fixed bin (35), /* number of pages output */ 3 lines fixed bin (71), /* total record count of output */ 2 devices (16) float bin, /* device charges */ 2 time_last_reset fixed bin (71), /* time PDT last updated */ 2 absolute_limit float bin, /* Limit, not reset monthly */ 2 absolute_spent float bin, /* Spending against this */ 2 absolute_cutoff fixed bin (71), /* Spending will be reset on this date */ 2 absolute_increm fixed bin, /* .. time increment code. 0 = don't reset */ 2 pad_was_authorization bit (72) aligned, 2 group char (8), /* group for this user (if at.igroup = "1"b) */ 2 warn_days fixed bin (17) unaligned, /* warn user if less than this many days to cutoff */ 2 warn_pct fixed bin (17) unaligned, /* warn user if less than this percent of funds left */ 2 warn_dollars float bin, /* warn user if less than this amount of funds left */ 2 n_foreground fixed bin (9) unsigned unaligned, /* number of foreground and background processes */ 2 n_background fixed bin (9) unsigned unaligned, /* that this user has. see limits just below */ 2 max_foreground fixed bin (9) unsigned unaligned, /* max simultaneous foreground and */ 2 max_background fixed bin (9) unsigned unaligned, /* background processes that this user can have */ 2 n_interactive fixed bin (9) unsigned unaligned, /* number of interactive processes that user has */ 2 n_disconnected fixed bin (9) unsigned unaligned, /* number of disconnected processes that user has */ 2 pdtupad1 fixed bin (18) unsigned unaligned, 2 user_warn_days fixed bin (17) unaligned, /* warn user if less than this many days to user cutoff */ 2 user_warn_pct fixed bin (17) unaligned, /* warn user if less than this percent of user funds left */ 2 user_warn_dollars float bin, /* warn user if less than this amount of user funds left */ 2 user_authorization (2) bit (72) aligned, /* range */ 2 pdtupad (5) fixed bin, 2 abs_foreground_cpu_limit fixed bin (17) unaligned, /* time limit (sec) on foreground absentee jobs */ 2 pdir_quota fixed bin (17) unaligned, /* quota to put on user's pdir (0 => use default) */ 2 chain fixed bin; /* free chain */ /* END INCLUDE FILE ... pdt.incl.pl1 */ */ ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group Bull including Bull HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell Bull Inc., Groupe Bull and Bull HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, Bull or Bull HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by Bull HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved */