1 :Info: deckfile_manager: dfm:
  2 2022-10-28  deckfile_manager, dfm
  3 
  4 Syntax as a command:  dfm {-control_args}
  5 
  6 
  7 Function:  This command invokes the Deck File Manager subsystem utility
  8 environment.  Once invoked, the user is placed in a subsystem, which
  9 accepts deckfile_manager requests.  See "List of Requests" below.
 10 These requests are designed to assist the user in creating and
 11 maintaining a tandd_deck_file and creating its associated
 12 deckfile.list.
 13 
 14 
 15 Arguments:
 16    none
 17 
 18 
 19 Control arguments:
 20 -abbrev, -ab
 21    specifies that abbreviation processing should be done by the
 22    deckfile_manager request processor.  If the -profile argument is not
 23    given, the user's default profile segment
 24    (>udd>Project_id>Person_id>Person_id.profile) is used.
 25 -deckfile DECKFILE_PATH, -dkf DECKFILE_PATH
 26    specifies that the DECKFILE_PATH is the target deckfile to be used
 27    for all requests.
 28 
 29 
 30 -no_abbrev, -nab
 31    specifies that abbreviation processing is not to be done by the
 32    deckfile_manager request processor.  (Default)
 33 -no_prompt
 34    does not prompt in the request loop.
 35 -no_start_up, -nsu
 36    does not execute the start_up exec_com.
 37 
 38 
 39 -profile PROFILE_PATH, -pf PROFILE_PATH
 40    specifies that abbreviation processing is to be done using the
 41    profile named PROFILE_PATH.  If this control argument is given, the
 42    -abbrev argument need not be given.
 43 -prompt PROMPT_STRING
 44    sets the request loop prompt to PROMPT_STRING.  (Default is "dfm:")
 45 -quit
 46    tells deckfile_manager to process the initial request line and then
 47    return without entering the request loop (even if the initial
 48    request line is aborted).
 49 
 50 
 51 -ready_off -rdf
 52    Disables printing ready messages after each request line.  (Default)
 53 -ready_on
 54    Enables printing a ready message after each request line.
 55 -request string, -rq string
 56    executes the requests in string before entering the request loop.
 57 -request_loop, -rql
 58    enters the deckfile_manager request_loop.  (Default)
 59 -start_up, -su
 60    executes a start_up.dfmec exec_com.  See Notes on start_up below.
 61    (Default)
 62 
 63 
 64 Notes on the deckfile:  As files are read from either the IFAD or 6670
 65 Binary Deck tape, or the MCA Diskettes all modules that are applicable
 66 to Multics are written into the deckfile and all firmware modules into
 67 individual segments.  Each module that is read is written to the
 68 deckfile unchanged.  Each object deck occupies one record of the keyed
 69 sequential deckfile.  The record search key is formed from information
 70 obtained from the deck name and revision.
 71 
 72 
 73 If the deckfile already exists in the specified directory, it is
 74 updated with the new modules read.  If the record for which the record
 75 search key already exists, the file is rewritten with the contents of
 76 the new record, leaving records in the file that do not have a
 77 corresponding entry read unchanged.
 78 
 79 
 80 Catalog records are built for all files while the respective files are
 81 being read.  These catalog records are merely a list of all of the
 82 search keys associated with each individual file.  Each catalog record
 83 is written to the deckfile immediately following each file, and have
 84 record search keys in the form:
 85 
 86    cata.<media name>.list - for a list catalog
 87 or
 88 
 89    cata.itr.<mpc_name>.<fw_rev>.<file> - for an ITR catalog
 90 
 91 
 92 or
 93    cata.mdr.<grp_name>.<file> - for an MDR catalog
 94 
 95 where:
 96    <media_name>
 97                is the name of recording media, ie.  mca for mca
 98                diskettes, fnp for 6670 Binary Deck Tape, or ifd for
 99                ifad.
