1 /* BEGIN INCLUDE FILE...ls_validate_info.incl.pl1 */
 2 
 3 /****^  HISTORY COMMENTS:
 4   1) change(85-08-01,Coren), approve(87-07-14,MCR7679), audit(87-03-18,GDixon),
 5      install(87-08-04,MR12.1-1056):
 6      Initial coding.
 7   2) change(87-03-30,GDixon), approve(87-07-14,MCR7679),
 8      audit(87-07-14,Parisek), install(87-08-04,MR12.1-1056):
 9       A) Add banner_last_checked element.
10       B) Add wakeup loop counter elements.
11       C) Add several new state values.
12   3) change(87-04-23,GDixon), approve(87-07-14,MCR7679),
13      audit(87-07-14,Parisek), install(87-08-04,MR12.1-1056):
14      Correct doubleword alignment of structure elements after change to
15      user_connection_info.
16   4) change(87-05-07,GDixon), approve(87-07-14,MCR7679),
17      audit(87-07-14,Parisek), install(87-08-04,MR12.1-1056):
18      Correct login_timeout_check_required to correspond to new state field
19      values.
20   5) change(87-05-18,GDixon), approve(87-07-14,MCR7679),
21      audit(87-07-14,Parisek), install(87-08-04,MR12.1-1056):
22      Add minimum_ring element.
23                                                    END HISTORY COMMENTS */
24 
25 /* This include file defines the structure used internally by validate_user_
26    to keep track of various things needed by its several entrypoints.
27    login_server_messages.incl.pl1 must be included also, to define user_connection_info.
28 */
29 
30 dcl  ls_validate_info_ptr pointer;
31 
32 dcl 1 ls_validate_info aligned based (ls_validate_info_ptr),
33     2 version char (8),                                     /* "lsviNNNN" */
34     2 sci_ptr pointer,
35     2 cp_info_ptr pointer,                                  /* -> ls_cp_info */
36     2 connection_desc_ptr pointer,                          /* -> ls_connection_desc */
37     2 options_ptr pointer,                                  /* -> ls_validate_options */
38     2 process_info_ptr pointer,                             /* -> ls_process_info */
39     2 process_request_ptr pointer,                          /* pointer to "process_request" structure if one has been allocated */
40     2 server_handle bit (72),                               /* handle used to read responses */
41     2 initializer_handle bit (72),                          /* handle used in requests to identify connection */
42     2 reply_channel fixed bin (71),                         /* event channel over which Initializer responds to as_requests */
43     2 banner_checked_time fixed bin(71),                    /* time when greeting banner last checked for changes */
44     2 wakeup_loop,                                          /* wakeup loop counter information */
45       3 real_execute_line entry (ptr, ptr, fixed bin(21), fixed bin(35)),
46                                                             /* real target of ssu_$execute_line */
47       3 recent_wakeup_time fixed bin(71),                   /* time of last wakeup. */
48       3 recent_wakeup_count fixed bin,                      /* number of wakeups received in the recent past. */
49     2 state fixed bin,                                      /* indicates what request or response expected next */
50     2 last_request fixed bin,                               /* type of request user most recently entered */
51     2 expected_response fixed bin,                          /* response expected from Initializer */
52     2 n_disconnected_processes fixed bin,                   /* number of disconnected processes */
53     2 process_number fixed bin,                             /* of relevant disconnected process */
54     2 code fixed bin (35),                                  /* used to indicate success or failure to top-level of subsystem */
55     2 minimum_ring fixed bin,                               /* minimum ring in which connection works */
56     2 user_connection_info like user_connection_info,       /* defined in login_server_messages.incl.pl1 */
57     2 person_id char (22),
58     2 project_id char (9),
59     2 dial_id char (22),
60     2 validation_failures fixed bin,                        /* number of times validation has been rejected */
61     2 previous_login_info,                                  /* for printing login message */
62       3 time fixed bin (71),
63       3 terminal_type char (32),
64       3 terminal_id char (4),
65     2 flags,
66       3 connect_loop bit (1) unaligned,                     /* "1"b => in connect loop (as opposed to initial login sequence */
67       3 brief bit (1) unaligned,                            /* "1"b => -brief specified on original request line */
68       3 mask_needed bit (1) unaligned,                      /* "1"b => -no_printer_off */
69       3 others_to_be_supplied bit (33) unaligned;
70 
71 
72 /* Possible values for ls_validate_info.state.  When adding states, you
73    must also change login_time_check_required variable below. */
74 
75 dcl (DISCONNECTED initial (0),                              /* connection broken for various reasons. */
76 
77      JUST_CONNECTED initial (1),                            /* initial state, connection just made. */
78      AWAITING_INITIAL_REQUEST initial (2),                  /* start of login sequence */
79      AWAITING_LOGIN_ARGS initial (3),                       /* read login args when login<CR> typed. */
80      AWAITING_PASSWORD initial (4),                         /* read for password outstanding */
81      AWAITING_CONNECT_REQUEST initial (5),                  /* in connect loop */
82      AWAITING_INITIALIZER_RESPONSE initial (6),             /* sent request to initializer */
83      USER_VALIDATED initial(7))                             /* user connection has been validated. */
84           fixed bin internal static options (constant);
85 
86 dcl  login_timeout_check_required (0:7) bit (1) aligned int static options(constant) initial(
87 /***     0     1     2     3     4     5     6     7     */
88         "0"b, "0"b, "1"b, "1"b, "1"b, "0"b, "0"b, "0"b);
89 
90 /* END INCLUDE FILE...ls_validate_info.incl.pl1 */