1 02/10/86  library_print, lpr
  2 
  3 Syntax as a command:  lpr {search_names} {-control_args} {-output_args}
  4 
  5 
  6 Function:  selects library entries whose contents are printable (those
  7 that contain only ASCII characters and the ASCII portion of peruse text
  8 object segments) and writes the contents of these entries into a file
  9 suitable for printing.  Thus, lpr can print source segments, listings,
 10 bind segments, info segments, peruse text object segments, exec_com and
 11 absentee control segments, printable multisegment files, etc.
 12 
 13 The entries in the print file are alphabetized by the primary name on
 14 the library entry.  Each entry is preceded by a header that lists the
 15 status of the entry.  An index of all entry names appears at the end of
 16 the print file.
 17 
 18 This command uses a library descriptor and library search procedures,
 19 as described in "The Library Descriptor Commands" of the Multics
 20 Library Maintenance (AN80) manual.  When no output arguments are given,
 21 the status information included by default in each entry's heading is
 22 controlled by the search program for the particular library being
 23 printed.  The default heading includes information most appropriate for
 24 library maintenance.
 25 
 26 
 27 Arguments:
 28 search_names
 29    are entrynames that identify the library entries whose contents are
 30    to be printed.  The star convention can be used to identify a group
 31    of entries with a single search name.  Up to 100 search names can be
 32    given in the command.  If none are given, then any default search
 33    names specified in the library descriptor are used.
 34 
 35 
 36 Control arguments:
 37 -chase
 38    suppresses entry heading information for any intermediate links that
 39    exist between a library link and its eventual target whose contents
 40    are displayed.
 41 -components, -comp
 42    displays all the components of a matching library entry, instead of
 43    the entry itself.  It also displays components of a library entry
 44    containing a matching entry.  (See "Notes" below.)
 45 -container, -cont
 46    displays, as a whole, the library entry that contains each matching
 47    entry rather than the matching entry.  (See "Notes" below.)
 48 
 49 
 50 -descriptor desc_name, -desc desc_name
 51    gives a pathname or reference name that identifies the library
 52    descriptor describing the libraries to be searched.  If -descriptor
 53    is not given, then the default library descriptor is used.
 54 -entry, -et
 55    displays only the contents of library entries that match one of the
 56    search names.  (Default)
 57 -footer footing, -fo footing
 58    gives a character string that is used in the footing line at the
 59    bottom of each page to identify the libraries being printed.  If the
 60    string contains blanks, then it must be enclosed in quotes.  Only
 61    the first 45 characters of the string are used.  If -footer is not
 62    given, then a default character string is used in the footing line.
 63    (See "Notes" below.)
 64 
 65 
 66 -header heading, -he heading
 67    gives a character string that is used as a heading line on the first
 68    page of the print file to identify which libraries have been
 69    printed.  If the string contains blanks, then it must be enclosed in
 70    quotes.  Only the first 120 characters of the string are used.  If
 71    -header is not given, then a default heading line is used.  (See
 72    "Notes" below.)
 73 -library library_name, -lb library_name
 74    identifies a library that is to be searched for entries matching the
 75    search names.  The star convention can be used to identify a group
 76    of libraries with a single library name.  Up to 100 -library control
 77    arguments can be given in each command.  If none are given, then any
 78    default library names specified in the library descriptor are used.
 79 
 80 
 81 -no_chase
 82    causes entry heading information for the intermediate links.
 83    (Default)
 84 -omit
 85    suppresses library entries awaiting deletion from the libraries.
 86    (Default)
 87 -output_file file, -of file
 88    identifies the output file in which the printed contents are to be
 89    generated.  A relative or absolute pathname can be given for the
 90    print file.  If it does not have a suffix of print, then one is
 91    assumed.  If -output_file is not given, then the print file is
 92    generated in the library.print file that is created in the user's
 93    working directory.
 94 
 95 
 96 -page_length N, -pl N
 97    causes output to be printed with a page length of N lines.  If not
 98    specified, a value of 60 lines is assumed.
 99 -retain, -ret
