1 /* BEGIN INCLUDE FILE ... pit.incl.pl1 */
  2 /* Requires user_attributes.incl.pl1 */
  3 /* Declaration of the Process Inititalization Table  (PIT) */
  4 
  5 /****^  HISTORY COMMENTS:
  6   1) change(86-03-01,Gilcrease), approve(86-03-27,MCR7370),
  7      audit(86-06-25,Lippard), install(86-06-30,MR12.0-1082):
  8      First comment for hcom. Modified 750430 by PG to add terminal_access_class
  9      Modified 6/20/77 by J. Stern to add term_type_name Modified Feb 1980 by M.
 10      B. Armstrong to implement multiple rate structures. (UNCA) Modified by R.
 11      McDonald  May 1980 to include page charges, replaces cpu in iod (UNCA)
 12      Modified by Benson I. Margulies November 1981 do declare pit_$, pit_ptr,
 13      and unaligned character strings. Modified by E. N. Kittlitz January 1982
 14      for user_attributes.incl.pl1 changes Modified by E. N. Kittlitz October
 15      1982 for request_id. Modified by BIM 1984-09-12 for auth range. The max
 16      copies the pds, but this is the only home of the min.
 17   2) change(86-03-01,Gilcrease), approve(86-03-27,MCR7370),
 18      audit(86-06-25,Lippard), install(86-06-30,MR12.0-1082):
 19                Add the truncate_absout and restarted bits for the
 20                -truncate .absout SCP 6297, version 3.
 21                                                    END HISTORY COMMENTS */
 22 
 23 
 24 /* format: style4 */
 25 declare  pit_$ bit (36) aligned external static;
 26 declare  pit_ptr pointer;
 27 
 28 dcl  1 pit aligned based (pit_ptr),
 29        2 version fixed bin,                                 /* indicates which version of the pit */
 30        2 process_type fixed bin,                            /* initializer, interactive, or absentee process */
 31        2 login_responder char (64) unal,                    /* path name of login responder */
 32 
 33 /*  All of these are going to be word aligned whether or not they are declared aligned,
 34    and unaligning them cleans up code in many places */
 35 
 36        2 homedir char (64) unal,                            /* path name of home directory */
 37        2 project char (28) unal,                            /* name of this process' project affiliation */
 38        2 account char (32) unal,                            /* name of account to which this process is charged */
 39        2 n_processes fixed bin,                             /* number of previous processes for this session */
 40        2 login_time fixed bin (71),                         /* clock time at login */
 41        2 proc_creation_time fixed bin (71),                 /* clock time at creation of this process */
 42        2 old_proc_cpu fixed bin (71),                       /* cpu time used by previous processes in this session */
 43        2 user_weight fixed bin,                             /* weight of this process */
 44        2 anonymous fixed bin,                               /* 1 if anonymous user */
 45        2 login_name char (28) unal,                         /* name of user given at login */
 46        2 logout_pid bit (36),                               /* process id of answering service */
 47        2 logout_channel fixed bin (71),                     /* channel for signalling logouts to answering service */
 48        2 group char (8) unal,                               /* party group */
 49        2 ringpad (2) fixed bin,                             /* where initring & highring were */
 50        2 at like user_attributes aligned,                   /* include user_attributes.incl.pl1 */
 51        2 whox fixed bin,                                    /* this process's index in whotab (or 0) */
 52        2 outer_module char (32) unaligned,
 53        2 pad (2) fixed bin,
 54        2 dont_call_init_admin bit (1) aligned,              /* Call process_overseer_ directly */
 55        2 terminal_access_class bit (72) aligned,            /* access class of user's terminal */
 56        2 dollar_charge float bin,                           /* Month-to-date expenditure */
 57        2 dollar_limit float bin,                            /* Limit stop on usage */
 58        2 shift_limit (0:7) float bin,                       /* Stops on each shift's usage */
 59        2 logins fixed bin,                                  /* Number of logins this month */
 60        2 crashes fixed bin,                                 /* Number of sessions crashed */
 61        2 interactive (0:7),                                 /* interactive usage by shift */
 62          3 charge float bin,                                /* Total charge */
 63          3 xxx fixed bin,
 64          3 cpu fixed bin (71),                              /* CPU usage in microseconds */
 65          3 core fixed bin (71),                             /* Memory usage in page-microseconds */
 66          3 connect fixed bin (71),                          /* Connect time in microseconds */
 67          3 io_ops fixed bin (71),                           /* Terminal I/O operations */
 68        2 absentee (4),                                      /* Absentee usage by queue */
 69          3 charge float bin,                                /* Total absentee charge */
 70          3 jobs fixed bin,                                  /* Number of jobs */
 71          3 cpu fixed bin (71),                              /* CPU usage in microseconds */
 72          3 memory fixed bin (71),                           /* Memory usage in mu */
 73        2 iod (4),                                           /* IO Daemon usage, by queue */
 74          3 charge float bin,                                /* Total charge */
 75          3 pieces fixed bin,                                /* Number of requests */
 76          3 pad fixed bin (35),
 77          3 pages fixed bin (35),                            /* number of pages output */
 78          3 lines fixed bin (71),                            /* Record count */
 79        2 devices (16) float bin,                            /* Usage of attached devices */
 80        2 time_last_reset fixed bin (71),                    /* time last updated the PDT */
 81        2 absolute_limit float bin,                          /* Limit, not reset monthly */
 82        2 absolute_spent float bin,                          /* Spending against this */
 83        2 absolute_cutoff fixed bin (71),                    /* Spending will be reset on this date */
 84        2 absolute_increm fixed bin,                         /* .. time increment code. 0 = don't reset */
 85        2 rs_number fixed bin (9) unsigned unaligned,        /* rate structure number (0= default rates) */
 86        2 pad1a fixed bin (27) unsigned unaligned,           /* remainder of word */
 87        2 request_id fixed bin (71),                         /* absentee request id */
 88        2 authorization_range (2) bit (72) aligned,
 89        2 pad1 (73) fixed bin,                               /* extra space */
 90        2 charge_type fixed bin,                             /* device charge type of console */
 91        2 term_type_name char (32) unal,                     /* terminal type name */
 92        2 line_type fixed bin,                               /* line type of user's console */
 93        2 tty_type fixed bin,                                /* old terminal type (obsolete, kept for compatibility) */
 94        2 service_type fixed bin,                            /* type of service console is performing */
 95        2 tty_answerback char (4) unaligned,                 /* original answerback of user's console */
 96        2 old_tty char (6),                                  /* (obsolete) attachment name of user's console */
 97        2 standby fixed bin,                                 /* 1 if standby user */
 98        2 login_line char (120) unal,                        /* line typed at login */
 99        2 cant_bump_until fixed bin (71),                    /* cannot be preempted until this time (0 for abs) */
