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_ IBM 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.ibm. The syntax of the command line to perform
 12           this task would be:
 13 
 14           mtape_$mtape_cv_apd mtape_.open.ibm.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.ibm;
 27 
 28 Default_linear_form:          "-block 8192 -format vb -mode ebcdic",
 29                               " -default_fixed_record 80 -default_variable_record 8192",
 30                               " -default_spanned_record 1044480",
 31                               " -next_file -no_display -no_force -not_dos -no_system_use";
 32 
 33 Validate_result:              "   if [or [equal (v vb vs vbs) [lowercase &(format)]]] -then",
 34                               " ""   [if [nless &(block) 32761] -then",
 35                               "          true",
 36                               "      -else false] "" ",
 37                               "   -else true";
 38 
 39 Validate_result_explanation:  "The specified block length (&(block)) for IBM ""&(format)"" format,",
 40                               " is greater than the maximum of 32760 bytes.";
 41 
 42 
 43 Validate_result:              "   if [exists argument &(record)] -then",
 44                               " ""   [if [or [equal (u f v fb vb) [lowercase &(format)]]] -then",
 45                               " """"     [if [not [ngreater &(record) &(block)]] -then",
 46                               "              true",
 47                               "          -else false] """" ",
 48                               "      -else true] "" ",
 49                               "   -else true";
 50 
 51 Validate_result_explanation:  "The specified record length (&(record)) for IBM ""&(format)"" format,",
 52                               " cannot be greater than the specified block length (&(block)).";
 53 
 54 Validate_result:              "   if [not [exists argument &(record)]] -then",
 55                               " ""   [if [or [equal (u f fb) [lowercase &(format)]]] -then",
 56                               " """"     [if [not [ngreater &(default_fix_rlen) &(block)]] -then",
 57                               "              true",
 58                               "          -else false] """" ",
 59                               "      -else true] "" ",
 60                               "   -else true";
 61 
 62 Validate_result_explanation:  "The specified default fixed record length (&(default_fix_rlen))",
 63                               " for IBM ""&(format)"" format, cannot be greater than the",
 64                               " specified block length (&(block)).";
 65 
 66 Validate_result:              "    if [not [exists argument &(record)]] -then",
 67                               " ""    [if [or [equal (v vb) [lowercase &(format)]]] -then",
 68                               " """"      [if [not [ngreater &(default_var_rlen) &(block)]] -then",
 69                               "               true",
 70                               "           -else false] """" ",
 71                               "       -else true] "" ",
 72                               "    -else true";
 73 
 74 Validate_result_explanation:  "The specified default variable record length (&(default_var_rlen))",
 75                               " for IBM ""&(format)"" format, cannot be greater than the",
 76                               " specified block length (&(block)).";
 77 
 78 Option:                       append;
 79   Option_name:                -append, -app;
 80   Exclude:                    extend, last_file, modify, next_file;
 81   Antonym:                    -no_append, -napp;
 82  Argument:                    flag;
 83    Default_value:             "true";
 84    Antonym_value:             "false";
 85 
 86 Option:                       block;
 87   Option_name:                -block, -bk;
 88   First_argument:             block_length;
 89  Argument:                    block_length;
 90    Presence:                  required;
 91    Validate:                  "and [ngreater &r1 17] [nless &r1 99997]";
 92    Validate_explanation:      "The block length value must not be less than",
 93                               " 18 characters, nor greater than 99996",
 94                               " characters.";
 95 
 96 Option:                       comment;
 97   Option_name:                -comment, -com;
 98   First_argument:             comment_text;
 99  Argument:                    comment_text;
