1 /* BEGIN INCLUDE FILE ... hasp_load_data.incl.pl1 */
 2 /* Created:  October 1979 by G. Palter */
 3 /* Modified: 16 April 1981 by G. Palter to add rts_mode */
 4 
 5 /* Data structure for "load_mpx" highly-privileged control order */
 6 
 7 dcl 1 hasp_load_data aligned based (hld_ptr),
 8     2 event_channel fixed binary (71),                      /* event channel to signal loading, crashes, etc. */
 9     2 configuration_data like hasp_configuration_data,      /* data which controls multiplexer (see below) */
10     2 n_subchannels fixed binary,                           /* # of configured sub-channels */
11     2 subchannels (hasp_load_data_n_subchannels refer (hasp_load_data.n_subchannels)),
12       3 devx fixed binary,                                  /* device index of sub-channel for validating the load */
13       3 device_type fixed binary,                           /* type of device -- console/printer/reader/punch */
14       3 device_number fixed binary;                         /* if not console, the device's number (EG: printer 3) */
15 
16 dcl  hasp_load_data_n_subchannels fixed binary;
17 dcl  hld_ptr pointer;
18 
19 
20 /* Event messages for a HASP multiplexer bootload channel */
21 
22 dcl (HASP_MPX_UP    initial (1),                            /* multiplexer has come up */
23      HASP_MPX_DOWN  initial (2),                            /* multiplexer has gone down */
24      HASP_MPX_MASKED initial (3))                           /* multiplexer channel was masked */
25           fixed binary (71) static options (constant);
26 
27 
28 /* Multiplexer configuration data */
29 
30 dcl 1 hasp_configuration_data aligned based,
31     2 type fixed binary,                                    /* type of multiplexer -- workstation/host */
32     2 max_block_size fixed binary,                          /* maximum block size for transmission over the line */
33     2 max_device_input_records fixed binary,                /* maximum # of input records to be held for a device */
34     2 max_device_output_records fixed binary,               /* maximum # of output records to be held */
35     2 ic_timeout fixed binary,                              /* # of seconds to wait for initial connection */
36     2 receive_timeout fixed binary,                         /* # of seconds to wait before sending a NAK */
37     2 transmit_timeout fixed binary,                        /* # of seconds to wait before sending ACK0 (workstation) */
38     2 max_naks fixed binary,                                /* # of NAKs received/transmitted before line considered down */
39     2 flags,
40       3 suspend_all_mode bit (1) unaligned,                 /* ON => multiplexer should disallow all input whenever a
41                                                                      single input device goes not ready */
42       3 signon_mode bit (1) unaligned,                      /* ON => multiplexer must send/receive a SIGNON record before
43                                                                      allowing data transfer on other devices */
44       3 multileave_mode bit (1) unaligned,                  /* ON => multiplexer may include records for several devices
45                                                                      in a single block */
46       3 trace_mode bit (1) unaligned,                       /* ON => multiplexer should record input and output blocks via
47                                                                      MCS tracing mechansim */
48       3 rts_mode bit (1) unaligned,                         /* ON => multiplexer must request permission from remote
49                                                                      host/workstation before transmitting new files */
50       3 pad bit (31) unaligned;
51 
52 dcl (HASP_WORKSTATION         initial (0),                  /* multiplexer is a workstation */
53      HASP_HOST                initial (1))                  /* multiplexer is a host */
54           fixed binary static options (constant);
55 
56 %include hasp_device_data;
57 
58 dcl (HASP_MIN_MAX_BLOCK_SIZE  initial (400),                /* minimum block size allowed as maximum block size */
59      HASP_MAX_MAX_BLOCK_SIZE  initial (1017))
60           fixed binary static options (constant);
61 
62 
63 /* Default values for HASP configuration */
64 
65 dcl 1 DEFAULT_HASP_CONFIGURATION_DATA aligned static options (constant),
66     2 type fixed binary initial (1),                        /* host */
67     2 max_block_size fixed binary initial (400),
68     2 max_device_input_records fixed binary initial (6),
69     2 max_device_output_records fixed binary initial (6),
70     2 ic_timeout fixed binary initial (30),
71     2 receive_timeout fixed binary initial (3),
72     2 transmit_timeout fixed binary initial (2),
73     2 max_naks fixed binary initial (10),
74     2 flags,
75       3 suspend_all_mode bit (1) unaligned initial ("0"b),
76       3 signon_mode bit (1) unaligned initial ("0"b),
77       3 multileave_mode bit (1) unaligned initial ("1"b),
78       3 trace_mode bit (1) unaligned initial ("0"b),
79       3 rts_mode bit (1) unaligned initial ("0"b),
80       3 pad bit (31) unaligned initial (""b);
81 
82 /* END INCLUDE FILE ... hasp_load_data.incl.pl1 */