02/10/86 library_print, lpr Syntax as a command: lpr {search_names} {-control_args} {-output_args} Function: selects library entries whose contents are printable (those that contain only ASCII characters and the ASCII portion of peruse text object segments) and writes the contents of these entries into a file suitable for printing. Thus, lpr can print source segments, listings, bind segments, info segments, peruse text object segments, exec_com and absentee control segments, printable multisegment files, etc. The entries in the print file are alphabetized by the primary name on the library entry. Each entry is preceded by a header that lists the status of the entry. An index of all entry names appears at the end of the print file. This command uses a library descriptor and library search procedures, as described in "The Library Descriptor Commands" of the Multics Library Maintenance (AN80) manual. When no output arguments are given, the status information included by default in each entry's heading is controlled by the search program for the particular library being printed. The default heading includes information most appropriate for library maintenance. Arguments: search_names are entrynames that identify the library entries whose contents are to be printed. The star convention can be used to identify a group of entries with a single search name. Up to 100 search names can be given in the command. If none are given, then any default search names specified in the library descriptor are used. Control arguments: -chase suppresses entry heading information for any intermediate links that exist between a library link and its eventual target whose contents are displayed. -components, -comp displays all the components of a matching library entry, instead of the entry itself. It also displays components of a library entry containing a matching entry. (See "Notes" below.) -container, -cont displays, as a whole, the library entry that contains each matching entry rather than the matching entry. (See "Notes" below.) -descriptor desc_name, -desc desc_name gives a pathname or reference name that identifies the library descriptor describing the libraries to be searched. If -descriptor is not given, then the default library descriptor is used. -entry, -et displays only the contents of library entries that match one of the search names. (Default) -footer footing, -fo footing gives a character string that is used in the footing line at the bottom of each page to identify the libraries being printed. If the string contains blanks, then it must be enclosed in quotes. Only the first 45 characters of the string are used. If -footer is not given, then a default character string is used in the footing line. (See "Notes" below.) -header heading, -he heading gives a character string that is used as a heading line on the first page of the print file to identify which libraries have been printed. If the string contains blanks, then it must be enclosed in quotes. Only the first 120 characters of the string are used. If -header is not given, then a default heading line is used. (See "Notes" below.) -library library_name, -lb library_name identifies a library that is to be searched for entries matching the search names. The star convention can be used to identify a group of libraries with a single library name. Up to 100 -library control arguments can be given in each command. If none are given, then any default library names specified in the library descriptor are used. -no_chase causes entry heading information for the intermediate links. (Default) -omit suppresses library entries awaiting deletion from the libraries. (Default) -output_file file, -of file identifies the output file in which the printed contents are to be generated. A relative or absolute pathname can be given for the print file. If it does not have a suffix of print, then one is assumed. If -output_file is not given, then the print file is generated in the library.print file that is created in the user's working directory. -page_length N, -pl N causes output to be printed with a page length of N lines. If not specified, a value of 60 lines is assumed. -retain, -ret displays library entries awaiting deletion from the libraries (as determined by the library search program). -search_name search_name identifies a search name that begins with a minus (-) to distinguish the search name from a control argument. There are no other differences between the search names described above and those given with the -search_name control argument. One or more -search_name control arguments can be given in the command. List of output arguments: These arguments control which information is included in the entry headings. The output arguments can appear anywhere in the command. -access displays all access control information, which includes: the user's access mode to the library entry, its ring brackets, ACL, access class, AIM attributes, safety switch setting, and for directory entries the initial ACLs. -all, -a displays all available information. -contents displays information describing the contents of library entries, which includes: compilation information, object attributes, and segment printability information. -default, -dft displays default information in addition to the information requested by other output arguments. This is the default when no other output arguments are given. -status, -st displays all status information printed by the command "status -all", except for access control information. The following output arguments are available, but are probably not of interest to every user. They provide more selective control over which status information is included in the output. -access_class, -acc displays the access class (if other than system low), the setting of the security-out-of-service switch, the audit switch, and the multiple access class switch (if on). -acl displays the access control list. -author, -at displays the author and bit count author (if different from the author). -bit_count, -bc displays the bit count. -compiler_name displays the name of the compiler of an object segment. -compiler_options displays the compiler option information stored in an object segment. -compiler_version displays the version information for the compiler of an object segment. -copy, -cp displays the setting of the copy-on-write switch (if on). -current_length displays the current length (if different from records used). -date, -dt displays the date/time contents modified, date/time used, date/time entry modified, date/time dumped, and date/time compiled. -date_time_compiled, -dtc displays the date/time compiled. -date_time_contents_modified, -dtcm displays the date/time modified. -date_time_dumped, -dtd displays the date/time dumped. -date_time_entry_modified, -dtem displays the date/time entry modified. For archive components, this corresponds to the date/time component updated into the archive. -date_time_used, -dtu displays the date/time used. -device, -dv displays the name of the logical volume on which the entry resides for nondirectory and non-MSF entries, the name of the son's logical volume for directory and MSF entries, and the setting of the transparent-to-paging device switch. -error displays messages that indicate the errors that occurred while obtaining the status information. -initial_acl, -iacl displays the initial access control lists associated with library directory entries. -length, -ln displays the records used, current length (if different from the records used), maximum length (if different from sys_info$max_seg_size), bit count, archive component offset, and directory quota information. -level, -lev causes a level number to precede each output entry. This number indicates the relationship between a library entry and its components. Normally, this relationship is indicated only by indenting the component names beneath those of the library entry. -link_target displays the pathname of the target of each library link. -match displays all names that match any of the search names. -max_length, -ml displays the maximum length (if different from sys_info$max_seg_size). -mode, -md displays the user's mode of access to the library entry. -name, -nm displays all names. -new_line, -nl causes a line to be skipped between each level-one entry in the output. Normally, no lines are skipped between entries. -non_ascii displays an indication that a library entry contains non-ASCII characters. -object_info displays information about format of an object segment and its entry bound. -offset, -ofs displays the word offset of an archive component within its archive. -pathname, -pn displays the pathname of the parent of each library entry. -primary, -pri displays the primary name. -quota displays directory quota information for library directory entries, which includes: quota set on the directory, quota used, terminal quota switch setting (if on), a count of inferior directories with terminal quota (if nonzero), the time/record product for the directory, and the date-time/time-record product updated. If a directory is a master directory, this information is also printed. -records, -rec displays the records used. -ring_brackets, -rb displays the ring brackets. -safety displays the setting of the safety switch (if on). -type, -tp displays the type of each library entry, which includes: link, segment, archive, archive component, multisegment file, multisegment file component, and directory. -unique_id, -uid displays the unique identifier. Notes: Any combination of output arguments can be used in a command, since the use of several output arguments merely causes more information to be included in the heading for each entry. However, the following groups of control arguments are mutually exclusive and only one argument from each group can be given in a command: -components, -container, and -entry -chase and -no_chase; -retain and -omit. The -container and -components control arguments are provided to facilitate the printing of library entries related to a given bound segment. When only one component of an archive is matched, -entry displays only the matching library entry. The -container control argument displays, as a whole, the entire archive, rather than just the matching component; -components displays all of the archive components, rather than just the matching component. The print file is generated in an output file identified by -output_file. If this control argument is not given, then a file called library.print is created in the user's working directory. If the output file already exists, it is truncated before the new print file is created. Thus, several library_print commands executed in the same working directory (in the same or different processes) without -output_file can produce unpredictable results. In such cases, the this control argument should be used to create a different print file in each command. If -header is given, then the heading line is centered on the first page of the print file beneath the lines: Print Out of the nn Entries of the The heading line should be worded with this in mind. For example: Print Out of the 35 Entries of the Standard Library Bind Listing Directory If -header is not given, a default heading line is constructed by concatenating the names of the libraries that were searched: Print Out of the 350 Entries of the Libraries standard_library.list, unbundled_library.list, tools_library.list, user_library.list, network_library.list If the -footer control argument is given, then then footing line placed at the bottom of each page of the print file contains the footing character string given with the control argument, along with a page number and the name of the entry being output. If -footer is not given, then the concatenated library names used in the heading line are also used in the footing line. ----------------------------------------------------------- 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