Chapter Contents

Previous

Next
SAS/C Cross-Platform Compiler and C++ Development System User's Guide, Release 6.50


updte2ar Utility

The updte2ar utility is a program that is used to create an ar370 archive by reading in the contents of a file in IEBUPDTE input format. The IEBUPDTE input file must contain 80-byte records, in the format accepted by the MVS IEBUPDTE utility, and described in the IBM manual MVS/DFP Utilities (SC26-4559). The file is divided into segments by IEBUPDTE "./ ADD" control records: each segment represents a single PDS member. A file can be generated in this format from an MVS card-image partitioned data set using the MVS SAS System's PROC SOURCE. updte2ar reads in this data and creates an ar370 archive. This archive can then be manipulated by the ar370 utility to delete, move, replace, view, or extract members. updte2ar options allow you to control the translation of PDS member names to archive member names. They also specify whether the archive's symbol table should mimic the source PDS directory, or include all external symbols defined in members of the PDS.

CAUTION:
ar370 archives are created and maintained only by ar370 and updte2ar . The internal structures and the data these files contain are in EBCDIC format. ar370 archives should never be modified or accessed in any way, other than through ar370 . Similarly, IEBUPDTE input format data files are created only by IEBUPDTE and ar2updte . The internal structures and the data these files contain are also in EBCDIC.  [cautend]

updte2ar Syntax

The updte2ar utility is invoked with the following command:

updte2ar [options...] infile outfile

The options portion of the command line specifies one or more options, each of which is a single character preceded by a hyphen (-). Some options (for example, -t ) must be followed by an option argument. The argument can be separated from the option proper by white space, but need not be. Note that the case of option characters is not significant, but that case is significant for most option arguments.

The following options are recognized by the updte2ar utility:

updte2ar Options
Option Description
-a ending
appends the specified ending to the input member name to produce the output archive member name. The ending is limited to 8 characters.
-l
converts the member names to lowercase.
-s </ para> specifies that all external symbols defined in any input member are to be included in the archive symbol table. An archive produced with the -s option of updte2ar will have the same linking characteristics as an archive produced directly with ar370 . If -s is omitted, then the archive symbol table will reference only the member names and aliases referenced by ./ control statements in the input file. An archive produced without -s will have the linking characteristics of the source PDS.
-t c:s
specifies a translation rule to be used by updte2ar when deriving an archive member name from a PDS member name. More than one -t option can be specified. The option argument c:s indicates that if the string `c' (which can be longer than a single character) occurs in an input member name, it is to be replaced by the string `s' in the output archive member name.

The infile and outfile arguments must be specified. The infile argument specifies the input file which must be in valid IEBUPDTE input format. The outfile argument specifies the file identifier of the resulting output archive.

Examples

The following examples show typical updte2ar command lines.

updte2ar test.iebupdte testlib.a

Create a new archive named testlib.a using the IEBUPDTE input format file named test.iebupdte .

updte2ar -t QU:? -t $:x test3.iebupdte testlib.a

Create a new archive named testlib3.a using the IEBUPDTE input format file named test.iebupdte . Convert all letters QU to question marks and then convert all dollar signs to x s.

updte2ar -l -a .o test.iebupdte testlib4.a

Create a new archive named testlib4.a using the IEBUPDTE input format file named test.iebupdte . Put all the member names in lowercase and append a .o to each member name. For example, the input member BUILD would be translated to the archive member build.o .

updte2ar Diagnostics

The following diagnostic messages are generated by the updte2ar utility. Diagnostic messages from the run-time library that further describe the problem may appear in conjunction with the updte2ar diagnostics.

003 Error reading file, "[filename]".
An error occurred when attempting to read from the input file, filename. Check all input files for validity and integrity. Input files should be composed of 80-byte records.

004 Error writing file, "[filename]".
An attempt to write one or more items to the output file stream has been unsuccessful. Usually this is caused by having insufficient space available for all the output, but any file system problem or failure that might cause a write to fail could also be the cause. Make sure the space available for the output file is large enough to hold all the output.

006 Wrong number of command line arguments.
Correct usage: updte2ar [-l] [-s] [-a ending] [-t c1:s1 [-t c2:s2...]] filein fileout

The command line requires a minimum of two arguments, an input archive and an output filename.

007 Error loading list of translate characters.
Correct usage: updte2ar [-l] [-s] [-a ending] [-t c1:s1 [-t c2:s2...]] filein fileout

The program failed while attempting to parse the options and translate characters in the command line. Be sure the command line is formatted correctly.

008 Argument following -a cannot be longer than 8 characters.
Correct usage: updte2ar [-l] [-s] [-a ending] [-t c1:s1 [-t c2:s2...]] filein fileout

The -a option specified a suffix that was more than 8 characters.

010 Unrecognized option -option.
Correct usage: updte2ar [-l] [-s] [-a ending] [-t c1:s1 [-t c2:s2...]] filein fileout

The only valid options in updte2ar are: -l , -s , -a ending, and -t c:s.

011 The argument argument that follows the -t option must be in the form c:s where c is the string to be translated and s is the resulting string.
Correct usage: updte2ar [-l] [-s] [-a ending] [-t c1:s1 [-t c2:s2...]] filein fileout

The -t option must be followed immediately with an argument in the form c:s. All strings `c' in the member names of the IEBUPDTE file will then be translated to the string `s' in the resulting ar370 archive.

019 Invalid name for symbol, "[symbolname]" specified in a SYMDEF control statement.
SYMDEF symbols must be 1 to 8 characters in length. The symbol name, symbolname, is too long. Symbols specified via SYMDEF control statements must be at least 1 character and not more than 8 characters in length. Check the symdef cards in the input object files.

020 Invalid SYMDEF control card in file "[filename]".
An ar370 SYMDEF control statement in the input file, filename, contained invalid syntax. Check the SYMDEF control statement in the specified input file to make sure it conforms to the general form and syntax of linkage editor control statements. Make sure the symbol names are between 1 and 8 characters in length.

021 Unable to write object to ar370 archive file, "[filename]".
An attempt to write one or more items to the output file stream has been unsuccessful. Usually this is caused by having insufficient space available for all the output, but any file system problem or failure that might cause a write to fail could also be the cause. Make sure the space available for the output file is large enough to hold all the output.

022 Encountered EOF in continued SYMDEF card in file, "[filename]".
An ar370 SYM DEF control statement in the file, filename, is invalid. An End of File was encountered in place of the continuation of the SYMDEF card. Check the SYMDEF cards in the input file.

023 Unable to open IEBUPDTE file, "[filename]".
An attempt to open the file filename failed. Check all input files for validity and integrity.

024 Unable to open ar370 archive file, "filename".
An attempt to open the file, filename, failed. There may be a file system problem or failure.

025 Read of input file, "[filename]" failed.
When attempting to read the input file, filename, updte2ar was unable to read 80 bytes. The IEBUPDTE utility requires the input file to be composed of 80-byte records. Check the input file for validity and integrity.

026 Error writing library header to output file, "[filename]".
An attempt to write one or more items to the output file stream has been unsuccessful. Usually this is caused by having insufficient space available for all the output, but any file system problem or failure that might cause a write to fail could also be the cause. Make sure the space available for the output file is large enough to hold all the output.

027 Error in seeking to offset in file, "[filename]".
An error occurred when attempting to position to an offset in the file, filename.


Chapter Contents

Previous

Next

Top of Page

Copyright © 1998 by SAS Institute Inc., Cary, NC, USA. All rights reserved.