1 /*  START OF:       hcom_data.incl.pl1              *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  */
  2 
  3 
  4 /****^  HISTORY COMMENTS:
  5   1) change(1985-10-02,LJAdams), approve(1985-11-06,MCR7278),
  6      audit(1986-02-19,Gilcrease), install(1986-02-19,MR12.0-1021):
  7      Provides data structure for the history comment
  8      programs.
  9   2) change(1986-04-17,LJAdams), approve(1986-04-17,MCR7386),
 10      audit(1986-06-05,Gilcrease), install(1986-06-05,MR12.0-1071):
 11      Added d.ag.ctl.fill to indicate if summary is to be filled or not.
 12      Added fill bit to src_array to indicate to fill/not fill comment.
 13   3) change(1986-04-30,LJAdams), approve(1986-05-05,MCR7386),
 14      audit(1986-06-05,Gilcrease), install(1986-06-05,MR12.0-1071):
 15      Added parameter to d.ag.vdt to contain error message.
 16   4) change(1986-05-05,LJAdams), approve(1986-05-05,MCR7386),
 17      audit(1986-06-05,Gilcrease), install(1986-06-05,MR12.0-1071):
 18      Added switch to indicate if a critical fix number had been found while
 19      parsing.
 20   5) change(2016-01-15,Swenson), approve(2016-01-15,MCR10006):
 21      Fix history_comment to use 4-digit years and be able to handle current
 22      date/times when there are existing history comments without thinking that
 23      the new ones are in the past.
 24                                                    END HISTORY COMMENTS */
 25 
 26 /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */
 27           /*                                                                                        */
 28           /* This include file contains the arguments needed for processing history comments.       */
 29           /*                                                                                        */
 30           /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */
 31 
 32 
 33 dcl       1 d                           aligned based(Pd),
 34             2 ag,
 35               3 op,
 36                 4 name                  fixed bin,
 37                 4 type                  bit(1),             /* 0 = NO_MODIFY, 1 = MODIFY                      */
 38               3 vdt                     entry (char(*) var, char(*) var, char(*) var, bit(1), char(*) var,
 39                                            char(*) var, char(100) var) variable,
 40                                                             /* = nothing for -nvdt                            */
 41               3 ctl,
 42                 4 errors                bit(1) unal,
 43                 4 fill                  bit(1) unal,
 44                 4 renumber              bit(1) unal,
 45                 4 mbz                   bit(33) unal,
 46               3 source,
 47                 4 path                  char(202) unal,
 48                 4 dir                   char(168) unal,
 49                 4 ent                   char(32) unal,
 50                 4 ent_type              fixed bin(35),      /*  0 = NONSTAR,  1 = STAR,   2 = STARSTAR        */
 51                 4 comp                  char(32) unal,
 52               3 orig                    like d.source,
 53               3 input,
 54                 4 select,
 55                   5 sm                  fixed bin(2),
 56                   5 apv                 fixed bin(2),
 57                   5 aud                 fixed bin(2),
 58                   5 in                  fixed bin(2),       /* 0 = NOxxx,      1 = CLEARxxx                   */
 59                                                             /* 2 = OPERANDxxx, 3 = INPUTxxx                   */
 60                 4 value                like src_array.comments,
 61               3 output,
 62                (4 cdt,
 63                 4 cpi,
 64                 4 apvdt,
 65                 4 apvi,
 66                 4 auddt,
 67                 4 audpi,
 68                 4 indt,
 69                 4 ini,
 70                 4 sm)                   bit(1) unal,
 71                 4 mbz                   bit(27) unal,
 72             2 com_spec,
 73               3 selected                unal,
 74                 4 all                   bit(1),
 75                 4 old                   bit(1),
 76                 4 new                   bit(1),
 77                 4 cpt                   bit(1),
 78                 4 icpt                  bit(1),
 79                 4 apv                   bit(1),
 80                 4 unapv                 bit(1),
 81                 4 aud                   bit(1),
 82                 4 unaud                 bit(1),
 83                 4 in                    bit(1),
 84                 4 unin                  bit(1),
 85                 4 mbz                   bit(25),
 86               3 matched                 unaligned like d.com_spec.selected,
 87               3 Nrange                  fixed bin,
 88               3 range (10),
 89                 4 from,
 90                   5 set                 fixed bin(2),       /* 0 = UNSET, 1 = SET,  2 = LAST                  */
 91                   5 no                  fixed bin,
 92                   5 op                  fixed bin(2),       /* 0 = UNSET, 1 = PLUS  2 = MINUS                 */
 93                   5 addend              fixed bin,
 94                   5 result              fixed bin,
 95                 4 to                    like d.com_spec.range.from,
 96                 4 matched               fixed bin(1),
 97 
 98             2 field_array (9)           fixed bin,
 99             2 check_error$fatal         entry options(variable) variable,