100        2 input_seg char (168) unal,                         /* path name of absentee input file */
101        2 output_seg char (168) unal,                        /* path name of absentee output file */
102        2 max_cpu_time fixed bin,                            /* max number of seconds allowed to this absentee proc */
103        2 abs_queue fixed bin,                               /* absentee queue if absentee, else -1 */
104        2 abs_attributes,
105          3 restartable bit (1) unaligned,                   /* 1 if absentee job may be restarted if interrupted. */
106          3 deferred bit (1) unaligned,                      /* 1 if absentee job was specified as deferred. */
107          3 proxy bit (1) unaligned,                         /* 1 if submitted for someone else. */
108          3 set_bit_cnt bit (1) unaligned,
109          3 truncate_absout bit (1) unal,                    /* 1 if -truncate .absout */
110          3 restarted bit (1) unaligned,                     /* 1 if the job has been restarted */
111          3 pad bit (30) unaligned,
112        2 arg_info_ptr fixed bin (18) unsigned,              /* Relative pointer to information on absentee args. */
113        2 old_proc_core fixed bin (71),                      /* Memory usage by previous processes in this session */
114        2 old_proc_io_ops fixed bin (71),                    /* I/O operations from previous processes in this session */
115        2 tty char (32) unaligned,                           /* Attachment name of users channel */
116        2 start_arg_info fixed bin;                          /* Put absentee args information here. */
117 
118 
119 /* Structure to contain information on absentee arguments */
120 dcl  1 arg_info aligned based,
121        2 arg_count fixed bin,                               /* Number of arguments for replacement in absentee segment */
122        2 ln_args fixed bin,                                 /* Length of string containing arguments. */
123        2 arg_lengths (25 refer (arg_info.arg_count)) fixed bin, /* Array of argument lengths */
124        2 args char (128 refer (arg_info.ln_args)) unal;
125                                                             /* Args used for replacement in absentee control segment. */
126 
127 declare PIT_version_3 fixed bin int static options (constant) init (3);
128 
129 /* END INCLUDE FILE ... pitmsg.incl.pl1 */