1 /* Begin include file script_driver_info_.incl.pl1 -- BIM 12/82 */
 2 /* format: style3 */
 3 
 4 /* basic data structure passed to the script processor */
 5 
 6 
 7 declare   script_driver_info_ptr_
 8                               pointer unaligned external init (null ());
 9 declare   sdi_ptr             pointer init (script_driver_info_ptr_);
10 
11 declare   1 script_info       aligned based (sdi_ptr),
12             2 version         char (8) aligned,
13             2 log_iocb        pointer,
14             2 control_dir     char (168) unaligned,         /* things go here */
15             2 session_start   fixed bin (71),
16             2 buffer_ts_ptr   pointer,
17             2 abort_label     label,                        /* come here when done */
18             2 n_streams       fixed bin,
19             2 per_stream      aligned dimension (sdi_n_streams refer (script_info.n_streams)) like script_info_ps;
20 
21 declare   sdi_ps_ptr          pointer;
22 declare   1 script_info_ps    aligned based (sdi_ps_ptr),
23             2 header          aligned,                      /* to avoid displaying buffer in probe */
24               3 sentinel      char (4) aligned,
25               3 flags         aligned,
26                 4 dead        bit (1) unaligned,
27                 4 waiting     bit (1) unaligned,
28                 4 awaiting_input
29                               bit (1) unaligned,            /* will get input, due to read_status */
30                 4 time_out    bit (1) unaligned,
31               3 stream_index  fixed bin,
32               3 script_iocb   pointer,                      /* vfile full of records */
33               3 stream_iocb   pointer,                      /* destination */
34               3 stream_tty_iocb
35                               pointer,
36               3 stream_event  fixed bin (71),
37               3 wait_until    fixed bin (71),
38             2 record_buffer   (500) bit (36) aligned;
39 
40 declare   SCRIPT_PS_SENTINEL  char (4) aligned init ("scps") int static options (constant);
41 declare   sdi_n_streams       fixed bin;
42 declare   sys_info$max_seg_size
43                               fixed bin (35) ext static;
44 
45 declare   buffer_ts           char (sys_info$max_seg_size * 4) based (script_info.buffer_ts_ptr);
46 
47 declare   sri_ptr             pointer;
48 declare   1 script_record     aligned based (sri_ptr),
49             2 type            aligned,
50               3 delay         bit (1) unaligned,            /* wait for some time */
51               3 absolute      bit (1) unaligned,            /* relative to session start, else see below */
52               3 send_data     bit (1) unaligned,            /* there is a string to send here */
53               3 await_data    bit (1) unaligned,            /* wait for input before counting time */
54               3 specific_input
55                               bit (1) unaligned,            /* scan for string in input, not just any wakeup -- wont work with breakall */
56               3 enter_breakall
57                               bit (1) unaligned,            /* before sending */
58               3 exit_breakall bit (1) unaligned,            /* ditto */
59               3 interrupt     bit (1) unaligned,
60               3 time_out      bit (1) unaligned,            /* if specific_input is on, this is how long to wait before aborting */
61             2 time            fixed bin (71),               /* microseconds, as usual */
62             2 send_data_length
63                               fixed bin (21),
64             2 await_data_length
65                               fixed bin (21),
66             2 send_data       char (sr_sd_len refer (script_record.send_data_length)) unaligned,
67             2 await_data      char (sr_ad_len refer (script_record.await_data_length)) unaligned;
68 
69 declare   sr_sd_len           fixed bin;
70 declare   sr_ad_len           fixed bin;
71 
72 /**** This structure lives in the bctl segment */
73 declare   sdi_init_ptr        pointer;
74 declare   1 script_init       aligned based (sdi_init_ptr),
75             2 author          aligned like author_dcl,
76             2 version         char (8) aligned,
77             2 n_streams       fixed bin,
78             2 control_dir     char (168) unaligned,
79             2 log_atd         char (256) unaligned,         /* "" for no tracing */
80             2 per_stream      aligned dim (sdi_n_streams refer (script_init.n_streams)),
81               3 name          char (32) unaligned,          /* for messages */
82               3 attach_description
83                               char (256) unaligned,
84               3 script_path   char (168) unaligned;
85 
86 declare   SCRIPT_INIT_V_1     char (8) init ("scri001") int static options (constant);
87 
88 %include author_dcl;
89 
90 /* End include file script_driver_info_.incl.pl1 */