The LIBRARY command performs maintenance operations on a library file. A library file is a direct access file containing one or more modules. There are three types of libraries. Object libraries hold object modules and can be used as input to the Task Builder. Macro libraries hold source macros and can be called in by the macro assembler. Universal libraries can have any contents. See the RSX-11M/M-PLUS Command Language Manual and the discussion of the LBR utility in the RSX11M/M-PLUS Utilities Manual for more information. The LIBRARY command performs the following eight operations: CREATE DELETE EXTRACT INSERT LIST REPLACE REMOVE COMPRESS For more information on a particular LIBRARY operation, see HELP LIBRARY operation. 2 CREATE LIBRARY/CREATE[:(arg[,s])][/qualifier[s]] libspec [infilespec[,s]] GLOBAL:n MODULES:n BLOCKS:n Qualifiers /[NO]GLOBALS /SQUEEZE /MACRO /OBJECT /SELECTIVE_SEARCH /UNIVERSAL The LIBRARY/CREATE command creates a library file and optionally inserts one or more modules into it. The GLOBAL argument to LIBRARY/CREATE specifies the number of entry point table (EPT) entries to allocate. The default number is 512 for object libraries. The number of entry points is always forced to zero for macro libraries. The MODULES argument specifies the number of module name table (MNT) entries to allocate. The default value is 256. The maximum number of entries is 4096. The BLOCKS argument specifies the size of the library in 256-word blocks. The default size is 100 blocks. 3 NOGLOBALS #GLOBALS 3 GLOBALS LIBRARY/CREATE[:(arg[,s])]/NOGLOBALS libspec [infilespec[,s]] The /NOGLOBALS qulaifier specifies that global symbols are not to be included in the entry point table. Use this qualifier if you wish to use the same global symbols in more than one module. The /GLOBALS form of this qualifier is a no-op. You must use the GLOBAL argument to LIBRARY/CREATE to specify the number of entry point table entries. 3 MACRO LIBRARY/CREATE[:(arg[,s])]MACRO libspec [infilespec[,s]] The /MACRO qualifier specifies that the library being created is a macro library. Default file type for the library is .MLB. 3 OBJECT LIBRARY/CREATE[:(arg[,s])]/OBJECT libspec [infilespec[,s]] The /OBJECT qualifier specifies that the library being created consists of object modules. This is the default. The default file type for the library is .OLB. 3 UNIVERSAL LIBRARY/CREATE[:(arg[,s])]/UNIVERSAL libspec [infilespec[,s]] The /UNIVERSAL qualifier specifies that the library being created is a universal library. The default file type for the library is .UNI. 3 SELECTIVE_SEARCH LIBRARY/CREATE[:(arg[,s])]/SELECTIVE_SEARCH libspec [infilespec[,s]] The /SELECTIVE_SEARCH qualifier sets the selective search attribute bit in the module header of object modules as they are inserted into an object library. Object modules with the selective search attribute are given special treatment by the Task Builder. Global symbols defined in modules with the selective search attribute are only included in the Task Builder's symbol table if they were previously referenced by other modules. 3 SQUEEZE LIBRARY/CREATE[:(arg[,s])]/MACRO/SQUEEZE libspec [infilespec[,s]] The /SQUEEZE qualifier will reduce the size of macro definitions by eliminating all trailing blanks and tabs, blank lines, and comments from macro text. Macros that have been squeezed not only take up less room in the macro library file, but also take up less memory in the assembler when they are invoked. See HELP LIBRARY COMPRESS for information on compressing entire libraries. 2 DELETE LIBRARY/DELETE libspec module[,s] The LIBRARY/DELETE command deletes modules from a library file. The list of modules can contain up to 15 elements. Each element is separated by commas. For example: LIBRARY/DELETE LIBRARY.OLB MOD1,MOD2,MOD3 See HELP LIBRARY REMOVE for information on removing global symbols (entry points) from a library. 2 REMOVE LIBRARY/REMOVE libspec global[,s] The LIBRARY/REMOVE command removes global symbols (entry points) from a library. The list of globals can include up to 15 elements. Each element is separated by commas. For example: LIBRARY/REMOVE LIBRARY.OLB GLOB1,GLOB2,GLOB3 See HELP LIBRARY DELETE for information on deleting modules from a library. 2 EXTRACT LIBRARY/EXTRACT/OUTPUT[:filespec] libspec module[,s] The LIBRARY/EXTRACT command reads one or more modules from a library file and writes them into a specified output file. The module list can contain up to 8 elements. Each element is separated by commas. The default for the /OUTPUT qualifier is to write the modules to your terminal. 2 INSERT LIBRARY/INSERT[/qualifier[s]] libspec filespec[,s] /[NO]GLOBALS /SELECTIVE_SEARCH /SQUEEZE The LIBRARY/INSERT command inserts one or more files as modules into a library file. 3 NOGLOBALS #GLOBALS 3 GLOBALS LIBRARY/INSERT/NOGLOBALS libspec [filespec[,s]] The /NOGLOBALS qualifier specifies that entry points for the specified modules are not to be included in the entry point table. The /GLOBALS form of this qualifier is a no-op. 3 SELECTIVE_SEARCH LIBRARY/INSERT/SELECTIVE_SEARCH libspec filespec[,s] The /SELECTIVE_SEARCH qualifier sets the selective search attribute bit in the module header of object modules as they are inserted into an object library. Object modules with the selective search attribute are given special treatment by the Task Builder. Global symbols defined in modules with the selective search attribute are only included in the Task Builder's symbol table if they were previously referenced by other modules. 3 SQUEEZE LIBRARY/INSERT/MACRO/SQUEEZE libspec filespec[,s] The /SQUEEZE qualifier will reduce the size of macro definitions by eliminating all trailing blanks and tabs, blank lines, and comments from macro text. Macros that have been squeezed not only take up less room in the macro library file, but also take up less memory in the assembler when they are invoked. See HELP LIBRARY COMPRESS for information on compressing entire libraries. 2 LIST LIBRARY/LIST[:filespec][/qualifier[s] libspec /[NO]NAMES /BRIEF /FULL The LIBRARY/LIST command produces a listing of the names of all modules in the library file. The default output file for LIBRARY/LIST is your terminal. 3 ENTRIES #NAMES 3 NONAMES #NAMES 3 NAMES LIBRARY/LIST/NAMES libspec The /NAMES qualifier produces a listing of the names of all modules in the library file and their corresponding entry points. The default is /NONAMES, which means the entry points are omitted. 3 BRIEF LIBRARY/LIST/BRIEF libspec The /BRIEF qualifier specifies that you wish only module names listed. This is the default. 3 FULL LIBRARY/LIST/FULL libspec The /FULL qualifier produces a listing of the names of all modules in the library file and gives a module description of each: that is, size, date of insertion, and module-dependent information. 2 REPLACE LIBRARY/REPLACE[/qualifier[s]] libspec filespec[,s] /[NO]GLOBALS /SELECTIVE_SEARCH /SQUEEZE The LIBRARY/REPLACE command replaces a module in a library with a new module of the same name and deletes the old module. 3 NOGLOBALS #GLOBALS 3 GLOBALS LIBRARY/REPLACE/NOGLOBALS libspec [filespec[,s]] The /NOGLOBALS qualifier specifies that entry points for the specified modules are not to be included in the entry point table. The default is /GLOBALS. 3 SELECTIVE_SEARCH LIBRARY/REPLACE/SELECTIVE_SEARCH libspec filespec[,s] The /SELECTIVE_SEARCH qualifier sets the selective search attribute bit in the module header of object modules as they are inserted into an object library. Object modules with the selective search attribute are given special treatment by the Task Builder. Global symbols defined in modules with the selective search attribute are only included in the Task Builder's symbol table if they were previously referenced by other modules. 3 SQUEEZE LIBRARY/REPLACE/MACRO/SQUEEZE libspec filespec[,s] The /SQUEEZE qualifier reduces the size of macro definitions by eliminating all trailing blanks and tabs, blank lines, and comments from macro text. Macros that have been squeezed not only take up less room in the macro library file, but also take up less memory in the assembler when they are invoked. See HELP LIBRARY COMPRESS for information on compressing entire libraries. 2 SQUEEZE #COMPRESS 2 COMPRESS LIBRARY/COMPRESS[:arg][/qualifier[s]] libspec [newlibspec] /GLOBAL:n /MODULES:n /BLOCKS:n The LIBRARY/COMPRESS command physically deletes all logically deleted records, putting all free space at the end of the file, and making the free space available for new library module inserts. Additionally, the library table specification can be altered for the resulting library. You can specify a new filename for the compressed library. If you do not, a new version of the library with the same name is created. You should not confuse compressing with squeezing. There is also a /SQUEEZE qualifier to LIBRARY/CREATE, LIBRARY/INSERT, and LIBRARY/REPLACE. See also HELP LIBRARY operation SQUEEZE. 3 EPT #GLOBAL 3 GLOBAL LIBRARY/COMPRESS/GLOBAL:n libspec [newlibspec] The /GLOBAL qualifier specifies the number of entry point table (EPT) entries to allocate. The default number is the number of EPTs in the old library file. The number of entry points is always forced to zero for macro libraries. 3 MNT #MODULES 3 MODULES LIBRARY/COMPRESS/MODULES:n libspec [newlibspec] The /MODULES qualifier specifies the number of module name table (MNT) entries to allocate. The default value is the number of MNTs in the old library file. The maximum number of entries is 4096. 3 SIZE #BLOCKS 3 BLOCKS LIBRARY/COMPRESS/BLOCKS:n libspec [newlibspec] The /BLOCKS qualifier specifies the size of the library in 256-word blocks. The default size is the size of the old library file.