1 /*  BEGIN:   old_help_args_.incl.pl1                          *  *  *  *  *  */
  2 
  3 /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */
  4 /*                                                                                        */
  5 /* Name:   help_args_.incl.pl1                                                            */
  6 /*                                                                                        */
  7 /* This include file declares the structure used by the help command and other subsystems */
  8 /* to pass info segment selection and printing control information to the help_           */
  9 /* subroutine.  This based structure is NEVER allocated.  Instead, the caller of help_    */
 10 /* must call help_$init to get a pointer to a temporary segment which is used for         */
 11 /* storage for the structure.  The structure contains 5 arrays with refer extents,        */
 12 /* allowing complete freedom in the numbers of selection values given.  Typically, the    */
 13 /* caller fills in the arrays at the top of the structure first, growing the arrays       */
 14 /* as each new element is added.  After each array is filled, the caller begins filling   */
 15 /* in the next array.  Note that, on return from help_$init, all of the arrays have 0     */
 16 /* extents, except that the search_dirs array contains the list of directories to be      */
 17 /* searched in to find info segments, as defined by the search facility.  The caller      */
 18 /* may of course change or replace these search directories.                              */
 19 /*                                                                                        */
 20 /* A legend describing the variable naming convention follows.                            */
 21 /*                                                                                        */
 22 /*   STARTING LETTER          STANDS FOR                                                  */
 23 /*        P                   pointer to                                                  */
 24 /*        L                   length of                                                   */
 25 /*        D                   descriptor of                                               */
 26 /*        S                   switch                                                      */
 27 /*        V                   version                                                     */
 28 /*                                                                                        */
 29 /* Status                                                                                 */
 30 /*                                                                                        */
 31 /* 0) Created:   October, 1978    by Gary Dixon                                           */
 32 /* 1) Modified:  June 4, 1983     by Gary Dixon - add Sctl.inhibit_errors flag.           */
 33 /* 2) Modified:  April, 1985      by L.Adams - use Vhelp_args_2.                          */
 34 /*                                                                                        */
 35 /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */
 36 
 37 /****^  HISTORY COMMENTS:
 38   1) change(1986-03-07,LJAdams), approve(1986-03-07,MCR7327),
 39      audit(1986-03-10,Lippard), install(1986-04-24,MR12.0-1048):
 40      Declares structure used by the help command and other subsystems to pass
 41      info segment selection and printing control information the help_
 42      subroutine.
 43   2) change(1987-01-26,LJAdams), approve(1987-09-03,MCR7766),
 44      audit(1988-05-03,GDixon), install(1988-09-13,MR12.2-1109):
 45      Added lep to Sctl.
 46      Added Sctl.cs to indicate if search or section requests are to be case
 47      sensitive or not.
 48      Changed version to Vhelp_args_3.
 49   3) change(1988-02-12,LJAdams), approve(1988-03-07,MCR7857),
 50      audit(1988-05-03,GDixon), install(1988-09-13,MR12.2-1109):
 51      Added help_data_ptr to point to a second help_args structure that will be
 52      used for list_requests.
 53   4) change(2021-02-15,GDixon), approve(2021-02-15,MCR10085),
 54      audit(2021-03-17,Swenson), install(2021-03-17,MR12.6g-0052):
 55      Create new old_help_args_.incl.pl1 based on help_args_.incl.pl1 for use in
 56      the old_Help_ subroutine and bound_old_help_.s.archive source programs.
 57                                                    END HISTORY COMMENTS */
 58 
 59      dcl  1 help_args aligned based (Phelp_args),           /* help's input arguments.                        */
 60             2 version                   fixed bin,          /* = 3, currently. Use Vhelp_args_3.              */
 61                                                             /*        (set by help_$init, checked by caller)  */
 62             2 Sctl,                                         /* control argument switches.                     */
 63                                                             /*        (SET BY CALLER OF help_)                */
 64              (3 he_only,                                    /*   print only a heading, nothing else.          */
 65               3 he_pn,                                      /*   when heading printed, include info pathname. */
 66               3 he_info_name,                               /*   when heading printed, include info_name.     */
 67               3 he_counts,                                  /*   when heading printed, include line counts.   */
 68                                                             /*   If none of the 3 switches above are set,     */
 69                                                             /*   then only info header is incl. in heading.   */
 70               3 title,                                      /*   -title                                       */
 71               3 scn,                                        /*   -section                                     */
 72               3 srh,                                        /*   -search                                      */
 73               3 bf,                                         /*   -brief                                       */
 74               3 ca,                                         /*   -control_arg                                 */
 75               3 ep,                                         /*   -entry_point                                 */
 76               3 all,                                        /*   -all                                         */
 77               3 lep,                                        /*   -lep                                         */
 78               3 cs,                                         /*   -case_sensitive                              */
 79               3 inhibit_errors)                             /*   inhibits error diagnostics when desired      */
 80                                                             /*     information is not found.  Useful for      */
 81                                                             /*     subsystems like ted that want to diagnose  */
 82                                                             /*     their own errors.                          */
 83                                         bit(1) unal,
 84               3 mbz1                    bit(22) unal,
 85             2 Nsearch_dirs              fixed bin,          /* number of info_segment (or other) search dirs. */
 86                                                             /*        (set by help_$init, CALLER CAN CHANGE)  */
 87             2 Npaths                    fixed bin,          /* number of info segment names.                  */
 88                                                             /*        (SET BY CALLER OF help_)                */
 89             2 Ncas                      fixed bin,          /* number of control arg names given with -ca     */
 90                                                             /*        (SET BY CALLER OF help_)                */
 91             2 Nscns                     fixed bin,          /* number of section substrings.                  */
 92                                                             /*        (SET BY CALLER OF help_)                */
 93             2 Nsrhs                     fixed bin,          /* number of search strings.                      */
 94                                                             /*        (SET BY CALLER OF help_)                */
 95             2 min_Lpgh                  fixed bin,          /* minimum length of a paragraph.                 */
 96                                                             /*        (set by help_$init, CALLER CAN CHANGE)  */
 97             2 max_Lpgh                  fixed bin,          /* maximum lines in group of aggregated paragraphs*/
 98                                                             /* or in paragraphs constructed by help_.         */
 99                                                             /*        (set by help_$init, CALLER CAN CHANGE)  */
