A common requirement is for program modules written by several authors
to be merged into a complete program. Frequently such modules read and/or write
to discfiles etc. UIPACK contains a mechanism whereby such modules may
allocate themselves an ``unused" Logical Unit Number for such activity, thus
avoiding conflicts with the other modules. When the file has been closed the
Logical Unit Number may be returned to the free pool again.
UIPACK uses Logical Unit Numbers in the range 1-99 for this management, where
Units 5 and 6 are setup by default as being already allocated. Note that this
range does not conflict with the Logical Unit Managment Subprograms within the
VAX/VMS Run-Time Library (LIB$GET_LUN and LIB$FREE_LUN) and that the UIPACK
Subprograms and these VAX/VMS specific may be used simultaneously within
an Application Program designed to function only within this environment.
Logical Unit Management facilities are described in detail in Chapter 12.