 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.
