HELPLIB.HLB  —  FDL Routines, FDL$RELEASE
    The FDL$RELEASE routine deallocates the virtual memory used by
    the OpenVMS RMS control blocks created by FDL$PARSE. You must
    use FDL$PARSE to populate the control blocks if you plan to
    deallocate memory later with FDL$RELEASE.

    Format

      FDL$RELEASE  [fab_pointer] [,rab_pointer] [,flags]

                   [,badblk_addr]

1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

    Longword condition value. Most utility routines return a
    condition value in R0. Condition values that this routine can
    return are listed under Condition Values Returned.

2  –  Arguments

 fab_pointer

    OpenVMS usage:address
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    File access block (FAB) to be deallocated using the LIB$FREE_VM
    routine. The fab_pointer argument is the address of a longword
    containing the address of the FAB. The FAB must be the same one
    returned by the FDL$PARSE routine. Any name blocks (NAMs) and
    extended attribute blocks (XABs) connected to the FAB are also
    released.

    If you omit this argument or specify it as zero, the FAB (and any
    associated NAMs and XABs) is not released.

 rab_pointer

    OpenVMS usage:address
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    Record access block (RAB) to be deallocated using the LIB$FREE_
    VM system service. The rab_pointer argument is the address of a
    longword containing the address of the RAB. The address of the
    RAB must be the same one returned by the FDL$PARSE routine. Any
    XABs connected to the RAB are also released.

    If you omit this argument or specify it as zero, the RAB (and any
    associated XABs) is not released.

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    Flag (or mask) that controls how errors are signaled. The flags
    argument is the address of a longword containing the control flag
    (or a mask). If you omit this argument or specify it as zero, no
    flag is set. The flag is defined as follows:

    FDL$V_       Signals any error. By default, the status code is
    SIGNAL       returned to the calling image.
    FDL$V_LONG_  Deallocates any virtual memory used for a long
    NAMES        name access block (NAML) created by the FDL$PARSE
                 routine.

                 This flag is valid for OpenVMS Alpha only.

 badblk_addr

    OpenVMS usage:address
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference
    Address of an invalid RMS control block. The badblk_addr argument
    is the address of a longword that receives the address of an
    invalid control block. If an invalid control block (a fatal
    error) is detected, this argument is returned; otherwise, it
    is ignored.

3  –  Condition Values Returned

    SS$_NORMAL         Normal successful completion.
    FDL$_INVBLK        Invalid RMS control block at virtual address
                       'hex-offset'.
    LIB$_BADBLOADR     Bad block address.
    RMS$_ACT           File activity precludes operation.
    RMS$_RNL           Record not locked.
    RMS$_RSA           Record stream currently active.
    SS$_ACCVIO         Access violation.
Close Help