1 /* BEGIN INCLUDE FILE ... pdt.incl.pl1 */ 2 /* Requires user_attributes.incl.pl1 */ 3 4 /* Modified 740723 by PG to add AIM info */ 5 /* Modified 750604 by T. Casey to add priority scheduler parameters */ 6 /* Modified May 1976 by T. Casey to add cutoff warning thresholds and change version to 3 */ 7 /* Modified May 1977 by John Gintell to add reqfile, projfile, and SAT to header */ 8 /* Modified May 1978 by T. Casey to add pdir_quota to user entry */ 9 /* Modified June 1978 by T. Casey to add rel ptr to pdt hash table */ 10 /* Modified November 1978 by T. Casey to add max_(fore back)ground, n_(fore back)ground and abs_foreground_cpu_limit */ 11 /* Modified October 1979 by T. Casey to add counters for interactive and disconnected processes. */ 12 /* Modified Feb 1980 by M. B. Armstrong to implement multiple rate structures (UNCA). */ 13 /* Modified May 1980 by R. McDonald to use iod cpu time field for page charging (UNCA) */ 14 /* Modified December 1981 by E. N. Kittlitz for user_warn fields */ 15 /* Modified January 1982 by E. N. Kittlitz for user_attributes.incl.pl1 changes */ 16 /* Modified September 1982 by E. N. Kittlitz for default ring. */ 17 /* Modified 1984-07-05 BIM for min authorization, version to 4 */ 18 19 dcl (PDT_version init (4), /* version of this declaration */ 20 PDT_header_lth init (256), /* length in words of PDT head */ 21 PDT_entry_lth init (256), /* length in words of PDT entry */ 22 23 PDT_project_name_length init (9), /* proper length of pdt.project_name */ 24 PDT_person_id_length init (22) /* proper length of user.person_id */ 25 ) fixed bin internal static options (constant); 26 27 dcl 1 pdt based (pdtp) aligned, 28 29 % include author; 30 2 max_size fixed bin, /* max number of entries table can grow */ 31 2 current_size fixed bin, /* current size of table (in entries) */ 32 2 version fixed bin, /* table version */ 33 2 freep fixed bin, /* relptr to begin of free chain */ 34 2 n_users fixed bin, /* number of entries actually used */ 35 2 project_name char (28), /* name of project */ 36 2 project_dir char (64), /* treename of project's directory */ 37 2 projfile_version fixed bin, 38 2 projentry bit (66*36), 39 2 pad3 (5) bit (36) aligned, 40 2 reqfile_version fixed bin, 41 2 reqentry bit (40*36), 42 2 pad4 (9) fixed bin, 43 2 sat_version fixed bin, 44 2 satentry bit (52*36), /* everything in sat.project from project.at on */ 45 2 pad5 (4) bit (36) aligned, 46 2 date_reqfile_copied fixed bin (71), 47 2 rs_number fixed bin (9) unsigned unaligned, /* rate structure number, easier than looking in satentry */ 48 2 pad2l bit (27) unaligned, 49 2 pad2 (16) fixed bin, /* make header 256 words long */ 50 2 ht_relp fixed bin (18) aligned, /* if nonzero, pdt has hash table at that loc */ 51 2 user (1019) aligned, /* the project definition table entries */ 52 3 pad (256) bit (36) aligned; /* each entry is 256 words long */ 53 54 /* The hash table, if there is one, is right after the last user, and is described in hashst.incl.pl1 */ 55 56 57 58 dcl 1 user based (pdtep) aligned, /* declaration of a single PDT entry */ 59 2 state fixed bin, /* 1 = normal, 2 = deleted 0 = free */ 60 2 lock bit (36), /* update lock */ 61 2 person_id char (24) aligned, /* login name of user */ 62 2 now_in fixed bin, /* count of users logged in on this entry */ 63 2 password char (8) aligned, /* password for anonymous user */ 64 2 at like user_attributes aligned, /* include user_attributes.incl.pl1 */ 65 2 initial_procedure char (64) aligned, /* initproc and subsystem name packed into one string */ 66 2 home_dir char (64) aligned, /* user's default working directory */ 67 2 bump_grace fixed bin, /* number of minutes he is protected */ 68 2 high_ring fixed bin, /* highest ring user may use */ 69 2 default_ring fixed bin (17) unal, /* ring user will start in */ 70 2 low_ring fixed bin (17) unal, /* lowest ring user may use */ 71 2 outer_module char (32), /* outer module used if user is interactive */ 72 2 lot_size fixed bin, /* size of linkage offset table */ 73 2 kst_size fixed bin, /* size of known segment table */ 74 2 cls_size fixed bin, /* size of combined linkage */ 75 2 uflags, /* various flags */ 76 3 dont_call_init_admin bit (1) unal, /* call overseer direct */ 77 3 ip_given bit (1) unal, /* ip_len gives length of initproc packed in initial_procedure */ 78 3 ss_given bit (1) unal, /* subsystem name is packed in initial_procedure */ 79 3 flagpad bit (33) unal, 80 2 ip_len fixed bin (17) unal, /* length of initproc name packed in initial_procedure */ 81 2 ss_len fixed bin (17) unal, /* length of subsystem name packed in initial_procedure */ 82 2 dollar_limit float bin, 83 2 dollar_charge float bin, /* total dollars spent this month */ 84 2 shift_limit (0: 7) float bin, 85 2 daton fixed bin (71), /* date user added to system */ 86 2 datof fixed bin (71), /* date user deleted */ 87 2 last_login_time fixed bin (71), /* time of last login */ 88 2 last_login_unit char (4), /* terminal id last used */ 89 2 last_login_type fixed bin (17) unal, /* terminal type */ 90 2 last_login_line_type fixed bin (17) unal, /* terminal line type */ 91 2 time_last_bump fixed bin (71), /* for bump-wait */ 92 2 last_update fixed bin (71), /* time of last transaction */ 93 2 logins fixed bin, /* number of logins */ 94 2 crashes fixed bin, /* sessions abnormally terminated */ 95 2 interactive (0: 7), /* interactive use, shifts 0-7 */ 96 3 charge float bin, /* total dollar charge this shift */ 97 3 xxx fixed bin, 98 3 cpu fixed bin (71), /* cpu usage in microseconds */ 99 3 core fixed bin (71), /* core demand in page-microseconds */ 100 3 connect fixed bin (71), /* total console time in microseconds */ 101 3 io_ops fixed bin (71), /* total i/o ops on terminal */ 102 2 absentee (4), /* absentee use, queues 1-4 */ 103 3 charge float bin, /* dollar charge this queue */ 104 3 jobs fixed bin, /* number of jobs submitted */ 105 3 cpu fixed bin (71), /* total cpu time in microseconds */ 106 3 memory fixed bin (71), /* total memory demand */ 107 2 iod (4), /* io daemon use, queues 1-4 */ 108 3 charge float bin, /* dollar charge this queue */ 109 3 pieces fixed bin, /* pieces of output requested */ 110 3 pad fixed bin (35), 111 3 pages fixed bin (35), /* number of pages output */ 112 3 lines fixed bin (71), /* total record count of output */ 113 2 devices (16) float bin, /* device charges */ 114 2 time_last_reset fixed bin (71), /* time PDT last updated */ 115 2 absolute_limit float bin, /* Limit, not reset monthly */ 116 2 absolute_spent float bin, /* Spending against this */ 117 2 absolute_cutoff fixed bin (71), /* Spending will be reset on this date */ 118 2 absolute_increm fixed bin, /* .. time increment code. 0 = don't reset */ 119 2 pad_was_authorization bit (72) aligned, 120 2 group char (8), /* group for this user (if at.igroup = "1"b) */ 121 2 warn_days fixed bin (17) unaligned, /* warn user if less than this many days to cutoff */ 122 2 warn_pct fixed bin (17) unaligned, /* warn user if less than this percent of funds left */ 123 2 warn_dollars float bin, /* warn user if less than this amount of funds left */ 124 2 n_foreground fixed bin (9) unsigned unaligned, /* number of foreground and background processes */ 125 2 n_background fixed bin (9) unsigned unaligned, /* that this user has. see limits just below */ 126 2 max_foreground fixed bin (9) unsigned unaligned, /* max simultaneous foreground and */ 127 2 max_background fixed bin (9) unsigned unaligned, /* background processes that this user can have */ 128 2 n_interactive fixed bin (9) unsigned unaligned, /* number of interactive processes that user has */ 129 2 n_disconnected fixed bin (9) unsigned unaligned, /* number of disconnected processes that user has */ 130 2 pdtupad1 fixed bin (18) unsigned unaligned, 131 2 user_warn_days fixed bin (17) unaligned, /* warn user if less than this many days to user cutoff */ 132 2 user_warn_pct fixed bin (17) unaligned, /* warn user if less than this percent of user funds left */ 133 2 user_warn_dollars float bin, /* warn user if less than this amount of user funds left */ 134 2 user_authorization (2) bit (72) aligned, /* range */ 135 2 pdtupad (5) fixed bin, 136 2 abs_foreground_cpu_limit fixed bin (17) unaligned, /* time limit (sec) on foreground absentee jobs */ 137 2 pdir_quota fixed bin (17) unaligned, /* quota to put on user's pdir (0 => use default) */ 138 2 chain fixed bin; /* free chain */ 139 140 /* END INCLUDE FILE ... pdt.incl.pl1 */