1 /* BEGIN INCLUDE FILE ... answer_table.incl.pl1 */
  2 
  3 /* *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */
  4 /*                                                                           */
  5 /* The answer table has one entry per "login instance" whether completed or  */
  6 /* not.  It is connected to the Channel Definition Table by the pointer      */
  7 /* "channel".  The header is used mostly by dialup_.                         */
  8 /*                                                                           */
  9 /* Programs which use this file must also include user_table_header.incl.pl1 */
 10 /*                                                                           */
 11 /* *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */
 12 
 13 /****^  HISTORY COMMENTS:
 14   1) change(81-09-10,Kittlitz), approve(), audit(), install():
 15      Replace anstbl.incl.pl1.
 16   2) change(85-01-15,Swenson), approve(), audit(), install():
 17      Add anstbl.session_uid_counter.
 18   3) change(85-08-21,Coren), approve(), audit(), install():
 19      Add anstbl.message_update_time and named constants for values of
 20      anstbl.session, and to make all padding explicit.
 21   4) change(85-08-23,Coren), approve(), audit(), install():
 22      Change "entry" to a placeholder so as not to require
 23      user_table_entry.incl.pl1.
 24   5) change(86-06-29,Swenson), approve(87-07-13,MCR7741),
 25      audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056):
 26      Added the flag login_server_present which indicates whether a login
 27      server request has been received.  This is used to determine whether
 28      dial_ctl_ should call uc_cleanup_network_dials_ (and thus
 29      hpriv_connection_list_, which only exists with the MNA RPQ software).
 30   6) change(87-04-14,GDixon), approve(87-07-13,MCR7741),
 31      audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056):
 32       A) Moved constants for ute.pw_flags.mask_ctl into
 33          user_table_entry.incl.pl1.
 34       B) Added common table header to all user tables.
 35                                                    END HISTORY COMMENTS */
 36 
 37 /* *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */
 38 /*                                                                           */
 39 /* The anstbl structure below is divided into sections.  Each section begins */
 40 /* with a comment describing the elements in the section.  Elements are      */
 41 /* placed within a section, based upon their function or the programs that   */
 42 /* use them.  Each section begins on a double word and is an even number of  */
 43 /* words long.                                                               */
 44 /*                                                                           */
 45 /* *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */
 46 
 47 ^L
 48 
 49 /* format: style4 */
 50 
 51 dcl  ANSTBL_version_4 static options (constant) init (4);   /* version of this declaration */
 52 
 53 dcl  ansp ptr automatic init (null);
 54 
 55 dcl  1 anstbl based (ansp) aligned,                         /* Structure of answer table */
 56        2 header like ut_header,                             /* Header common to all user tables. */
 57 
 58 /* Counter elements. */
 59        2 nlin fixed bin,                                    /* number of active lines */
 60        2 mxlin fixed bin,                                   /* maximum number of active lines */
 61        2 n_users fixed bin,                                 /* number of logged-in users */
 62        2 max_users fixed bin,                               /* maximum number of users allowed */
 63        2 n_units fixed bin,                                 /* number of logged in units */
 64        2 max_units fixed bin,                               /* maximum number of units */
 65        2 n_sessions fixed bin,                              /* number of Multics sessions */
 66        2 n_pad fixed bin,
 67 
 68 /* Name elements. */
 69        2 sysdir char (64) unal,                             /* name of main system control directory */
 70        2 as_tty char (8) unal,                              /* name of main answering service device. */
 71 
 72 /* Login elements. */
 73        2 login_word char (8) unal,                          /* login word if special_session=1  */
 74        2 session char (8) unal,                             /* session indicator */
 75        2 special_message char (128) unal,                   /* message to be printed for special session */
 76        2 message_update_time fixed bin (71),                /* time at which special_message was last updated */
 77        2 message_lng fixed bin,                             /* length of special message */
 78        2 login_pad fixed bin,
 79 
 80 /* Table update elements. */
 81        2 lock_count fixed bin,                              /* global lock for all system control tables */
 82        2 update_pending bit (1) aligned,                    /* flag indicating that update is required */
 83        2 update_channel fixed binary (71),                  /* event channel of update procedure */
 84        2 acct_update_chn fixed bin (71) aligned,            /* Timer IPC channel */
 85        2 acct_last_update_time fixed bin (71) aligned,      /* Time of last accounting update */
 86        2 acct_alarm_fail fixed bin,                         /* non-zero if alarm has failed */
 87        2 update_pad fixed bin,
 88 
 89 /* dialup_ data values. */
 90        2 current_time fixed bin (71),                       /* Time of last transaction */
 91        2 processid_index fixed bin (18),                    /* unique index for process id generation */
 92        2 session_uid_counter fixed bin (35),                /* current session_uid */
 93 
 94 /* load_ctl_ elements. */
 95        2 shift fixed bin,                                   /* Shift, set by act_ctl_ */
 96        2 auto_maxu fixed bin,                               /* 0 = manual, 1 = config, 2 = load-level */
 97        2 extra_units fixed bin,                             /* Total daemon and abs units. */
 98                                                             /* load_ctl_ load leveling desired response range: */
 99        2 response_high fixed bin,                           /* bad if user response time slower than this */
100        2 response_low fixed bin,                            /* bad if user response time faster than this */
101        2 load_ctl_pad fixed bin,
102 
103 /* Login server request server data. */
104        2 ls_request_server_event_channel fixed bin (71),    /* channel for login server requests */
105        2 ls_request_server_process_id bit (36) aligned,     /* process serving login server requests */
106        2 login_server_present bit (1) aligned,              /* On IFF a login server request has been processed */
107 
108        2 entry_pad (28) fixed bin,                          /* pad to 128 words */
109        2 entry (0 refer (anstbl.current_size)),             /* user entries */
110          3 contents (UTE_SIZE) fixed bin;
111 
112 /* constants */
113 
114 /* values for anstbl.session */
115 
116 dcl  (AT_NORMAL init ("normal  "),
117      AT_SPECIAL init ("special "),
118      AT_SHUTDOWN init ("shutdown")) char (8) internal static options (constant);
119 
120 dcl  UTE_SIZE fixed bin internal static initial (300);
121 
122 /* END INCLUDE FILE ... answer_table.incl.pl1 */