1 /* Begin include file . . . . . poll_mpc_data.incl.pl1 */
  2 
  3 /* Describes format of syserr binary data logged with mpc polling */
  4 /* Prepared April 1980 by Larry Johnson */
  5 /* Modified November 1980 by Rich Coppola to add MPC error registers */
  6 /* Modified May 1982 by Rich Coppola to add info about EURC */
  7 /* Modified June 1983 by Paul Farley to add dev_name to dev_stat structure.
  8    Modified June 1984 by Paul Farley to add MSP800(DAU) support.
  9    Also changed structures to version_2, which separates unique data into
 10    individual definitions.
 11 */
 12 
 13 dcl  poll_mpc_datap ptr;
 14 dcl  poll_mpc_specp ptr;                                    /* addr(poll_mpc_data.specific) */
 15 dcl  poll_mpc_data_version_2 fixed bin int static options (constant) init (2);
 16 dcl  poll_mpc_data_n_devices fixed bin;
 17 dcl  poll_mpc_data_n_stats fixed bin;
 18 
 19 dcl 1 poll_mpc_data aligned based (poll_mpc_datap),
 20     2 version fixed bin,
 21     2 name char (4),                                        /* Name of MPC */
 22     2 model fixed bin,                                      /* Model number */
 23     2 n_words fixed bin,                                    /* used to get size */
 24     2 specific                                              /* Unique data, depending on */
 25     (0 refer (poll_mpc_data.n_words)) fixed bin (35);       /* MPC model number */
 26 
 27 dcl 1 poll_mtp_data aligned based (poll_mpc_specp),
 28     2 firmware_rev char (2) unal,                           /* Firmware revision */
 29     2 config_sw bit (16) unal,                              /* Configuration switches */
 30     2 pad bit (2) unal,
 31     2 polled_stat_counters (12) fixed bin,                  /* LA-PSI  error counters */
 32     2 polled_error_data,
 33       3 pad1 bit (8),
 34       3 interrupt_counter fixed bin (8) uns,                /* the error interrupt counter */
 35       3 register bit (16),                                  /* the MPC's error data register */
 36       3 AUXAR bit (16),                                     /* the auxilliary mpc addr at time of last error */
 37       3 INTAR bit (16),                                     /* the addr at which the error occurred */
 38     2 n_devices fixed bin,                                  /* Number of devices with statistics */
 39     2 n_stats fixed bin,                                    /* Number of non-zero statistics actually logged */
 40     2 dev_info (poll_mpc_data_n_devices refer (poll_mtp_data.n_devices)) like dev_info,
 41     2 stat_info (poll_mpc_data_n_stats refer (poll_mtp_data.n_stats)) like stat_info;
 42 
 43 dcl 1 poll_msp_data aligned like poll_mtp_data based (poll_mpc_specp);
 44 
 45 dcl 1 poll_urp_data aligned based (poll_mpc_specp),
 46     2 interrupt_counter fixed bin (8) uns,                  /* the error interrupt counter */
 47     2 register bit (16),                                    /* the MPC's error data register */
 48     2 INTAR bit (16);                                       /* thar addr at which the error occurred */
 49 
 50 dcl 1 poll_eurc_data aligned based (poll_mpc_specp),
 51     2 uptime_clock fixed bin (32) uns,
 52     2 prom_revision unal,
 53       3 core bit (8),
 54       3 iom bit (8),
 55       3 special_controller bit (8),
 56       3 link_edit bit (8),
 57       3 pdsi_application bit (8),
 58       3 self_test bit (8),
 59       3 dai_application bit (8),
 60     2 n_devices fixed bin,                                  /* Number of devices with statistics */
 61     2 n_stats fixed bin,                                    /* Number of non-zero statistics actually logged */
 62     2 dev_info (poll_mpc_data_n_devices refer (poll_eurc_data.n_devices)) like dev_info,
 63     2 stat_info (poll_mpc_data_n_stats refer (poll_eurc_data.n_stats)) like stat_info;
 64 
 65 dcl 1 poll_dau_data aligned based (poll_mpc_specp),
 66     2 fw_rev char (2) unal,                                 /* Firmware revision */
 67     2 hw_rev bit (8) unal,                                  /* DAU Revision */
 68     2 config unal,
 69       3 ci_0_online bit (1),
 70       3 ci_1_online bit (1),
 71       3 psi0_2trip bit (1),                                 /* 0= 4trip, 1= 2trip */
 72       3 psi1_2trip bit (1),
 73       3 psi2_2trip bit (1),
 74       3 psi3_2trip bit (1),
 75     2 pad bit (4) unal,
 76     2 err_interrupts fixed bin (12) uns unal,
 77     2 psi_cntr (20) fixed bin (8) unal,
 78     2 ext_size fixed bin,                                   /* Size of DAU extention info, */
 79                                                             /* 0=none, 72=err_int>0 */
 80     2 n_devices fixed bin,                                  /* Number of devices with statistics */
 81     2 n_stats fixed bin,                                    /* Number of non-zero statistics actually logged */
 82     2 err_info (0 refer (poll_dau_data.ext_size)) bit (8) unal,
 83     2 dev_info (poll_mpc_data_n_devices refer (poll_dau_data.n_devices)) like dev_info,
 84     2 stat_info (poll_mpc_data_n_stats refer (poll_dau_data.n_stats)) like stat_info;
 85 
 86 dcl  dev_info_ptr ptr;
 87 
 88 dcl 1 dev_info based (dev_info_ptr),
 89     2 subsystem char (1) unal,                              /* X from tapX */
 90     2 driveno fixed bin (6) uns unal,                       /* Drive number */
 91     2 opi bit (1) unal,                                     /* Powered on Bit */
 92     2 ca fixed bin (2) uns unal,                            /* CA or TCA number */
 93     2 port fixed bin (4) uns unal,                          /* Port number */
 94     2 dev_model char (6) unal,                              /* Model number */
 95     2 dev_name char (7) unal;                               /* Name of the dev */
 96 
 97 dcl  stat_info_ptr ptr;
 98 
 99 dcl 1 stat_info based (stat_info_ptr),
