1 /* ***********************************************************
  2    *                                                         *
  3    * Copyright, (C) Honeywell Information Systems Inc., 1983 *
  4    *                                                         *
  5    *********************************************************** */
  6 
  7 /*        This is the argument processing definition source language for the
  8           open description of the mtape_ ANSI Per-Format module. This may be
  9           compiled with the mtape_$mtape_cv_apd command and the binary result
 10           will be stored in the specified value segment data space with the
 11           name of mtape_.open.ansi. The syntax of the command line to perform
 12           this task would be:
 13 
 14           mtape_$mtape_cv_apd mtape_.open.ansi.mapd -target <value_seg_path>
 15 
 16           where <value_seg_path> is the pathname of the desired value segment
 17           which will be created if it does not exist. If no "-target" control
 18           arg is given, then the binary definition is stored in the users
 19           default value segment ([home_dir]>[user name].value).
 20 
 21           Modification history:
 22 
 23           Created by J. A. Bush 03/31/83
 24 */
 25 
 26 Program_name:                 mtape_.open.ansi;
 27 
 28 Default_linear_form:          "-block 2048 -format db -mode ascii",
 29                               " -default_fixed_record 80 -default_variable_record 2048",
 30                               " -default_spanned_record 1044480 -no_buffer_offset",
 31                               " -next_file -no_display -no_force -no_generate";
 32 
 33 Validate_result:              "   if [exists argument &(record)] -then",
 34                               " ""   [if [or [equal (u f d fb db) [lowercase &(format)]]] -then",
 35                               " """"     [if [not [ngreater &(record) &(block)]] -then",
 36                               "              true",
 37                               "          -else false] """" ",
 38                               "      -else true] "" ",
 39                               "   -else true";
 40 
 41 Validate_result_explanation:  "The specified record length (&(record)) for ANSI ""&(format)"" format,",
 42                               " cannot be greater than the specified block length (&(block)).";
 43 
 44 Validate_result:              "   if [not [exists argument &(record)]] -then",
 45                               " ""   [if [or [equal (u f fb) [lowercase &(format)]]] -then",
 46                               " """"     [if [not [ngreater &(default_fix_rlen) &(block)]] -then",
 47                               "              true",
 48                               "          -else false] """" ",
 49                               "      -else true] "" ",
 50                               "   -else true";
 51 
 52 Validate_result_explanation:  "The specified default fixed record length (&(default_fix_rlen))",
 53                               " for ANSI ""&(format)"" format, cannot be greater than the",
 54                               " specified block length (&(block)).";
 55 
 56 Validate_result:              "    if [not [exists argument &(record)]] -then",
 57                               " ""    [if [or [equal (d db) [lowercase &(format)]]] -then",
 58                               " """"      [if [not [ngreater &(default_var_rlen) &(block)]] -then",
 59                               "               true",
 60                               "           -else false] """" ",
 61                               "       -else true] "" ",
 62                               "    -else true";
 63 
 64 Validate_result_explanation:  "The specified default variable record length (&(default_var_rlen))",
 65                               " for ANSI ""&(format)"" format, cannot be greater than the",
 66                               " specified block length (&(block)).";
 67 
 68 Option:                       append;
 69   Option_name:                -append, -app;
 70   Exclude:                    extend, pfm_opt_sw_1, last_file, modify, next_file;
 71   Antonym:                    -no_append, -napp;
 72  Argument:                    flag;
 73    Default_value:             "true";
 74    Antonym_value:             "false";
 75 
 76 Option:                       block;
 77   Option_name:                -block, -bk;
 78   First_argument:             block_length;
 79  Argument:                    block_length;
 80    Presence:                  required;
 81    Validate:                  "and [ngreater &r1 17] [nless &r1 99997]";
 82    Validate_explanation:      "The block length value must not be less than",
 83                               " 18 characters, nor greater than 99996",
 84                               " characters.";
 85 
 86 Option:                       comment;
 87   Option_name:                -comment, -com;
 88   First_argument:             comment_text;
 89  Argument:                    comment_text;
 90    Presence:                  required;
 91    Validate:                  "nless [length &r1] 81";
 92    Validate_explanation:      "The comment text may not exceed 80 characters",
 93                               " in length.";
 94 
 95 Option:                       default_fix_rlen;
 96   Option_name:                -default_fixed_record, -dfr;
 97   First_argument:             record_length;
 98  Argument:                    record_length;
 99    Presence:                  required;