100             2 Lspace_between_infos      fixed bin,          /* spaces inserted between infos when several     */
101                                                             /* printed by one invocation.                     */
102                                                             /*        (set by help_$init, CALLER CAN CHANGE)  */
103             2 min_date_time             fixed bin(71),      /* do not process infos modified before this date.*/
104                                                             /*        (SET BY CALLER OF help_)                */
105             2 sci_ptr                   ptr,                /* sci_ptr when help_ is invoked by a subsystem.  */
106                                                             /*   This must be set to null when not invoked    */
107                                                             /*   from a subsystem.                            */
108             2 help_data_ptr             ptr,                /* ptr to second help_args (used for list rqts)   */
109             2 pad2 (6)                  fixed bin,          /* reserved for future expansion.                 */
110 
111           /*                  End of fixed-length part of the structure.                                      */
112 
113             2 search_dirs (0 refer (help_args.Nsearch_dirs))
114                                         char (168) unal,    /* directories help_ will look in to find info    */
115                                                             /*   segments when relative paths (without < or >)*/
116                                                             /*   are given.  When help_$init is called, the   */
117                                                             /*   current search rules (from a search list of  */
118                                                             /*   caller's choice) will be given here.  Caller */
119                                                             /*   may modify this list if desired before       */
120                                                             /*   calling help_.                               */
121             2 path (0 refer (help_args.Npaths)),            /* names of sought info segments.                 */
122               3 value                   char(425) varying,  /*   These are the args themselves, without       */
123                                                             /*   processing by expand_pathname_, etc.         */
124                                                             /*   Their length is length(path) + length("$")   */
125                                                             /*   + length(entry_point_name).                  */
126                                                             /*   Note that entry_point_names can be 256 chars.*/
127                                                             /*        (SET BY CALLER OF help_)                */
128               3 info_name               char(32) unal,      /*   name of logical info to be printed.          */
129                                                             /*        (SET BY CALLER OF help_)                */
130                                                             /*   "" = help_ should set this to entry part     */
131                                                             /*        of path.value, minus the suffix.        */
132                                                             /*   other = logical info name not a name on the  */
133                                                             /*           physical info segment.               */
134               3 dir (1)                 char(168) unal,     /*   dir part of a pathname (set by help_).       */
135               3 ent                     char(32) unal,      /*   ent part of name (set by help_).             */
136               3 ep                      char(32) varying,   /*   entry point part of name. (set by help_)     */
137               3 code                    fixed bin(35),      /*   error code while processing this path.       */
138                                                             /*     (set by help_)                             */
139               3 S,                                          /*   switches indicating path type.               */
140                (4 pn_ctl_arg,                               /*     -pn ctl given before this path.            */
141                                                             /*        (SET BY CALLER OF help_)                */
142                 4 info_name_not_starname,                   /*     caller-supplied path.info_name is not a    */
143                                                             /*       star name, even if it has * or ? chars.  */
144                                                             /*        (SET BY CALLER OF help_)                */
145                 4 less_greater,                             /*     A < or > appears in path.value.            */
146                                                             /*        (set by help_)                          */
147                 4 starname_ent,                             /*     on if ent is a starname.                   */
148                                                             /*        (set by help_)                          */
149                 4 starname_info_name,                       /*     on if info_name is a starname.             */
150                                                             /*        (set by help_)                          */
151                 4 separate_info_name)   bit(1) unal,        /*     on if info_name given by caller.           */
152                                                             /*        (set by help_)                          */
153                 4 pad3                  bit(30) unal,
154             2 ca (0 refer (help_args.Ncas))                 /* the ctl_arg names, without leading - just as   */
155                                         char(32) varying,   /*   req'd by the -ca ctl_arg of help.            */
156                                                             /*        (SET BY CALLER OF help_)                */
157             2 scn (0 refer (help_args.Nscns))               /* substrings sought in section titles.           */
158                                         char(80) varying,   /*        (SET BY CALLER OF help_)                */
159             2 srh (0 refer (help_args.Nsrhs))               /* search strings.                                */
160                                         char(80) varying,   /*        (SET BY CALLER OF help_)                */
161           Phelp_args                    ptr,
162           Vhelp_args_3                  fixed bin int static options(constant) init(3);
163 
164      dcl  old_help_                     entry (char(*), ptr, char(*), fixed bin, fixed bin(35)),
165           old_help_$init                entry (char(*), char(*), char(*), fixed bin, ptr, fixed bin(35)),
166           old_help_$term                entry (char(*), ptr, fixed bin(35));
167 
168 /*  END OF:  old_help_args_.incl.pl1                          *  *  *  *  *  */