100             2 set_return_arg            entry (char(*)) variable,
101             2 add_to_return_arg         entry (char(*)) variable,
102             2 add_to_return_arg_var     entry (char(*) var) variable,
103             2 Saf                       bit(1),             /* switch to indicate active function             */
104 
105             2 Scfix                     bit(1),             /* switch to indicate critical fix input          */
106             2 Scfix_found               bit(1),
107             2 Ssite                     bit(1),             /* switch to indicate site                        */
108             2 seg_arch,                                     /* info for seg or achive used by                 */
109               3 dir                     char(168) unal,     /* hcom_process_path_                             */
110               3 ent                     char(32) unal,
111               3 comp                    char(32) unal,
112               3 comp_type               fixed bin(35),      /* -1 = NOCOMP, 0 = NONSTAR                       */
113                                                             /*  1 = STAR,   2 = STARSTAR                      */
114               3 Pseg                    ptr,
115               3 Lseg                    fixed bin(21),
116               3 Lsegbc                  fixed bin(24),
117 
118             2 seg,                                          /* info for specific seg or archive component     */
119               3 dir                     char(168) unal,     /* used by hcom_process_seg_.                     */
120               3 ent                     char(32) unal,
121               3 comp                    char(32) unal,
122               3 Pseg                    ptr,
123               3 Lseg_in                 fixed bin(21),
124               3 Lseg_out                fixed bin(21),
125               3 ec_version              fixed bin,          /* if type is 3 (an exec_com), this will be its   */
126                                                             /* version, as obtained from get_ec_version_      */
127               3 type                    fixed bin,          /* the language type of the entry                 */
128               3 text_pos                fixed bin(21),      /* this will be the char pos of the first         */
129                                                             /* non-version char in an exec_com                */
130               3 cmt_bgn                 char(8) var,        /* comment begin character(s)                     */
131               3 cmt_end                 char(8) var,        /* comment end character(s)                       */
132               3 Pbox                    ptr,
133               3 Loldbox                 fixed bin(21),
134               3 Lnewbox                 fixed bin(21),
135             2 orig_seg                  like d.seg,         /* info for original seg/comp used by             */
136                                                             /* hcom_process_seg_                              */
137 
138             2 temp_seg,
139               3 Pcomp_info              ptr,
140               3 Pformed_string          ptr,
141               3 Porig_array             ptr,
142               3 Pout_string             ptr,
143               3 Presult                 ptr,
144               3 Psort_copy              ptr,
145               3 Psrc_array              ptr,
146           temp_seg_array (7)            ptr aligned based (addr(d.temp_seg)),
147 
148           Pd                            ptr;
149 
150 dcl       CALLER                        char(15) int static options(constant) init("history_comment"),
151 
152          (NOTSET                        init(0),            /* values for d.ag.op.name                        */
153           ADD                           init(1),
154           ADD_FIELD                     init(2),
155           CHECK                         init(3),
156           COMPARE                       init(4),
157           DISPLAY                       init(5),
158           EXISTS                        init(6),
159           FORMAT                        init(7),
160           GET                           init(8),
161           INSTALL                       init(9),
162           REPLACE_FIELD                 init(10)) fixed bin int static options(constant),
163          (MODIFY                        init("1"b),         /* values for d.ag.op.type                        */
164           NO_MODIFY                     init("0"b)) bit(1) int static options(constant),
165          (CLEARxxx                      init(1),            /* values for d.ag.input.select                   */
166           INPUTxxx                      init(3),
167           NOxxx                         init(0),
168           OPERANDxxx                    init(2)) fixed bin(2) int static options(constant),
169          (NOCOMP                        init(-1),           /* values for d.ag.ent_type, and                  */
170           NONSTAR                       init(0),            /*   d.seg_arch.comp_type                         */
171           STAR                          init(1),
172           STARSTAR                      init(2)) fixed bin(35) int static options(constant),
173           ALL                           bit(36) aligned int static options(constant) init("1"b),
174                                                             /* value comparable to string(d.com_spec.selected)*/
175          (LAST                          init(2),            /* values for d.ag.com_spec.range.set             */
176           SET                           init(1),
177           UNSET                         init(0)) fixed bin(2) int static options(constant),
178          (MINUS                         init(2),            /* values for d.ag.com_spec.range.op              */
179           PLUS                          init(1)) fixed bin(2) int static options(constant);
180 
181 dcl       oper (10,2)                   char(16) varying int static options(constant) init (
182                                "add",            "~",      /*  1 Operations */
183                                "add_field",      "af",     /*  2 */
184                                "check",          "ck",     /*  3 */
185                                "compare",        "cmp",    /*  4 */
186                                "display",        "ds",     /*  5 */
187                                "exists",         "~",      /*  6 */
188                                "format",         "fmt",    /*  7 */
189                                "get",            "~",      /*  8 */
190                                "install",        "~",      /*  9 */
191                                "replace_field",  "rpf");   /* 10 */
192 
193 dcl       1 src_array                   based(Psrc_array) aligned,
194             2 Ncoms                     fixed bin,
195             2 comments (0 refer (src_array.Ncoms)),
196               3 change_dt               char(10),
197               3 seqno                   pic "9999",
198               3 fill                    bit(1),
199               3 selected                bit(1),
200               3 Ieq                     fixed bin,
201               3 comment_no              fixed bin,
202               3 change_person           char(24) varying,
203               3 approve_dt              char(10),
204               3 approve_value           char(24) varying,
205               3 audit_dt                char(10),
206               3 audit_person            char(24) varying,
207               3 install_dt              char(10),
208               3 install_id              char(24) varying,
209               3 summary                 char(2000) varying,
210               3 err_msg (5)             char(80) varying;
211 
212 
213 dcl       Psrc_array                    ptr;
214 
215 /*  END OF:         hcom_data.incl.pl1              *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  */