MACLIB CMS User Area command Use the MACLIB command to create and modify CMS macro libraries. The format of the MACLIB command is: +----------+------------------------------------------------------------------+ | MAClib | GEN libname fn1 [fn2...] | | | ADD libname fn1 [fn2...] | | | REP libname fn1 [fn2...] | | | DEL libname membername1 [membername2...] | | | COMP libname | | | MAP libname [(DISK|TERM|PRINT[)]] | +----------+------------------------------------------------------------------+ where: GEN generates a CMS macro library. ADD adds members to an existing macro library. No checking is done for duplicate names, entry points, or CSECTS. REP replaces existing members in a macro library. DEL deletes members from a macro library. If more than one member exists with the same name, only the first entry is deleted. COMP compacts a macro library. MAP lists certain information about the members in a macro library. Available information includes member name, size, and location relative to the beginning of the library. libname is the filename of a macro library. If the file already exists, it must have a filetype of MACLIB; if it is being created, it is given a filetype of MACLIB. fn1 [fn2...] are the names of the macro definition files to be used. A macro definition file must reside on a CMS disk and its filetype must be either MACRO or COPY. Each file may contain one or more macros and must contain fixed-length, 80-character records. membername1 [membername2...] are the names of the macros that exist in a macro library. Map options: The following options specify where the output of the MAP function is sent. Only one option may be specified. If more than one option is specified, only the first one given is used. DISK writes the MAP output on a CMS disk with the file identifier of "libname MAP A1." If a file with that name already exists, the old file is erased. If no option is specified, DISK is the default. PRINT writes the file "libname MAP A1" to your A-disk and spools a copy to the virtual printer. TERM displays the MAP output at the terminal. Usage notes: 1. When a MACRO file is added to a MACLIB, the membername is taken from the macro prototype statement. If there is more than one macro definition in the file, each macro is written into a separate MACLIB member. If the filetype is COPY and the file contains more than one macro, each macro must be preceded by a control statement of the following format: *COPY membername The name on the control statement is the name of the macro when it is placed in the macro library. If there is only one macro in the COPY file and it is not preceded by a COPY control statement, its name (in the macro library) is the same as the filename of the COPY file. If there are several macro definitions in a COPY file and the first one is not preceded by a COPY control statement, the entire file is treated as one macro. 2. If any MACRO file contains invalid records between members, the MACLIB command displays an error message and terminates. Any members read before the invalid card is encountered are already in the MACLIB. The MACLIB command ignores CATAL.S, END, and /* records when it reads MACRO files created by the ESERV program. 3. If you want a macro library searched during an assembly or compilation, you must identify it using the GLOBAL command before you begin compiling. 4. The MACLIBs distributed with the CMS system are: CMSLIB, DOSMACRO, OSMACRO, OSMACRO1, and TSOMAC. Responses: When you enter the MACLIB MAP command with the TERM option, the names of the library members, their sizes, and their locations in the library are displayed. MACRO INDEX SIZE name loc size . . . . . . . . .