100    <mpc_name>  is the name taken from the ident pseudo-op card image
101    <grp_name>  is the name of the generic peripheral group and can be
102                either tape, disk, print, or card
103    <fw_rev>    is the revision of the mpc firmware in this file.  For
104                the urcmpc itr/firmware file, it is the revision of the
105                common mpc firmware.
106 
107 
108 Notes on deckfile_path:  If the -deckfile argument is given,
109 deckfile_manager will use the path given as the default target path for
110 all request during this session.
111 
112 
113 Notes on requests:  Request lines use () for iteration, "" for quoting,
114 and [] to invoke active requests (listed below under "List of Active
115 Requests").
116 
117 Any request line that begins with ".."  is passed directly to the
118 Multics command processor with the leading ".."  stripped off.
119 Consequently, any reference to an active function is evaluated by the
120 Multics command processor.  The "execute" (e) deckfile_manager request
121 can also make use of active strings via the square brackets ([]).
122 
123 
124 Notes on start_up:  If the -no_start_up control argument is not given,
125 deckfile_manager will search for and execute an exec_com file of
126 deckfile_manager requests.  It will look for a segment named
127 "start_up.dfmec" in the home directory, project directory, and >site in
128 that order.  The start_up will be executed before executing the initial
129 request line.
130 
131 
132 LIST OF REQUESTS
133 
134    Listed below are the available requests that you can use once in the
135    deckfile_manager subsystem.
136 ?
137    lists the available deckfile_manager requests.
138 .
139    identifies deckfile_manager with version number.
140 abbrev {-control_args}, ab {-control_args}
141    turns abbreviation processing on or off and changes profile
142    segments.
143 answer STR {-control_args} request_line
144    supplies an answer to a question asked by a request.  STR is the
145    desired answer to the question and request_line is the
146    deckfile_manager request line.
147 
148 
149 delete_deck, dd
150    deletes a deck in a tandd_deck_file
151 do {request_line} {args}, do {-control_args}
152    substitutes args into the request_line and passes the result to the
153    deckfile_manager request processor.  Control arguments can be -nogo
154    to suppress execution or -long (-lg) to display expanded line before
155    execution.
156 
157 
158 exec_com PATH STRs, ec PATH STRs
159    executes an exec_com segment containing deckfile_manager requests
160    where PATH is the pathname of the exec_com segment (the ".dfmec"
161    suffix is assumed) and STRs are arguments to be passed to the
162    program.
163 execute STRs, e STRs
164    executes STRs as a Multics command line.  As an active request,
165    returns the result of evaluating strings as an Multics active
166    string.
167 
168 
169 help {STR}
170    prints information about request names or topics.  A list of
171    available topics is produced by the list_help request.
172 if EXPR -then LINE1 {-else LINE2}
173    conditionally executes one of two request lines depending on the
174    value of an active string.  EXPR is the active string that must
175    evaluate to either "true" or "false".  LINE1 is the deckfile_manager
176    request line to execute if EXPR evaluates to "true".  LINE2 is the
177    deckfile_manager request line to execute if EXPR evaluates to
178    "false".
179 
180 
181 list {KEY} {-control_args}, ls {KEY} {-control_args}
182    creates a deckfile.list segment from the tandd_deckfile_segment.
183 list_help {topics}, lh {topics}
184    prints a list of available info segments whose names include a topic
185    string.
186 list_requests {-control_args}, lr {-control_args}
187    prints information about deckfile_manager requests.
188 list_diskette_types, ldt
189    lists the valid diskette types allowed by the load_from_diskette
190    request.
191 load_from_diskettes, lfd
192    catalog and load MCA diskettes into a tandd_deck_file
193 load_from_tape
194    catalog and load an IFAD or DN6670 Binary Deck Tape into a
195    tandd_deck_file
196 
197 
198 merge_deckfiles, md
199    merge existing tandd_deck_files.
200 patch_deck, pd
201    add or remove $patch cards in a deck.
202 quit {-control_arg}, q {-control_arg}
203    exits deckfile_manager.
204 
205 
206 ready
207    Prints a ready message.
208 ready_off
209    Disables printing a ready message after each request.
210 ready_on
211    Enables printing a ready message after each request.
212 
213 
214 subsystem_name
215    prints the name of the subsystem ("deckfile_manager").
216 subsystem_version
217    prints the current version of deckfile_manager.
218 
219 
220 List of active requests:
221 
222 [do {request_string} {args}]
223    returns expanded request string.
224 [exec_com PATH STRs], [ec PATH STRs]
225    executes an exec_com segment containing forum requests.
226 [execute STRs], [e STRs]
227    invokes Multics active function within forum request line.
228 
229 
230 [if EXPR -then STR1 {-else STR2}]
231    returns one of two character strings to the Forum request processor
232    depending on the value of EXPR.  EXPR is the active string that must
233    evaluate to either "true" or "false".  STR1 is returned if EXPR
234    evaluates to "true".  STR2 is returned if EXPR evaluates to "false".
235 [subsystem_name]
236    returns the name of the subsystem ("dfm").
237 [subsystem_version]
238    returns the current version of deckfile_manager
239 
240 
241 :hcom:
242 /****^  HISTORY COMMENTS:
243   1) change(2022-10-28,Swenson), approve(2022-10-28,MCR10124),
244      audit(2022-10-28,None):
245      Fix incorrect short name for -deckfile control argument.
246                                                    END HISTORY COMMENTS */
247