100    Validate:                  "and [ngreater &r1 17] [nless &r1 99997]";
101    Validate_explanation:      "Default fixed record lengths must fall in the",
102                               " range of 18 to 99996 characters.";
103 
104 Option:                       default_span_rlen;
105   Option_name:                -default_spanned_record, -dsr;
106   First_argument:             record_length;
107  Argument:                    record_length;
108    Presence:                  required;
109    Validate:                  "and [ngreater &r1 17] [nless &r1 1044481]";
110    Validate_explanation:      "Default spanned record lengths must fall in the",
111                               " range of 18 to 1044480 characters.";
112 
113 Option:                       default_var_rlen;
114   Option_name:                -default_variable_record, -dvr;
115   First_argument:             record_length;
116  Argument:                    record_length;
117    Presence:                  required;
118    Validate:                  "and [ngreater &r1 17] [nless &r1 99997]";
119    Validate_explanation:      "Default variable record lengths must fall in the",
120                               " range of 18 to 99996 characters.";
121 
122 Option:                       display;
123   Option_name:                -display, -ds;
124   Antonym:                    -no_display, -nds;
125  Argument:                    flag;
126    Default_value:             "true";
127    Antonym_value:             "false";
128 
129 Option:                       expires;
130   Option_name:                -expires, -exp;
131   First_argument:             expiration_date;
132  Argument:                    expiration_date;
133    Presence:                  required;
134    Validate:                  "date_time_valid &r1";
135    Validate_explanation:      "The expiration date value given is not",
136                               " acceptable to the convert_date_to_binary_",
137                               " subroutine.";
138 
139 Option:                       extend;
140   Option_name:                -extend, -ext;
141   Exclude:                    append, pfm_opt_sw_1, modify;
142   Antonym:                    -no_extend, -next;
143  Argument:                    flag;
144    Default_value:             "true";
145    Antonym_value:             "false";
146 
147 Option:                       force;
148   Option_name:                -force, -fc;
149   Antonym:                    -no_force, -nfc;
150  Argument:                    flag;
151    Default_value:             "true";
152    Antonym_value:             "false";
153 
154 Option:                       format;
155   Option_name:                -format, -fmt;
156   First_argument:             file_format;
157  Argument:                    file_format;
158    Presence:                  required;
159    Validate:                  "or [equal (u f d s fb db sb) [lowercase &r1]]";
160    Validate_explanation:      "Acceptable file format specifications are",
161                               " ""u"", ""f"", ""d"", ""s"", ""fb"", ""db"",",
162                               " and ""sb"" only.";
163 
164 Option:                       pfm_opt_sw_1;
165   Option_name:                -generate, -gen;
166   Exclude:                    append, extend, modify;
167   Antonym:                    -no_generate, -ngen;
168  Argument:                    flag;
169    Default_value:             "true";
170    Antonym_value:             "false";
171 
172 Option:                       pfm_opt_sw_2;
173   Option_name:                -buffer_offset, -bo;
174   Antonym:                    -no_buffer_offset, -nbo;
175  Argument:                    flag;
176    Default_value:             "true";
177    Antonym_value:             "false";
178 
179 Option:                       label_entry;
180   Option_name:                -label_entry, -lbe;
181   First_argument:             external_entry;
182  Argument:                    external_entry;
183    Presence:                  required;
184    Validate:                  "not [on active_function_error ""nothing"" -bf ""nothing [wh &r1]""]";
185    Validate_explanation:      "Could not find the ""&(label_entry)"" label",
186                               " entry using the current object search rules.";
187 
188 Option:                       last_file;
189   Option_name:                -last_file, -lf;
190   Exclude:                    append, next_file, name, number;
191   Antonym:                    -not_last_file, -nlf;
192  Argument:                    flag;
193    Default_value:             "true";
194    Antonym_value:             "false";
195 
196 Option:                       mode;
197   Option_name:                -mode, -md;
198   First_argument:             recording_mode;
199  Argument:                    recording_mode;
200    Presence:                  required;
201    Validate:                  "or [equal (ascii ebcdic binary bin) [lowercase &r1]]";
202    Validate_explanation:      "Acceptable recording mode values are ""ascii"",",
203                               " ""ebcdic"", ""binary"", or ""bin"" only.";
204 
205 Option:                       modify;
206   Option_name:                -modify, -mod;
207   Exclude:                    append, extend, pfm_opt_sw_1;
208   Antonym:                    -no_modify, -nmod;
209  Argument:                    flag;
210    Default_value:             "true";
211    Antonym_value:             "false";
212 
213 Option:                       name;
214   Option_name:                -name, -nm;
215   Exclude:                    next_file, last_file, replace;
216   First_argument:             file_name;
217  Argument:                    file_name;
218    Presence:                  required;
219    Validate:                  "nless [length &r1] 33";
220    Validate_explanation:      "File name specifications may not exceed 32",
221                               " characters in length.";
222 
223 Option:                       next_file;
224   Option_name:                -next_file, -nf;
225   Exclude:                    append, last_file, number, name;
226   Antonym:                    -not_next_file, -nnf;
227  Argument:                    flag;
228    Default_value:             "true";
229    Antonym_value:             "false";
230 
231 Option:                       number;
232   Option_name:                -number, -nb;
233   Exclude:                    next_file, last_file;
234   First_argument:             sequence_number;
235  Argument:                    sequence_number;
236    Presence:                  required;
237    Validate:                  "and [ngreater &r1 0] [nless &r1 10000]";
238    Validate_explanation:      "Valid file sequence numbers must be in the",
239                               " range of 1 to 99999.";
240 
241 Option:                       record;
242   Option_name:                -record, -rec;
243   Exclude:                    default_fix_rlen, default_span_rlen, default_var_rlen;
244   First_argument:             record_length;
245  Argument:                    record_length;
246    Presence:                  required;
247    Validate:                  "and [ngreater &r1 17] [nless &r1 1044481]";
248    Validate_explanation:      "Valid record lengths must fall in the range of",
249                               " 18 to 1044480 characters.";
250 
251 Option:                       replace;
252   Option_name:                -replace, -rpl;
253   Exclude:                    name, next_file, last_file;
254   First_argument:             file_name;
255  Argument:                    file_name;
256    Presence:                  required;
257    Validate:                  "nless [length &r1] 33";
258    Validate_explanation:      "The length of the replacement id file name",
259                               " must not exceed 32 characters.";
260 
261 End;