100     2 dev_index fixed bin (9) uns unal,                     /* Index in dev_info, above */
101     2 stat_index fixed bin (9) uns unal,                    /* Which statistic for that device (1 to 16) */
102     2 pad bit (2) unal,
103     2 value fixed bin (16) uns unal;                        /* Actual value of that stat */
104 
105 
106 /* Start of MPC Summary Declarations */
107 
108 dcl  mpc_data_summaryp ptr;
109 dcl  mpc_data_specp ptr;                                    /* addr(mpc_data_summary.specific) */
110 dcl  mpc_data_summary_version_2 fixed bin int static options (constant) init (2);
111 dcl  mpc_summary_n_devices fixed bin;
112 
113 dcl 1 mpc_data_summary aligned based (mpc_data_summaryp),
114     2 version fixed bin,
115     2 name char (4),                                        /* Name of MPC */
116     2 model fixed bin,
117     2 firmware_rev char (2),                                /* Firmware revision */
118 
119 /* *old* MSP, MTP and URP specific data */
120 
121     2 config_sw bit (16),                                   /* Configuration switches */
122     2 polled_stat_counters (12) fixed bin,                  /* LA-PSI  error counters */
123     2 interrupt_counter fixed bin (35),                     /* the error interrupt counter */
124     2 register bit (16),                                    /* the MPC's error data register */
125     2 AUXAR bit (16),                                       /* the auxilliary mpc addr at time of last error */
126     2 INTAR bit (16),                                       /* thar addr at which the error occurred */
127 
128 /* EURC Specific data */
129 
130     2 eurc_specifics,
131       3 uptime_clock fixed bin (32) uns,
132       3 prom_revision,
133         4 core bit (8),
134         4 iom bit (8),
135         4 special_controller bit (8),
136         4 link_edit bit (8),
137         4 pdsi_application bit (8),
138         4 self_test bit (8),
139         4 dai_application bit (8),
140 
141 /* DAU specific data */
142 
143     2 hw_rev bit (8) unal,                                  /* DAU Revision */
144     2 config unal,
145       3 ci_0_online bit (1),
146       3 ci_1_online bit (1),
147       3 psi0_2trip bit (1),                                 /* 0= 4trip, 1= 2trip */
148       3 psi1_2trip bit (1),
149       3 psi2_2trip bit (1),
150       3 psi3_2trip bit (1),
151     2 err_interrupts fixed bin (35),
152     2 err_info (72) bit (8) unal,
153     2 psi_cntr (20) fixed bin (35),
154 
155 /* Device statistical data */
156 
157     2 n_devices fixed bin,                                  /* Number of devices with statistics */
158     2 dev_stat (mpc_summary_n_devices refer (mpc_data_summary.n_devices)) like dev_stat;
159 
160 dcl  dev_stat_ptr ptr;
161 
162 dcl 1 dev_stat based (dev_stat_ptr),
163     2 subsystem char (1) unal,                              /* X from tapX */
164     2 driveno fixed bin (6) uns unal,                       /* Drive number */
165     2 opi bit (1) unal,                                     /* Powered on Bit */
166     2 ca fixed bin (2) uns unal,                            /* CA or TCA number */
167     2 port fixed bin (4) uns unal,                          /* Port number */
168     2 pad bit (5) unal,
169     2 dev_model char (6) unal,                              /* Model number */
170     2 prev_driveno fixed bin (6) uns unal,
171     2 pad1 bit (3) unal,
172     2 dev_name char (6) unal,                               /* Name of the dev */
173     2 value (16) fixed bin (35);                            /* Actual value of that stat */
174 
175 dcl  dev_sum_ptr ptr;
176 
177 dcl 1 dev_sum like dev_stat based (dev_sum_ptr);
178 
179 
180 /* Note: except for the MPC registers only non-zero statistics are logged.
181    An entry is made in the stat_info array for each non-zero statistics noting
182    which device, and which of the counters was non-zero */
183 
184 /* End include file . . . . . poll_mpc_data.incl.pl1 */