100    Presence:                  required;
101    Validate:                  "nless [length &r1] 81";
102    Validate_explanation:      "The comment text may not exceed 80 characters",
103                               " in length.";
104 
105 Option:                       default_fix_rlen;
106   Option_name:                -default_fixed_record, -dfr;
107   First_argument:             record_length;
108  Argument:                    record_length;
109    Presence:                  required;
110    Validate:                  "and [ngreater &r1 17] [nless &r1 99997]";
111    Validate_explanation:      "Default fixed record lengths must fall in the",
112                               " range of 18 to 99996 characters.";
113 
114 Option:                       default_span_rlen;
115   Option_name:                -default_spanned_record, -dsr;
116   First_argument:             record_length;
117  Argument:                    record_length;
118    Presence:                  required;
119    Validate:                  "and [ngreater &r1 17] [nless &r1 1044481]";
120    Validate_explanation:      "Default spanned record lengths must fall in the",
121                               " range of 18 to 1044480 characters.";
122 
123 Option:                       default_var_rlen;
124   Option_name:                -default_variable_record, -dvr;
125   First_argument:             record_length;
126  Argument:                    record_length;
127    Presence:                  required;
128    Validate:                  "and [ngreater &r1 17] [nless &r1 32761]";
129    Validate_explanation:      "Default variable record lengths must fall in the",
130                               " range of 18 to 32760 characters.";
131 
132 Option:                       display;
133   Option_name:                -display, -ds;
134   Antonym:                    -no_display, -nds;
135  Argument:                    flag;
136    Default_value:             "true";
137    Antonym_value:             "false";
138 
139 Option:                       pfm_opt_sw_1;
140   Option_name:                -dos;
141   Antonym:                    -ndos, -not_dos;
142  Argument:                    flag;
143    Default_value:             "true";
144    Antonym_value:             "false";
145 
146 Option:                       pfm_opt_sw_2;
147   Option_name:                -system_use, -sys_use;
148   Antonym:                    -no_system_use, -nsys_use;
149  Argument:                    flag;
150    Default_value:             "true";
151    Antonym_value:             "false";
152 
153 Option:                       expires;
154   Option_name:                -expires, -exp;
155   First_argument:             expiration_date;
156  Argument:                    expiration_date;
157    Presence:                  required;
158    Validate:                  "date_time_valid &r1";
159    Explanation:               "The expiration date value given is not",
160                               " acceptable to the convert_date_to_binary_",
161                               " subroutine.";
162 
163 Option:                       extend;
164   Option_name:                -extend, -ext;
165   Exclude:                    append, modify;
166   Antonym:                    -no_extend, -next;
167  Argument:                    flag;
168    Default_value:             "true";
169    Antonym_value:             "false";
170 
171 Option:                       force;
172   Option_name:                -force, -fc;
173   Antonym:                    -no_force, -nfc;
174  Argument:                    flag;
175    Default_value:             "true";
176    Antonym_value:             "false";
177 
178 Option:                       format;
179   Option_name:                -format, -fmt;
180   First_argument:             file_format;
181  Argument:                    file_format;
182    Presence:                  required;
183    Validate:                  "or [equal (u f v vs fb vb vbs) [lowercase &r1]]";
184    Explanation:               "Acceptable file format specifications are",
185                               " ""u"", ""f"", ""v"", ""vs"", ""fb"", ""vb"",",
186                               " and ""vbs"" only.";
187 
188 Option:                       label_entry;
189   Option_name:                -label_entry, -lbe;
190   First_argument:             external_entry;
191  Argument:                    external_entry;
192    Presence:                  required;
193    Validate:                  "not [on active_function_error ""nothing"" -bf ""nothing [wh &r1]""]";
194    Explanation:               "Could not find the ""&(label_entry)"" label",
195                               " entry using the current object search rules.";
196 
197 Option:                       last_file;
198   Option_name:                -last_file, -lf;
199   Exclude:                    append, next_file, name, number;
200   Antonym:                    -not_last_file, -nlf;
201  Argument:                    flag;
202    Default_value:             "true";
203    Antonym_value:             "false";
204 
205 Option:                       mode;
206   Option_name:                -mode, -md;
207   First_argument:             recording_mode;
208  Argument:                    recording_mode;
209    Presence:                  required;
210    Validate:                  "or [equal (ascii ebcdic binary bin) [lowercase &r1]]";
211    Explanation:               "Acceptable recording mode values are ""ascii"",",
212                               " ""ebcdic"", ""binary"", or ""bin"" only.";
213 
214 Option:                       modify;
215   Option_name:                -modify, -mod;
216   Exclude:                    append, extend;
217   Antonym:                    -no_modify, -nmod;
218  Argument:                    flag;
219    Default_value:             "true";
220    Antonym_value:             "false";
221 
222 Option:                       name;
223   Option_name:                -name, -nm;
224   Exclude:                    next_file, last_file, replace;
225   First_argument:             file_name;
226  Argument:                    file_name;
227    Presence:                  required;
228    Validate:                  "nless [length &r1] 33";
229    Explanation:               "File name specification may not exceed 32",
230                               " characters in length.";
231 
232 
233 Option:                       next_file;
234   Option_name:                -next_file, -nf;
235   Exclude:                    append, last_file, number, name;
236   Antonym:                    -not_next_file, -nnf;
237  Argument:                    flag;
238    Default_value:             "true";
239    Antonym_value:             "false";
240 
241 Option:                       number;
242   Option_name:                -number, -nb;
243   Exclude:                    next_file, last_file;
244   First_argument:             sequence_number;
245  Argument:                    sequence_number;
246    Presence:                  required;
247    Validate:                  "and [ngreater &r1 0] [nless &r1 10000]";
248    Explanation:               "Valid file sequence numbers must be in the",
249                               " range of 1 to 99999.";
250 
251 Option:                       record;
252   Option_name:                -record, -rec;
253   Exclude:                    default_fix_rlen, default_span_rlen, default_var_rlen;
254   First_argument:             record_length;
255  Argument:                    record_length;
256    Presence:                  required;
257    Validate:                  "and [ngreater &r1 17] [nless &r1 1044481]";
258    Validate_explanation:      "Valid record lengths must fall in the range of",
259                               " 18 to 1044480 characters.";
260 
261 Option:                       replace;
262   Option_name:                -replace, -rpl;
263   Exclude:                    name, next_file, last_file;
264   First_argument:             file_name;
265  Argument:                    file_name;
266    Presence:                  required;
267    Validate:                  "nless [length &r1] 33";
268    Validate_explanation:      "The length of the replacement id file name",
269                               " must not exceed 32 characters.";
270 
271 End;