100    displays library entries awaiting deletion from the libraries (as
101    determined by the library search program).
102 -search_name search_name
103    identifies a search name that begins with a minus (-) to distinguish
104    the search name from a control argument.  There are no other
105    differences between the search names described above and those given
106    with the -search_name control argument.  One or more -search_name
107    control arguments can be given in the command.
108 
109 
110 List of output arguments:
111    These arguments control which information is included in the entry
112    headings.  The output arguments can appear anywhere in the command.
113 -access
114    displays all access control information, which includes:  the user's
115    access mode to the library entry, its ring brackets, ACL, access
116    class, AIM attributes, safety switch setting, and for directory
117    entries the initial ACLs.
118 -all, -a
119    displays all available information.
120 -contents
121    displays information describing the contents of library entries,
122    which includes:  compilation information, object attributes, and
123    segment printability information.
124 
125 
126 -default, -dft
127    displays default information in addition to the information
128    requested by other output arguments.  This is the default when no
129    other output arguments are given.
130 -status, -st
131    displays all status information printed by the command "status
132    -all", except for access control information.
133 
134 
135    The following output arguments are available, but are probably not
136    of interest to every user.  They provide more selective control over
137    which status information is included in the output.
138 -access_class, -acc
139    displays the access class (if other than system low), the setting of
140    the security-out-of-service switch, the audit switch, and the
141    multiple access class switch (if on).
142 -acl
143    displays the access control list.
144 -author, -at
145    displays the author and bit count author (if different from the
146    author).
147 -bit_count, -bc
148    displays the bit count.
149 
150 
151 -compiler_name
152    displays the name of the compiler of an object segment.
153 -compiler_options
154    displays the compiler option information stored in an object
155    segment.
156 -compiler_version
157    displays the version information for the compiler of an object
158    segment.
159 -copy, -cp
160    displays the setting of the copy-on-write switch (if on).
161 -current_length
162    displays the current length (if different from records used).
163 -date, -dt
164    displays the date/time contents modified, date/time used, date/time
165    entry modified, date/time dumped, and date/time compiled.
166 
167 
168 -date_time_compiled, -dtc
169    displays the date/time compiled.
170 -date_time_contents_modified, -dtcm
171    displays the date/time modified.
172 -date_time_dumped, -dtd
173    displays the date/time dumped.
174 -date_time_entry_modified, -dtem
175    displays the date/time entry modified.  For archive components, this
176    corresponds to the date/time component updated into the archive.
177 -date_time_used, -dtu
178    displays the date/time used.
179 
180 
181 -device, -dv
182    displays the name of the logical volume on which the entry resides
183    for nondirectory and non-MSF entries, the name of the son's logical
184    volume for directory and MSF entries, and the setting of the
185    transparent-to-paging device switch.
186 -error
187    displays messages that indicate the errors that occurred while
188    obtaining the status information.
189 -initial_acl, -iacl
190    displays the initial access control lists associated with library
191    directory entries.
192 
193 
194 -length, -ln
195    displays the records used, current length (if different from the
196    records used), maximum length (if different from
197    sys_info$max_seg_size), bit count, archive component offset, and
198    directory quota information.
199 -level, -lev
200    causes a level number to precede each output entry.  This number
201    indicates the relationship between a library entry and its
202    components.  Normally, this relationship is indicated only by
203    indenting the component names beneath those of the library entry.
204 -link_target
205    displays the pathname of the target of each library link.
206 -match
207    displays all names that match any of the search names.
208 
209 
210 -max_length, -ml
211    displays the maximum length (if different from
212    sys_info$max_seg_size).
213 -mode, -md
214    displays the user's mode of access to the library entry.
215 -name, -nm
216    displays all names.
217 -new_line, -nl
218    causes a line to be skipped between each level-one entry in the
219    output.  Normally, no lines are skipped between entries.
220 -non_ascii
221    displays an indication that a library entry contains non-ASCII
222    characters.
223 
224 
225 -object_info
226    displays information about format of an object segment and its entry
227    bound.
228 -offset, -ofs
229    displays the word offset of an archive component within its archive.
230 -pathname, -pn
231    displays the pathname of the parent of each library entry.
232 -primary, -pri
233    displays the primary name.
234 
235 
236 -quota
237    displays directory quota information for library directory entries,
238    which includes:  quota set on the directory, quota used, terminal
239    quota switch setting (if on), a count of inferior directories with
240    terminal quota (if nonzero), the time/record product for the
241    directory, and the date-time/time-record product updated.  If a
242    directory is a master directory, this information is also printed.
243 -records, -rec
244    displays the records used.
245 -ring_brackets, -rb
246    displays the ring brackets.
247 -safety
248    displays the setting of the safety switch (if on).
249 
250 
251 -type, -tp
252    displays the type of each library entry, which includes:  link,
253    segment, archive, archive component, multisegment file, multisegment
254    file component, and directory.
255 -unique_id, -uid
256    displays the unique identifier.
257 
258 
259 Notes:  Any combination of output arguments can be used in a command,
260 since the use of several output arguments merely causes more
261 information to be included in the heading for each entry.  However, the
262 following groups of control arguments are mutually exclusive and only
263 one argument from each group can be given in a command:
264 
265      -components, -container, and -entry
266      -chase and -no_chase;
267      -retain and -omit.
268 
269 The -container and -components control arguments are provided to
270 facilitate the printing of library entries related to a given bound
271 segment.  When only one component of an archive is matched, -entry
272 displays only the matching library entry.  The -container control
273 argument displays, as a whole, the entire archive, rather than just the
274 matching component; -components displays all of the archive components,
275 rather than just the matching component.
276 
277 
278 The print file is generated in an output file identified by
279 -output_file.  If this control argument is not given, then a file
280 called library.print is created in the user's working directory.  If
281 the output file already exists, it is truncated before the new print
282 file is created.  Thus, several library_print commands executed in the
283 same working directory (in the same or different processes) without
284 -output_file can produce unpredictable results.  In such cases, the
285 this control argument should be used to create a different print file
286 in each command.
287 
288 
289 If -header is given, then the heading line is centered on the first
290 page of the print file beneath the lines:
291 
292                       Print Out of the nn Entries
293 
294                                  of the
295 
296 The heading line should be worded with this in mind.  For example:
297 
298                       Print Out of the 35 Entries
299 
300                                  of the
301 
302                 Standard Library Bind Listing Directory
303 
304 
305 If -header is not given, a default heading line is constructed by
306 concatenating the names of the libraries that were searched:
307 
308                       Print Out of the 350 Entries
309 
310                                  of the
311 
312                                Libraries
313 
314              standard_library.list, unbundled_library.list,
315       tools_library.list, user_library.list, network_library.list
316 
317 If the -footer control argument is given, then then footing line placed
318 at the bottom of each page of the print file contains the footing
319 character string given with the control argument, along with a page
320 number and the name of the entry being output.  If -footer is not
321 given, then the concatenated library names used in the heading line are
322 also used in the footing line.