The Get Logical Unit Number routine allocates one logical unit
    number from a processwide pool. If a unit is available, its
    number is returned to the caller. Otherwise, an error is returned
    as the function value.
    Format
      LIB$GET_LUN  logical-unit-number
1 – Returns
    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value
2 – Argument
 logical-unit-number
    OpenVMS usage:longword_signed
    type:         longword integer (signed)
    access:       write only
    mechanism:    by reference
    Allocated logical unit number or -1 if none was available. The
    logical-unit-number argument is the address of a longword into
    which LIB$GET_LUN returns the value of the allocated logical
    unit. LIB$GET_LUN can allocate logical unit numbers 100 through
    119 on VAX, and 100 through 299 on Alpha and I64.