/* BEGIN: help_args_.incl.pl1 * * * * * */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* Name: help_args_.incl.pl1 */ /* */ /* This include file declares the structure used by the help command and other subsystems */ /* to pass info segment selection and printing control information to the help_ */ /* subroutine. This based structure is NEVER allocated. Instead, the caller of help_ */ /* must call help_$init to get a pointer to a temporary segment which is used for */ /* storage for the structure. The structure contains 5 arrays with refer extents, */ /* allowing complete freedom in the numbers of selection values given. Typically, the */ /* caller fills in the arrays at the top of the structure first, growing the arrays */ /* as each new element is added. After each array is filled, the caller begins filling */ /* in the next array. Note that, on return from help_$init, all of the arrays have 0 */ /* extents, except that the search_dirs array contains the list of directories to be */ /* searched in to find info segments, as defined by the search facility. The caller */ /* may of course change or replace these search directories. */ /* */ /* A legend describing the variable naming convention follows. */ /* */ /* STARTING LETTER STANDS FOR */ /* P pointer to */ /* L length of */ /* D descriptor of */ /* S switch */ /* V version */ /* */ /* Status */ /* */ /* 0) Created: October, 1978 by Gary Dixon */ /* 1) Modified: June 4, 1983 by Gary Dixon - add Sctl.inhibit_errors flag. */ /* 2) Modified: April, 1985 by L.Adams - use Vhelp_args_2. */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /****^ HISTORY COMMENTS: 1) change(86-03-07,LJAdams), approve(86-03-07,MCR7327), audit(86-03-10,Lippard), install(86-04-24,MR12.0-1048): Declares structure used by the help command and other subsystems to pass info segment selection and printing control information the help_ subroutine. 2) change(87-01-26,LJAdams), approve(87-09-03,MCR7766), audit(88-05-03,GDixon), install(88-09-13,MR12.2-1109): Added lep to Sctl. Added Sctl.cs to indicate if search or section requests are to be case sensitive or not. Changed version to Vhelp_args_3. 3) change(88-02-12,LJAdams), approve(88-03-07,MCR7857), audit(88-05-03,GDixon), install(88-09-13,MR12.2-1109): Added help_data_ptr to point to a second help_args structure that will be used for list_requests. END HISTORY COMMENTS */ dcl 1 help_args aligned based (Phelp_args), /* help's input arguments. */ 2 version fixed bin, /* = 3, currently. Use Vhelp_args_3. */ /* (set by help_$init, checked by caller) */ 2 Sctl, /* control argument switches. */ /* (SET BY CALLER OF help_) */ (3 he_only, /* print only a heading, nothing else. */ 3 he_pn, /* when heading printed, include info pathname. */ 3 he_info_name, /* when heading printed, include info_name. */ 3 he_counts, /* when heading printed, include line counts. */ /* If none of the 3 switches above are set, */ /* then only info header is incl. in heading. */ 3 title, /* -title */ 3 scn, /* -section */ 3 srh, /* -search */ 3 bf, /* -brief */ 3 ca, /* -control_arg */ 3 ep, /* -entry_point */ 3 all, /* -all */ 3 lep, /* -lep */ 3 cs, /* -case_sensitive */ 3 inhibit_errors) /* inhibits error diagnostics when desired */ /* information is not found. Useful for */ /* subsystems like ted that want to diagnose */ /* their own errors. */ bit(1) unal, 3 mbz1 bit(22) unal, 2 Nsearch_dirs fixed bin, /* number of info_segment (or other) search dirs. */ /* (set by help_$init, CALLER CAN CHANGE) */ 2 Npaths fixed bin, /* number of info segment names. */ /* (SET BY CALLER OF help_) */ 2 Ncas fixed bin, /* number of control arg names given with -ca */ /* (SET BY CALLER OF help_) */ 2 Nscns fixed bin, /* number of section substrings. */ /* (SET BY CALLER OF help_) */ 2 Nsrhs fixed bin, /* number of search strings. */ /* (SET BY CALLER OF help_) */ 2 min_Lpgh fixed bin, /* minimum length of a paragraph. */ /* (set by help_$init, CALLER CAN CHANGE) */ 2 max_Lpgh fixed bin, /* maximum lines in group of aggregated paragraphs*/ /* or in paragraphs constructed by help_. */ /* (set by help_$init, CALLER CAN CHANGE) */ 2 Lspace_between_infos fixed bin, /* spaces inserted between infos when several */ /* printed by one invocation. */ /* (set by help_$init, CALLER CAN CHANGE) */ 2 min_date_time fixed bin(71), /* do not process infos modified before this date.*/ /* (SET BY CALLER OF help_) */ 2 sci_ptr ptr, /* sci_ptr when help_ is invoked by a subsystem. */ /* This must be set to null when not invoked */ /* from a subsystem. */ 2 help_data_ptr ptr, /* ptr to second help_args (used for list rqts) */ 2 pad2 (6) fixed bin, /* reserved for future expansion. */ /* End of fixed-length part of the structure. */ 2 search_dirs (0 refer (help_args.Nsearch_dirs)) char (168) unal, /* directories help_ will look in to find info */ /* segments when relative paths (without < or >)*/ /* are given. When help_$init is called, the */ /* current search rules (from a search list of */ /* caller's choice) will be given here. Caller */ /* may modify this list if desired before */ /* calling help_. */ 2 path (0 refer (help_args.Npaths)), /* names of sought info segments. */ 3 value char(425) varying, /* These are the args themselves, without */ /* processing by expand_pathname_, etc. */ /* Their length is length(path) + length("$") */ /* + length(entry_point_name). */ /* Note that entry_point_names can be 256 chars.*/ /* (SET BY CALLER OF help_) */ 3 info_name char(32) unal, /* name of logical info to be printed. */ /* (SET BY CALLER OF help_) */ /* "" = help_ should set this to entry part */ /* of path.value, minus the suffix. */ /* other = logical info name not a name on the */ /* physical info segment. */ 3 dir (1) char(168) unal, /* dir part of a pathname (set by help_). */ 3 ent char(32) unal, /* ent part of name (set by help_). */ 3 ep char(32) varying, /* entry point part of name. (set by help_) */ 3 code fixed bin(35), /* error code while processing this path. */ /* (set by help_) */ 3 S, /* switches indicating path type. */ (4 pn_ctl_arg, /* -pn ctl given before this path. */ /* (SET BY CALLER OF help_) */ 4 info_name_not_starname, /* caller-supplied path.info_name is not a */ /* star name, even if it has * or ? chars. */ /* (SET BY CALLER OF help_) */ 4 less_greater, /* A < or > appears in path.value. */ /* (set by help_) */ 4 starname_ent, /* on if ent is a starname. */ /* (set by help_) */ 4 starname_info_name, /* on if info_name is a starname. */ /* (set by help_) */ 4 separate_info_name) bit(1) unal, /* on if info_name given by caller. */ /* (set by help_) */ 4 pad3 bit(30) unal, 2 ca (0 refer (help_args.Ncas)) /* the ctl_arg names, without leading - just as */ char(32) varying, /* req'd by the -ca ctl_arg of help. */ /* (SET BY CALLER OF help_) */ 2 scn (0 refer (help_args.Nscns)) /* substrings sought in section titles. */ char(80) varying, /* (SET BY CALLER OF help_) */ 2 srh (0 refer (help_args.Nsrhs)) /* search strings. */ char(80) varying, /* (SET BY CALLER OF help_) */ Phelp_args ptr, Vhelp_args_3 fixed bin int static options(constant) init(3); dcl help_ entry (char(*), ptr, char(*), fixed bin, fixed bin(35)), help_$init entry (char(*), char(*), char(*), fixed bin, ptr, fixed bin(35)), help_$term entry (char(*), ptr, fixed bin(35)); /* END OF: help_args_.incl.pl1 * * * * * */ */ ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group Bull including Bull HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell Bull Inc., Groupe Bull and Bull HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, Bull or Bull HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by Bull HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved */